mcp远程py
最小化 MCP标准↔ 远程SSE Python中的代理。
这个项目是对核心思想的刻意小规模重新实现 mcp-remote:
- 本地侧:MCP over 工作室 (以换行符分隔的JSON/JSONL)
- 远程侧:MCP over 上海证券交易所 (通过SSE接收JSON-RPC
message活动) - 发送路径:远程提供
endpointSSE事件;后续客户→服务器消息通过以下方式发送 HTTP POST 到达该终点。
这是什么/不是什么
包含
- MCP JSON-RPC消息的双向代理
- 没有stdout污染(日志转到stderr)
- 可选自定义标题(
--header 'Name: value') - 有状态的HTTP支持:通过持久化处理FastMCP的“流式http”
mcp-session-id. - 协议版本劫持:透明地重写协议版本(例如,处理上的客户端
2025-06-18vs严格的服务器2025-11-25).
故意排除 (保持简单)
- OAuth/授权流程
- 令牌存储/刷新
- 多实例协调/锁文件
- 自动HTTP↔SSE回退(通过手动策略选择
--transport)
安装
选项A——“全局”安装 uv (推荐)
将用户范围的可执行文件安装到 ~/.local/bin (macOS/Linux)或 %USERPROFILE%\.local\bin (Windows)。
chmod +x ./*.sh
./install-global-uv.shWindows(CMD):
install-global-uv.cmd卸载:
./uninstall-global-uv.shWindows(CMD):
uninstall-global-uv.cmd如果你的shell找不到命令,请确保 ~/.local/bin 在你的 PATH.
选项B——开发安装(可编辑)
python -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -e .跑
mcp-remote-py http://127.0.0.1:8080/mcp运输策略(节点 mcp-remote类似于:
# default: http-first
mcp-remote-py http://127.0.0.1:8080/mcp --transport http-first
# force SSE-only (서버가 HTTP transport를 지원하지 않을 때)
mcp-remote-py http://127.0.0.1:8080/mcp --transport sse-only自定义标题:
mcp-remote-py http://127.0.0.1:8080/mcp \
--header 'Authorization: Bearer TOKEN'MCP客户端配置(复制/粘贴)
食品法典委员会(~/.codex/config.toml)
Codex希望TOML这样:
[mcp_servers.ida-remote]
command = "/Users//.local/bin/mcp-remote-py"
args = ["http://127.0.0.1:8080/mcp"]如果您是通过安装的 uv 进入 ~/.local/bin, command 通常为:
command = "/Users//.local/bin/mcp-remote-py"克劳德桌面(claude_desktop_config.json)
{
"mcpServers": {
"ida-remote": {
"command": "mcp-remote-py",
"args": ["http://127.0.0.1:8080/mcp"]
}
}
}光标(~/.cursor/mcp.json)
{
"mcpServers": {
"ida-remote": {
"command": "mcp-remote-py",
"args": ["http://127.0.0.1:8080/mcp"]
}
}
}风帆冲浪(~/.codeium/windsurf/mcp_config.json)
{
"mcpServers": {
"ida-remote": {
"command": "mcp-remote-py",
"args": ["http://127.0.0.1:8080/mcp"]
}
}
}故障排除
- 无任何工作/随机解析错误: 确保远程SSE服务器仅在默认情况下发出JSON-RPC
message活动。非协议事件被忽略。 - 看不到命令: 添加
~/.local/bin到PATH(macOS zsh:~/.zprofile是一个很好的默认值)。 - 日志: 所有日志都按设计进入stderr;stdout是为MCP协议保留的。
