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)
- 启动HTTP/SSE MCP服务器(默认设置为
http://127.0.0.1:8082/sse). - 将桥添加到
.cursor/mcp.json:
{
"mcpServers": {
"my-upstream": {
"command": "npx",
"args": ["mcp-sse-bridge"],
"env": {
"BRIDGE_URL": "http://localhost:8082"
}
}
}
}- 重新启动游标;它将自动生成网桥。
替代配置
// 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请求。
运作原理
- 从env变量读取配置并构建SSE端点URL。
- 打开EventSource连接(带有可选标头)并实例化MCP客户端传输。
- 探测上游服务器的工具、资源和提示,以了解其功能。
- 启动一个stdio MCP服务器,该服务器镜像这些功能并将其连接到父进程。
- 将每个MCP请求(工具调用、资源读取、提示)向上游转发,并通过stdio流式传输响应。
- 如果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) - 欢迎投稿——如果你需要其他运输或功能,可以打开一个问题或公关。
许可证
麻省理工学院©吴逸芬
