Favicon of mcp-proxy

mcp-proxy

An open-source MCP proxy that connects stdio clients to SSE or Streamable HTTP servers and exposes local MCP servers over HTTP. MIT licensed; supports Docker.

mcp-proxy is a self-hosted tool for connecting AI clients and MCP servers that use different connection types. It's for developers who need a stdio client, such as Claude Desktop, to reach an SSE or Streamable HTTP server, or who want remote clients to access a local stdio server. The proxy runs on your own machine or server.

It works in both directions. A desktop client can communicate through the proxy with a remote MCP service, while a local MCP server can become accessible over HTTP without changing its own stdio interface. Requests to a remote service go to that service; running the proxy locally doesn't keep those requests on your machine.

One proxy can expose multiple named MCP servers, each at a separate URL. That makes it useful for a self-hosted setup with several tools, rather than a separate proxy for every server. It also supports bearer tokens and OAuth2 authentication when connecting to remote services, plus controls for which browser origins can access its server endpoints. Streamable HTTP connections can use stateless mode.

The project is open source under the MIT license and written in Python. It runs on macOS, Windows and Linux, with Docker images available for Linux on AMD64 and ARM64. Compatible server examples include mcp-server-fetch and @modelcontextprotocol/server-github.

Similar to mcp-proxy