sparfenyuk/mcp-proxy

A bridge between Streamable HTTP and stdio MCP transports

它解决了什么问题

mcp-proxy 允许用户为 Model Context Protocol (MCP) 切换不同的服务器传输方法。它特别解决了使用不同通信协议的 MCP 客户端和服务器之间不兼容的问题,例如当客户端仅支持标准输入/输出 (stdio) 但需要连接到使用 Server-Sent Events (SSE) 或 Streamable HTTP 的远程服务器时。

它的运作方式

此工具以两种主要模式运作:

  1. stdio 到 SSE/StreamableHTTP:它作为本地桥接器。MCP 客户端(例如 Claude Desktop)通过 stdio 与 mcp-proxy 通信,而代理则将这些请求通过 SSE 或 Streamable HTTP 转发到远程 MCP 服务器。
  2. SSE 到 stdio:它作为服务器。它开启一个网络端口来监听来自 LLM 客户端的 SSE 请求,然后启动一个本地的基于 stdio 的 MCP 服务器来处理这些请求。

它还支持「命名服务器」,允许单个代理实例根据 URL 路径管理和路由请求到多个不同的 stdio 服务器。

适用对象

需要连接到远程 MCP 服务器或将本地 MCP 服务器暴露给远程客户端的 MCP 兼容 LLM 客户端的开发者和用户,无论原生支持哪种传输协议。

重点特色

  • 双向传输转换:无缝地在 stdio 和 SSE/Streamable HTTP 之间进行转换。
  • 灵活的验证:支持各种验证方法,包括 OAuth2、基本验证、摘要验证和自定义标头。
  • 命名服务器路由:可以使用配置文件或 CLI 参数在单个 SSE 端点后面托管多个 stdio 服务器。
  • CORS 支持:包含允许特定来源和为 SSE 服务器暴露自定义标头的选项。
  • 容器化部署:提供 Docker 镜像,以便更轻松地设置和扩展。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch