使用说明
mcp stdio代理
用于模型上下文协议(MCP)的最小stdio到流式HTTP代理。
目的
此代理弥合了基于stdio的MCP客户端(如Claude Code)和可流式HTTP MCP服务器(如MCP-hub)之间的差距。它透明地处理协议转换。
建筑
Claude Code (stdio) → mcp-stdio-proxy → mcp-hub (Streamable HTTP) → Backend MCP Servers
特性
- 最小化:单个二进制文件,不需要配置文件
- 符合协议:实现MCP 2025-03-26可流式HTTP规范
- 会话管理:自动处理Mcp会话Id标头
- 智能自动发现:自动查找项目本地mcp中心实例并确定其优先级
- 快速:基于Go的、低延迟、最小内存占用
安装
快速安装(推荐)
cd ~/projects/go/mcp-stdio-proxy
make # Build and install to ~/bin (or /usr/local/bin if root)
手动构建
cd ~/projects/go/mcp-stdio-proxy
go build -o mcp-stdio-proxy
生成文件目标
make或make all-构建和安装(默认)make build-仅构建二进制文件make install-安装到~/bin(用户)或/usr/local/bin(根)make lint-跑步门楣(fmt、兽医、golangci lint)make test-运行测试make clean-删除构建工件make help-显示可用目标
用法
# Basic usage with explicit URL
./mcp-stdio-proxy http://localhost:37373/mcp
# Auto-discover local mcp-hub port (recommended!)
./mcp-stdio-proxy --mcp-hub
# With custom timeout (default: 120 seconds)
./mcp-stdio-proxy --timeout 300 http://localhost:37373/mcp
# With debug logging
./mcp-stdio-proxy --debug http://localhost:37373/mcp
./mcp-stdio-proxy --mcp-hub --debug
# Get help
./mcp-stdio-proxy --help
# Use with Claude Code in .claude.json
{
"mcpServers": {
"hub": {
"command": "/path/to/mcp-stdio-proxy",
"args": ["--mcp-hub"]
}
}
}
# Or with explicit URL
{
"mcpServers": {
"hub": {
"command": "/path/to/mcp-stdio-proxy",
"args": ["http://localhost:37373/mcp"]
}
}
}
# Enable debug logging in Claude Code
{
"mcpServers": {
"hub": {
"command": "/path/to/mcp-stdio-proxy",
"args": ["--mcp-hub", "--debug"]
}
}
}
选项
--mcp-hub-自动发现本地mcp集线器端口(无需URL!)--timeout-HTTP请求超时(秒)(默认值:120)--debug/-v/--verbose-启用stderr的调试日志记录--help/-h-显示帮助消息
端口自动发现
这 --mcp-hub flag会自动查找本地计算机上运行的mcp-hub:
- 进程列表搜索:扫描
mcp-hub加工和提取--port论点 - 智能优先级:当发现多个mcp-hub实例时,优先考虑项目本地配置
- 网络套接字回退:用途
ss或netstat查找侦听端口
这消除了手动跟踪mcp-hub在哪个端口上运行的需要,在mcp-hub动态选择端口时尤其有用。
智能实例选择
当多个mcp-hub实例正在运行时,代理会智能地选择最相关的一个:
优先级逻辑:
- ✅ 更喜欢项目本地配置 全球
~/.mcp-hub/配置 - ✅ 按距离得分 到当前工作目录
- ✅ 家长目录奖励 -支持父目录中的配置(典型的项目结构)
- ✅ 显示评分详细信息 随着
--debug旗帜
示例场景:
# Two mcp-hub instances running:
# 1. Port 37373 - global config: ~/.mcp-hub/config.json
# 2. Port 40808 - project config: ~/myproject/.mcphub/servers.json
# When running from ~/myproject/src/
./mcp-stdio-proxy --mcp-hub --debug
# Output (debug mode):
# [DISCOVERY] Instance scoring:
# Instance 1 (port 40808): score=500 - project-local config
# Instance 2 (port 37373): score=0 - global config only
# [DISCOVERY] Selected instance with port 40808
这允许在项目之间无缝切换-代理根据您当前的目录自动连接到特定于项目的mcp-hub实例。
流程可见性
使用时 --mcp-hub 模式下,代理使用丰富的参数重新执行自身,使连接详细信息在中可见 ps 输出:
# User runs:
./mcp-stdio-proxy --mcp-hub
# After auto-discovery, appears in ps as:
./mcp-stdio-proxy --mcp-hub-config /path/to/.mcphub/servers.json http://localhost:40808/mcp
优点:
- ✅ 易于识别 每个代理连接到哪个mcp集线器实例
- ✅ 请参阅配置路径 了解正在使用哪个项目的配置
- ✅ 调试多实例设置 随着
ps aux | grep mcp-stdio-proxy
示例 ps 输出:
$ ps aux | grep mcp-stdio-proxy
user 12345 ./mcp-stdio-proxy --mcp-hub-config ~/.mcp-hub/config.json http://localhost:37373/mcp
user 12346 ./mcp-stdio-proxy --mcp-hub-config ~/project/.mcphub/servers.json http://localhost:40808/mcp
user 12347 ./mcp-stdio-proxy http://localhost:9999/mcp
调试日志记录也可以通过环境变量启用:
DEBUG=1 ./mcp-stdio-proxy http://localhost:37373/mcp
DEBUG=1 ./mcp-stdio-proxy --mcp-hub
需求
- 转到1.21或更高版本
- 使用流式HTTP传输运行MCP服务器
兼容性
支持的服务器
✅ 符合MCP规范的服务器
- 任何服务器实现 MCP 2025-03-26可流式HTTP
- 具有SSE或JSON响应的单个POST端点
- 会话管理通过
Mcp-Session-Id头球
mcp集线器兼容性
⚠️ mcp-hub v4.2.1(当前版本)
- 目前 不支持 (使用非标准运输)
- mcp-hub使用自定义的两端点SSE模式(GET/mcp+POST/messages)
- 看 docs/MCP-HUB-QUIRKS.md 了解技术细节
🎉 mcp-hub(即将推出-PR#128合并后)
- 将得到全力支持 无需更改代理!
- 产品编号128 添加了标准的Streamable HTTP支持
- 与传统SSE传输向后兼容
- 发布时升级mcp-hub:
npm install -g @ravitemer/mcp-hub@latest
使用带有mcp-hub PR#128的代理(测试)
如果你想在正式发布之前进行测试:
# Clone and checkout PR branch
cd ~/git/mcp-hub
git fetch origin pull/128/head:pr-128
git checkout pr-128
npm install
npm start
# Then use proxy as normal (no special flags needed!)
./mcp-stdio-proxy http://localhost:37373/mcp
时间线
- 现在:适用于符合MCP规范的服务器
- 等待:PR#128合并(增加mcp-hub兼容性)
- 合并后:与mcp集线器开箱即用
- 第四阶段已取消:
--mcp-hub-mode不再需要标志(节省4-6小时的开发时间)
文档
- 产品需求文档 -产品需求文件(包括第4阶段计划)
- 进展 -实施进展和决定
- MCP-HUB-QUIRKS -mcp集线器兼容性分析
- MCP规范
许可证
麻省理工学院