mcp-proxy

mcp-proxy

连接到运行在SSE传输上的MCP服务器,或者使用MCP代理服务器将stdio服务器暴露为一个SSE服务器。

GitHub License PyPI - Python Version PyPI - Downloads codecov

mcp-proxy 是一个实用工具,允许在不同的服务器传输协议之间切换,支持两种主要模式:

安装选项

# 通过 Smithery 为 Claude Desktop 自动安装
npx -y @smithery/cli install mcp-proxy --client claude

# 通过 PyPI 安装
uv tool install mcp-proxy
# 或
pipx install mcp-proxy

# 通过 GitHub 仓库安装最新版本
uv tool install git+https://github.com/sparfenyuk/mcp-proxy

模式 1: stdio 到 SSE

将 stdio 连接转换为 SSE 连接,使 Claude Desktop 等客户端能够与远程 SSE 服务器通信。

基本用法

在 Claude Desktop 配置中添加以下内容:

{
  "mcpServers": {
    "mcp-proxy": {
        "command": "mcp-proxy",
        "args": ["http://example.io/sse"],
        "env": {
          "API_ACCESS_TOKEN": "your-access-token"
        }
    }
  }
}

模式 2: SSE 到 stdio

将本地 stdio 服务器暴露为 SSE 服务器,允许远程客户端连接到它。

基本用法

# 启动代理后面的 MCP 服务器
mcp-proxy uvx mcp-server-fetch

# 使用自定义端口
mcp-proxy --sse-port=8080 uvx mcp-server-fetch

# 使用自定义主机和端口
mcp-proxy --sse-host=0.0.0.0 --sse-port=8080 uvx mcp-server-fetch

# 传递参数给后端服务器(注意 -- 分隔符)
mcp-proxy --sse-port=8080 -- uvx mcp-server-fetch --user-agent=YourUserAgent

这将在 http://127.0.0.1:8080/sse 启动一个可连接的 MCP 服务器。

容器支持

# 运行容器版本
docker run -t ghcr.io/sparfenyuk/mcp-proxy:latest --help

# 扩展容器镜像
FROM ghcr.io/sparfenyuk/mcp-proxy:latest
RUN python3 -m ensurepip && pip install --no-cache-dir uv

详细文档请访问 GitHub 仓库