Loading

如果我把 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

典型流程:

  1. 脚本检测系统(Linux/macOS/Windows)。
  2. 从 GitHub Releases 下载对应的压缩包。
  3. 解压到 /usr/local/bin/ 或用户的 ~/.local/bin/
  • 优点:一条命令搞定,用户体验好;
  • 缺点:要维护 install 脚本。

🚀 方式 4:封装一个 npm 包(配合 npx)

如果你希望像 npx prismanpx esbuild 那样,
你可以写一个很小的 Node.js npm 包,逻辑是:

  1. 判断用户平台;
  2. 从 GitHub Releases 下载二进制;
  3. 解压并执行。

这样用户就能直接运行:

npx mcp-server
  • 优点:跨平台、体验好;
  • 缺点:要维护一个 npm 包,但其实只要几十行 JS 脚本。

🚀 方式 5:Homebrew(适合 macOS/Linux)

如果你的用户群在 macOS/Linux,可以写一个 Homebrew Tap:

brew install you/tap/mcp-server
  • 优点:体验好,用户熟悉;
  • 缺点:要维护 brew formula。

推荐组合

如果你目标是「让任何人都能装」,我建议这样:

  1. GitHub Actions 自动打包二进制 → GitHub Releases
  2. 提供 install.sh 脚本(curl 一键安装)
  3. 额外封装一个 npm 包(供 npx 用户使用)

这样三层覆盖,既能照顾 Go 开发者、也能照顾终端用户,还能照顾前端工程师。

posted @ 2025-08-25 15:07  老卫同学  阅读(3)  评论(0)    收藏  举报