HTTP包装器

GitHub MCP Server的HTTP包装器,为其添加HTTP接口以便部署为标准HTTP服务。

  • by NimbleBrainInc
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 NimbleBrainInc/mcp-github

使用说明

GitHub MCP 服务器 - HTTP 封装器

一个极简的HTTP封装器用于 GitHub官方的MCP服务器。

为何存在此现象

GitHub的MCP服务器以仅包含stdio的OCI容器形式分发。这个包装器添加了一个HTTP接口,因此它可以被部署为标准的HTTP服务。

应用KISS原则:

  • 单个Python文件(105行)
  • 没有复杂的依赖关系
  • 多阶段Docker构建从无发行版基础镜像中提取二进制文件
  • 干净的子进程管理

快速入门

# Build
make build

# Run locally
make run GITHUB_TOKEN=your_token_here

# Test
curl http://localhost:8000/health

终点(或“终点指标”)

  • GET /health - 健康检查
  • POST /mcp - JSON-RPC MCP 协议端点

环境变量

  • GITHUB_PERSONAL_ACCESS_TOKEN - 访问GitHub API所需
  • MCP_SERVER_COMMAND - 服务器命令(默认: github-mcp-server stdio)
  • PORT - HTTP 端口(默认: 8000)

构建与部署

# Build multi-arch and push to registry
make build-push IMAGE_NAME=your-registry/github-mcp-http VERSION=v1.0.0

# Login to registry first
make login

它是如何工作的

HTTP Request → FastAPI → subprocess (stdio) → GitHub MCP Server

该包装器将原始的stdio服务器作为子进程启动,并将HTTP请求转换为stdin/stdout JSON-RPC通信。

参考