sparfenyuk/mcp-proxy
A bridge between Streamable HTTP and stdio MCP transports
解決的問題
mcp-proxy 允許使用者在 Model Context Protocol (MCP) 的不同伺服器傳輸協定之間切換。它特別解決了客戶端與伺服器使用不同通訊方式時的相容性問題,例如當客戶端僅支援 stdio,卻需要連接到使用 SSE(Server-Sent Events)或 StreamableHTTP 的遠端伺服器時。
工作原理
此工具主要以兩種模式運作:
- stdio 到 SSE/StreamableHTTP:作為本地橋接。客戶端(如 Claude Desktop)透過 stdio 與代理通訊,代理將這些請求透過 SSE 或 StreamableHTTP 轉發至遠端 MCP 伺服器。
- SSE 到 stdio:作為伺服器運作。代理開啟一個網路埠,監聽來自遠端 LLM 客戶端的 SSE 請求,然後啟動一個本地的 stdio 基礎 MCP 伺服器來處理這些請求。
它也支援「命名伺服器」功能,允許單一代理實例根據 URL 路徑管理並路由請求至多個不同的 stdio 伺服器。
適用對象
需要連接遠端伺服器或將本地工具暴露給遠端客戶端的 MCP 相容 LLM 客戶端開發者與使用者,特別適用於客戶端或伺服器的原生傳輸支援有限的情況。
主要亮點
- 雙向傳輸切換:同時支援 stdio → SSE/StreamableHTTP 與 SSE → stdio。
- 命名伺服器路由:可在不同 URL 路徑下(例如
/servers/fetch/sse)主機多個 stdio 伺服器。 - 認證支援:內建 OAuth2(用戶端 ID、密鑰、令牌 URL)與自訂 HTTP 標頭選項,用於遠端連線。
- 彈性部署:可透過 PyPI、GitHub 或多平台 Docker 容器取得。
- CORS 設定:在 SSE 伺服器模式下,可指定允許的來源與暴露的標頭。
相關
- 專案
- 專案
- 專案
- 專案
- Dispatch