mcp-proxy
活跃·★ 2.8k·更新于 2026-10-10
★ 时下流行★ 必备神器
mcp-proxy 用来在 MCP 服务的传输方式之间切换,有两种模式。第一种作为 stdio 服务运行,把请求转发给远程的 SSE 或 streamable HTTP 服务,这样 Claude Desktop 等只认 stdio 的客户端也能使用远程服务;传入服务的 SSE 地址即可,如果对方用 streamable HTTP,要加 `--transport=streamablehttp`。第二种是接管本地的 stdio 服务,通过 SSE 或 streamable HTTP 对外暴露,让远程客户端可以访问。
在服务端模式下,它可以同时托管多个 stdio 服务,称为命名服务:用 `--named-server NAME 'uvx mcp-server-fetch'`,或使用常见的 `mcpServers` 格式的 JSON 文件,每个服务挂在 `/servers/NAME/` 下,另有 `/status` 端点查看整体状态。可以从 PyPI 用 `uv tool install mcp-proxy` 或 pipx 安装,也可以从 GitHub 仓库安装最新版,或使用容器镜像(ghcr.io/sparfenyuk/mcp-proxy);README 里有 Docker Compose 配置和扩展容器镜像的说明。排错提示里说,如果 Claude Desktop 启动不了,要改用二进制的完整路径。
#代理#传输层#MCP协议#服务器发送事件#可流式HTTP
01
功能特性
01将stdio客户端代理到远程SSE/Streamable HTTP服务器。
02将本地stdio服务器作为远程SSE端点暴露。
03通过命名服务器配置管理多个基于stdio的MCP服务器。
04为客户端连接集成OAuth2认证。
05可配置传输类型、头部、主机/端口和CORS设置。
02
为什么选择它
+解决了常见问题:让只支持 stdio 的客户端使用远程 SSE 或 streamable HTTP 服务,反过来也可以
+一个进程里可托管多个命名服务,用熟悉的 `mcpServers` JSON 文件配置
+可用 uv 或 pipx 从 PyPI 安装,也可以作为容器运行,并有 Docker Compose 示例
+体量小,功能单一
03
权衡点
!把本地 stdio 服务暴露到网络上,需要自己做访问控制,README 讲的是传输转换而不是认证
!现在很多 MCP 客户端和服务已原生支持远程传输,你可能不再需要代理
!在整个 MCP 生态里,SSE 正在被 streamable HTTP 取代,要先确认自己的服务用的是哪一种
!README 以命令行参数表为主,端到端的完整示例不多
04
兼容性
Claude Desktop
支持
已通过文档验证
Model Context Protocol
原生
已通过文档验证
Remote SSE/Streamable HTTP MCP Servers
支持
已通过文档验证
Local stdio MCP Servers
支持
已通过文档验证
05
快速开始
1
$ uv tool install mcp-proxy
06
使用场景
↳使仅支持stdio的客户端(例如Claude Desktop)能够连接到远程SSE/Streamable HTTP服务器。
↳允许远程LLM客户端通过SSE接口访问本地基于stdio的MCP服务器。
↳通过单一实例下的命名代理端点整合和管理多个独立的stdio MCP服务器。
07
同类工具
收录于以下清单
评论
登录后发表评论
暂无评论,来发表第一条吧