github mcp http代理
HTTP → GitHub MCP服务器的stdio桥
______________________________________________________________________
什么是GitHub MCP服务器?
GitHub的 模型上下文协议(MCP)服务器 是一个轻量级的服务器,它公开了基于JSON的工具操作(如 create_repository, create_branch, create_or_update_file等等)。
默认情况下,官方GitHub MCP服务器只运行 标准输入输出--这意味着它通过标准输入/输出管道读取/写入JSON。\ 这适用于 本地CLI工具或代理,但对于GUI、web应用程序或网络客户端来说很不方便。
______________________________________________________________________
这个项目增加了什么
此回购捆绑了:
- 官方的
github-mcp-server(仅支持stdio的服务器) - HTTP代理网桥 生成MCP服务器并通过简单的HTTP端点公开它(
/call)
因此,您现在可以直接执行以下操作,而不是处理stdio: curl-X POSThttp://localhost:8080/call-d@payload.json
文本
______________________________________________________________________
运作原理
- 这
http-proxy二进制文件运行本地HTTP服务器(默认值:0.0.0.0:8080). - 在每次请求时,它都会生成
github-mcp-server在stdio模式下,通过管道传入请求,并通过HTTP返回响应。
______________________________________________________________________
在本地构建和运行
1.克隆仓库 克隆https://github.com//github-mcp-http-proxy.git cd github mcp http代理
文本
2.初始化Go模块 go mod初始化github//github mcp http代理
文本 跟踪构建的依赖关系。
3.构建MCP服务器
- *视窗*
go build -o github-mcpserver.exe ./cmd/github-mcp-server- *Linux/macOS*
go build -o github-mcpserver ./cmd/github-mcp-server这编译了官方的stdio MCP服务器。
4.构建HTTP代理
- *视窗*
go build -o http-proxy.exe ./cmd/http-proxy- *Linux/macOS*
go build -o http-proxy ./cmd/http-proxy这将构建HTTP→ stdio桥。
5.运行代理(生成MCP服务器)
- *视窗*
.\http-proxy.exe --addr="0.0.0.0:8080" --server-cmd ".\github-mcpserver.exe stdio" --timeout=30- *Linux/macOS*
./http-proxy --addr="0.0.0.0:8080" --server-cmd "./github-mcpserver stdio" --timeout=30旗帜说明:
--addr=0.0.0.0:8080→ HTTP服务器绑定地址--server-cmd "./github-mcpserver stdio"→ 代理如何启动MCP stdio服务器--timeout=30→ 每个请求超时(秒)
______________________________________________________________________
Docker设置
A. Dockerfile 包括构建二进制文件和运行HTTP代理的程序。
构建图像 docker build-t github mcp http代理:最新。
文本
运行容器 docker运行-p 8080:8080 -e礼品_个人资料_访问_令牌=“${礼品_个人信息_访问\_ cookie}” github mcp http代理:最新
文本 现在可以在以下位置访问服务器:\ http://localhost:8080/call
______________________________________________________________________
JSON有效载荷示例
创建存储库
examples/create_repo.json: { “tool”:“create_repository”, “论点”:{ “name”:“我的你好java”, “description”:“通过MCP HTTP网桥导入”, “private”:false, “autoInit”:true } }
文本 运行: curl-X POSThttp://localhost:8080/call -H“内容类型:应用程序/json” -d@examples/create_repo.json
文本
创建分支
{ “工具”:“create_branch”, “论点”:{ “owner”:“您的用户名”, “repo”:“我的你好java”, “分支”:“特征-1”, “base_branch”:“main” } }
文本
创建/更新文件
{ “工具”:“create_or_update_file”, “论点”:{ “owner”:“您的用户名”, “repo”:“我的你好java”, “分支”:“主”, “path”:“README.md”, “消息”:“添加README”, “内容”:“SGVsbG8gV29ybGQh” } }
文本 *(内容为base64,表示“Hello World!”)*
多文件提交
{ “工具”:“multi_file”, “论点”:{ “owner”:“您的用户名”, “repo”:“我的你好java”, “分支”:“主”, “commit_message”:“添加项目文件”, “文件”:\[ {“path”:“pom.xml”,“content”:“…”}, {“路径”:“src/main/java/com/example/App.java”,“内容”:“…”} \] } }
文本 :警告: *注意:某些MCP版本可能不支持 multi_file 开箱即用。如果你看到 tool 'multi_file' not found,要么修补MCP以添加它,要么回退到多个 create_or_update_file 电话。*
______________________________________________________________________
为什么这很重要
这座简单的桥把 stdio-only GitHub MCP服务器转换为HTTP API 你可以打电话给 curl、Postman或任何客户端库.
它解锁了与的轻松集成 自动化脚本、CI/CD、仪表板和任何支持HTTP的服务.
______________________________________________________________________
