MCP协议代理服务

一个轻量级代理服务器,用于将MCP stdio协议转发到可流式传输的HTTP MCP服务器,并支持自动重新连接。

  • by zjh7890
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 zjh7890/mcp-ha-proxy

使用说明

mcp-ha代理

一个轻量级的代理服务器,它将MCP stdio协议转发到支持自动重新连接的流式HTTP MCP服务器。

特性

  • 🔄 自动重新连接:连接失败时自动重新连接到上游MCP服务器
  • 📡 协议网桥:将stdio MCP转换为可流式传输的HTTP MCP
  • 🪶 轻量级:最少的依赖性,单一目的
  • 🚀 易于使用:使用npx运行,无需安装
  • 📝 可选日志记录:需要时启用详细日志

安装

无需安装!与npx一起使用:

npx mcp-ha-proxy --url http://localhost:3000

或全局安装:

npm install -g mcp-ha-proxy
mcp-ha-proxy --url http://localhost:3000

用法

基本用法

npx mcp-ha-proxy --url http://localhost:3000

具有自定义超时

npx mcp-ha-proxy --url http://localhost:3000 --timeout 60000

使用日志记录

npx mcp-ha-proxy --url http://localhost:3000 --log-path ./logs/mcp.log

命令行选项

选项 说明 必填 默认
--url <url> 上游MCP服务器URL 是 -
--timeout <ms> 请求超时(毫秒) 否 120000(2分钟)
--log-path <path> 日志文件路径(如果未设置,则禁用日志记录) 否 -
--help, -h 显示帮助消息 否 -

用例

作为光标MCP配置

添加到光标MCP配置(~/.cursor/mcp.json 或工作空间配置):

{
  "mcpServers": {
    "my-remote-mcp": {
      "command": "npx",
      "args": [
        "mcp-ha-proxy",
        "--url",
        "http://localhost:3000"
      ]
    }
  }
}

代理远程MCP服务器

npx mcp-ha-proxy --url https://my-mcp-server.example.com

测井开发

npx mcp-ha-proxy \
  --url http://localhost:3000 \
  --timeout 30000 \
  --log-path ./logs/debug.log

运作原理

┌─────────────┐         ┌──────────────┐         ┌─────────────────┐
│   Cursor    │ stdio   │ mcp-ha-proxy │  HTTP   │  Upstream MCP   │
│     or      │◄───────►│   (stdio)    │◄───────►│     Server      │
│  MCP Client │         │              │         │  (streamable)   │
└─────────────┘         └──────────────┘         └─────────────────┘
  1. 通过标准输入/输出接受MCP协议
  2. 将所有请求转发到上游HTTP MCP服务器
  3. 通过自动重新连接处理连接失败
  4. 通过stdio返回响应

需求

  • Node.js>=18.0.0

许可证

麻省理工学院

贡献

欢迎问题和拉取请求!

相关