mcp-proxy
A proxy between MCP transports: connects stdio clients to remote SSE and HTTP servers and exposes local servers over the network
- 2,808 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Opens a network port to a local server
- Forwards access tokens to remote servers
Install
- Works in
Manual install
uv tool install mcp-proxyAlternative: pipx install mcp-proxy.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Opens a network port to a local server
- Forwards access tokens to remote servers
This is third-party code. Review the repository files before installing.
What it does
mcp-proxy has two modes. In the first, a client like Claude Desktop launches it over stdio and it forwards requests to a remote server over SSE or Streamable HTTP, including auth headers and OAuth2. In the second, it opens an HTTP port and runs a local stdio server behind it for remote access. One proxy can host several named servers defined via flags or a JSON file. It ships as a PyPI package and a container image.
Who it is for. For developers and admins connecting MCP clients and servers that speak different transports.
Good fit when
- The client supports only stdio while the server is SSE or HTTP only
- You need to run a local stdio server and reach it over the network
- You need several servers behind one port in Docker
Not a fit when
- The client already connects to remote servers natively
- You need grouping, tool filtering and a web UI: gateways like MetaMCP cover that
Example request
Connect a remote SSE MCP server to Claude Desktop through mcp-proxyMCP
- Transport
- stdio, sse, http
- Authentication
- not required
Environment variables
API_ACCESS_TOKENsecret- Bearer token for the remote server connection
Limitations
The proxy adds no tools; it only translates transports. It listens on 127.0.0.1 by default, and exposing it on 0.0.0.0 requires your own access control. The --sse-port and --sse-host flags are deprecated.
How to disable. Remove the mcp-proxy block from the client config and run uv tool uninstall mcp-proxy.
FAQ
Claude Desktop reports ENOENT on start
Put the full path to mcp-proxy in command; which mcp-proxy prints it.
Can it host several servers?
Yes, via --named-server or --named-server-config; each is served under /servers/name/.
How is mcp-proxy different from connecting to a remote MCP directly?
The proxy runs in two modes: a client like Claude Desktop starts it over stdio and it forwards requests to a remote server via SSE or Streamable HTTP, including auth headers. In the second mode it publishes local servers over the network.
How do I install mcp-proxy and fix ENOENT in Claude Desktop?
Install with uv tool install mcp-proxy. The ENOENT error usually means Claude Desktop did not find the command. Put the full path to mcp-proxy, shown by which mcp-proxy, in the config. It works with Claude Desktop, Claude Code and Cursor.
Discussion
No questions or reviews yet.
Related
MCP serversA self-hosted gateway that merges several MCP servers into one endpoint with auth and tool selection
The docker mcp CLI plugin and gateway: MCP servers from Docker's catalog in isolated containers behind one connection point
A Node.js manager for MCP servers: it starts local servers, connects remote ones and gives a client one address, with a REST API for control
SSH MCP Server (classfang): remote commands over SSH
SSH MCP Server (classfang)
An SSH MCP server: the agent runs commands, reads and writes files over SFTP, transfers files and starts long jobs while credentials stay with you
SSH MCP
ssh-mcp
A security-first SSH server: command classification, policy authorization and several sign-in methods. It runs commands on remote servers
MCP Gateway
mcp-gateway
A reverse proxy and lifecycle management for MCP servers on Kubernetes and Azure from Microsoft: routing, authorization, roles. For platform teams
README in short
The README walks through both modes with diagrams, argument tables and launch examples. It covers named servers and their JSON file format. It shows install via uv, pipx, from the repo and as a container, extending the image with a custom Dockerfile and a Docker Compose example. It ends with the full CLI argument list. MIT licensed.