mcp-proxy logo

mcp-proxy

by sparfenyuk

mcp-proxy is a tool that allows switching between server transports, supporting stdio to SSE and SSE to stdio modes. It enables clients to communicate with servers using different transport protocols.

View on GitHub

Last updated: N/A

What is mcp-proxy?

mcp-proxy is a versatile proxy server that bridges the gap between stdio and SSE (Server-Sent Events) transports. It can act as an intermediary, allowing clients that only support one transport to communicate with servers that use the other.

How to use mcp-proxy?

mcp-proxy can be used in two primary modes: stdio to SSE and SSE to stdio. For stdio to SSE, configure the proxy with the URL of the remote SSE server. For SSE to stdio, configure the proxy with the command to spawn the local stdio server and specify the SSE port. Installation is available via Smithery, PyPI, GitHub, or as a container. See the README for detailed configuration and example usages.

Key features of mcp-proxy

  • stdio to SSE proxying

  • SSE to stdio proxying

  • Configuration via command-line arguments and environment variables

  • Docker container support

  • Integration with Claude Desktop

Use cases of mcp-proxy

  • Enabling Claude Desktop to communicate with remote SSE servers

  • Exposing local stdio servers to remote connections via SSE

  • Bridging different transport protocols in microservice architectures

  • Testing and debugging MCP servers with different transport layers

FAQ from mcp-proxy

What is mcp-proxy?

mcp-proxy is a tool that lets you switch between server transports, supporting stdio to SSE and SSE to stdio modes.

How do I install mcp-proxy?

You can install mcp-proxy via Smithery, PyPI, Github repository, or as a container. See the installation section in the README for detailed instructions.

How do I configure mcp-proxy for stdio to SSE?

You need to pass the URL to the MCP Server SSE endpoint as the first argument to the program. You can also use the --headers argument or the API_ACCESS_TOKEN environment variable to pass headers.

How do I configure mcp-proxy for SSE to stdio?

You need to set the --sse-port argument. You can also set the --sse-host argument to specify the host IP address that the SSE server will listen on. The command line arguments for the local stdio server must be passed after the -- separator.

Claude Desktop can't start the server: ENOENT code in the logs

Try to use the full path to the binary. To do so, open a terminal and run the command where mcp-proxy (macOS, Linux) or where.exe mcp-proxy (Windows). Then, use the output path as a value for 'command' attribute.