SSE桥接工具

MCP SSE Bridge是一个将标准输入/输出转换为HTTP/SSE的转发工具,使任何MCP客户端能够与需要SSE握手的服务器通信。

  • by Anthonyeef
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Anthonyeef/mcp-sse-bridge

使用说明

MCP SSE桥

一个干净的stdio到HTTP/SSE中继,允许任何模型上下文协议(MCP)客户端与需要SSE握手的服务器通信。

Cursor CLI (stdio) ──▶ MCP SSE Bridge ──▶ Your HTTP/SSE MCP server

亮点

  • 通用翻译器 –适用于任何HTTP/SSE MCP服务器(Kotlin、Python、Go等)
  • 访问stdio客户端 –游标或任何MCP stdio主机都可以生成它
  • 智能功能镜像 –准确宣传服务器公开的工具/资源/提示
  • 基于标头的身份验证 –通过JSON头传递API令牌或Cookie
  • 自我修复 –通过指数回退自动重新连接

安装

# Global install (recommended)
npm install -g mcp-sse-bridge

# One-off run
npx mcp-sse-bridge

# Local development
git clone https://github.com/Anthonyeef/mcp-sse-bridge.git
cd mcp-sse-bridge
npm install

快速入门(Cursor CLI)

  1. 启动HTTP/SSE MCP服务器(默认设置为 http://127.0.0.1:8082/sse).
  2. 将桥添加到 .cursor/mcp.json:
    {
      "mcpServers": {
        "my-upstream": {
          "command": "npx",
          "args": ["mcp-sse-bridge"],
          "env": {
            "BRIDGE_URL": "http://localhost:8082"
          }
        }
      }
    }
    
  3. 重新启动游标;它将自动生成网桥。

替代配置

// Custom SSE path + auth header
{
  "command": "npx",
  "args": ["mcp-sse-bridge"],
  "env": {
    "BRIDGE_URL": "https://api.example.com",
    "BRIDGE_SSE_PATH": "/mcp/events",
    "BRIDGE_HEADERS": "{\"Authorization\":\"Bearer sk_live\"}"
  }
}

配置

环境变量 默认值 目的
BRIDGE_URL http://127.0.0.1:8082 上游MCP服务器的基本URL
BRIDGE_SSE_PATH /sse SSE端点附加到 BRIDGE_URL
BRIDGE_HEADERS 取消设置 JSON标头字符串(例如auth)
BRIDGE_NAME mcp-sse-bridge 向上游服务器报告身份
BRIDGE_VERSION 1.0.0 上游报告的版本

Node.js≥18是必需的。所有日志记录都会进入stderr;成功的操作通过设计保持安静。

手动测试线束

# Terminal 1
YOUR_SERVER_CMD --port 8082

# Terminal 2
BRIDGE_URL=http://127.0.0.1:8082 node index.js

预期日志摘录:

[Relay Warning] Probing upstream capabilities...
[Relay Warning] Upstream capabilities: tools, resources, prompts

运行后,网桥等待来自Cursor或其他MCP客户端的stdio请求。

运作原理

  1. 从env变量读取配置并构建SSE端点URL。
  2. 打开EventSource连接(带有可选标头)并实例化MCP客户端传输。
  3. 探测上游服务器的工具、资源和提示,以了解其功能。
  4. 启动一个stdio MCP服务器,该服务器镜像这些功能并将其连接到父进程。
  5. 将每个MCP请求(工具调用、资源读取、提示)向上游转发,并通过stdio流式传输响应。
  6. 如果SSE连接关闭,则以指数回退(上限为30)安排重新连接 s) 同时向客户宣传停机时间。

故障排除

症状 修复
Failed to connect to upstream server 验证上游服务器是否正在运行, BRIDGE_URL/BRIDGE_SSE_PATH 正确,并且可以在浏览器中访问端点。
Upstream server is not available 上证综指下跌。检查上游日志;网桥将自动重试。
Cursor中没有工具/资源/提示 上游服务器可能无法实现这些端点,或者在探测过程中返回错误。请检查其日志并手动运行。
游标无法生成桥 确保 npx 位于Cursor的PATH上或通过全局安装 npm install -g mcp-sse-bridge.
缺少身份验证标头 确认 BRIDGE_HEADERS 是有效的JSON(双引号键和值)。

局限性

  • 每个桥接进程只有一个客户端。
  • 假设上游服务器在网桥之前启动。
  • 没有TLS证书验证覆盖——在本地使用系统信任或隧道。
  • 专为本地主机工作流设计;生产强化(身份验证刷新、多会话)由您决定。

发展

  • 主要实施: index.js
  • 脚本: npm start (过桥), npm test (别名为 npm start)
  • 欢迎投稿——如果你需要其他运输或功能,可以打开一个问题或公关。

许可证

麻省理工学院©吴逸芬