如果我把 Go 写的 MCP Server 放在 GitHub,怎样让用户安装/运行它更方便?
🚀 方式 1:go install
(面向 Go 开发者)
如果使用者本身就是 Go 开发者,最方便的方式是:
go install github.com/you/your-mcp-server@latest
- 优点:直接装到
$GOBIN
,随时可执行; - 缺点:要求用户装 Go,且必须会用
go install
。
🚀 方式 2:GitHub Releases + 手动下载
你在 GitHub 上的 Releases 页面上传编译好的二进制(Linux/macOS/Windows)。
用户可以直接下载:
curl -L https://github.com/you/your-mcp-server/releases/latest/download/mcp-server-linux-amd64 -o mcp-server
chmod +x mcp-server
./mcp-server
- 优点:对最终用户友好,不需要 Go 环境;
- 缺点:用户需要记住下载地址。
🚀 方式 3:GitHub Releases + 自动安装脚本
你写一个 install.sh
放到仓库里,自动检测平台并下载对应的二进制:
curl -fsSL https://raw.githubusercontent.com/you/your-mcp-server/main/install.sh | bash
典型流程:
- 脚本检测系统(Linux/macOS/Windows)。
- 从 GitHub Releases 下载对应的压缩包。
- 解压到
/usr/local/bin/
或用户的~/.local/bin/
。
- 优点:一条命令搞定,用户体验好;
- 缺点:要维护 install 脚本。
🚀 方式 4:封装一个 npm 包(配合 npx)
如果你希望像 npx prisma
、npx esbuild
那样,
你可以写一个很小的 Node.js npm 包,逻辑是:
- 判断用户平台;
- 从 GitHub Releases 下载二进制;
- 解压并执行。
这样用户就能直接运行:
npx mcp-server
- 优点:跨平台、体验好;
- 缺点:要维护一个 npm 包,但其实只要几十行 JS 脚本。
🚀 方式 5:Homebrew(适合 macOS/Linux)
如果你的用户群在 macOS/Linux,可以写一个 Homebrew Tap:
brew install you/tap/mcp-server
- 优点:体验好,用户熟悉;
- 缺点:要维护 brew formula。
推荐组合
如果你目标是「让任何人都能装」,我建议这样:
- GitHub Actions 自动打包二进制 → GitHub Releases
- 提供 install.sh 脚本(curl 一键安装)
- 额外封装一个 npm 包(供
npx
用户使用)
这样三层覆盖,既能照顾 Go 开发者、也能照顾终端用户,还能照顾前端工程师。