mcp-proxy  by sparfenyuk

Proxy tool for bridging Streamable HTTP and stdio MCP transports

Created 8 months ago
1,716 stars

Top 24.8% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

This project provides a proxy for the Machine Communication Protocol (MCP) to bridge between Server-Sent Events (SSE) and standard input/output (stdio) transports. It's designed for developers and users needing to integrate systems that use different communication protocols, particularly for AI model servers and clients like Claude Desktop.

How It Works

The proxy operates in two primary modes: stdio-to-SSE and SSE-to-stdio. In stdio-to-SSE mode, it connects a local stdio-based MCP client to a remote SSE endpoint, enabling compatibility with systems that don't natively support stdio. Conversely, SSE-to-stdio mode exposes a local stdio MCP server via an SSE endpoint, allowing remote access. This dual functionality is achieved by parsing command-line arguments to determine the mode and target configuration.

Quick Start & Requirements

  • Installation:
    • Via PyPI (recommended): uv tool install mcp-proxy or pipx install mcp-proxy
    • Via GitHub (latest): uv tool install git+https://github.com/sparfenyuk/mcp-proxy
    • Via Docker: docker run -t ghcr.io/sparfenyuk/mcp-proxy:v0.3.2-alpine --help
  • Prerequisites: Python 3.x. For Docker, Docker is required.
  • Configuration: Requires specifying the target URL (SSE mode) or the command to spawn the stdio server (stdio mode), along with optional ports, hosts, headers, and environment variables.
  • Documentation: https://github.com/sparfenyuk/mcp-proxy

Highlighted Details

  • Enables Claude Desktop to connect to remote MCP servers via SSE.
  • Supports custom headers and environment variables for both modes.
  • Offers Docker image for containerized deployments.
  • Includes detailed command-line argument parsing for flexible configuration.

Maintenance & Community

The project is maintained by sparfenyuk. Further community or roadmap information is not explicitly detailed in the README.

Licensing & Compatibility

The project appears to be licensed under the MIT License, allowing for commercial use and integration with closed-source projects.

Limitations & Caveats

The project is primarily focused on bridging SSE and stdio for MCP. While it supports custom Docker images, extending the base image requires manual Dockerfile creation. The README does not detail performance benchmarks or specific compatibility with other MCP implementations beyond its stated use case.

Health Check
Last Commit

2 months ago

Responsiveness

1 week

Pull Requests (30d)
3
Issues (30d)
3
Star History
195 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.