mcp-proxy is a Python-based bridge between Streamable HTTP and stdio MCP transports, with 2698 stars and MIT license. It provides two modes (stdio to SSE/StreamableHTTP and SSE to stdio) and multiple configuration options for transport, headers, and named servers.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
mcp-proxy is a bridge between Streamable HTTP and stdio MCP transports, implemented in Python and licensed under MIT. It supports two modes: stdio to SSE/StreamableHTTP and SSE to stdio, enabling clients like Claude Desktop to communicate to a remote MCP server over SSE when not natively supported.
How it works
The tool operates as a proxy between MCP transports. In stdio to SSE/StreamableHTTP mode, it connects to a remote MCP Server's SSE endpoint, optionally enforcing Streamable HTTP transport with --transport=streamablehttp. In SSE to stdio mode, it spawns a local stdio MCP server behind an SSE proxy, listening on a port and host, and passes environment variables and arguments to the local server. Named servers allow multiple server definitions with a JSON configuration; transport type is implicitly stdio for named servers. The README includes examples showing how to configure and start servers.
Getting started
Installation options include:
- "uv tool install mcp-proxy" (Option 1: With uv, recommended)
- "pipx install mcp-proxy" (Option 2: With pipx, alternative)
- Installation from Github: "uv tool install git+https://github.com/sparfenyuk/mcp-proxy"
- Container usage examples: running docker images for v0.12.0
Example usage sections demonstrate starting the proxy behind a local MCP server, or exposing a local stdio server via SSE with a configured port and host.
Recent releases
Latest releases include:
- v0.12.0 (2026-05-14): build(deps) bump actions group across 1 directory with 3 updates by @dependabot[bot]; partial bump of mcp dependency
- v0.11.0 (2026-01-15): build(deps) bump actions group across 1 directory with 3 updates by @dependabot[bot]; partial bump of mcp dependency
- v0.10.0 (2025-10-26): feat: disable SSL cert verification with --no-verify-ssl; fix: align /mcp streamable HTTP handling with python-sd
- v0.9.0 (2025-09-22): feat: add --log-level option; feat: docker image respects shutdown signals
- v0.8.2 (2025-07-05): fix: nonetype is not callable; feat: print version
Traction
Stars: 2698 Forks: 250 Open issues: 58
Behind the repo
GitHub: sparfenyuk/mcp-proxy License: MIT Language: Python Created: 2024-12-26 Last push: 2026-07-20 Topics: mcp, mcp-server, proxy, sse, streamable-http
Caveats
License: MIT Age: Created 2024-12-26; last push 2026-07-20 Notable configuration notes:
- The README mentions --transport accepting sse or streamablehttp, and --port, --host for the SSE proxy mode, as well as environment variables like API_ACCESS_TOKEN and --env for passing to the stdio server.
- The named-server feature uses a JSON config with fields including command, args, transportType, and timeout; transportType is described but noted that certain fields are ignored when loading named servers (transport type is implicitly "stdio").
- Troubleshooting guidance references using full paths to binaries when Claude Desktop cannot start the server.






