使用说明
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通信。
参考
- 上游: GitHub/GitHub-MCP-Server(注:MCP可能指“Minecraft: Pocket Edition”或相关服务器项目,但具体含义需根据上下文确定)
- 基础镜像:
ghcr.io/github/github-mcp-server:latest
