使用说明

项目简介

Supergateway 是一个轻量级的工具,旨在桥接基于 stdio 的 MCP 服务器和基于 SSE(Server-Sent Events)的 MCP 客户端。它主要解决以下两个场景的需求:

  1. 将现有的 stdio MCP 服务器转换为 SSE 接口:使得原本只能通过 stdio 访问的 MCP 服务器,可以通过 SSE 协议对外提供服务,从而可以被远程客户端或只支持 SSE 的客户端(如 Claude Desktop)访问。
  2. 将 SSE MCP 服务器转换为 stdio 接口:允许本地的、基于 stdio 的 MCP 客户端连接到远程的 SSE MCP 服务器。

主要功能点

  • 协议转换:在 stdio 和 SSE 两种 MCP 服务器传输协议之间进行转换。
  • 远程访问使能:通过 SSE 协议,使得 stdio MCP 服务器可以被远程访问。
  • 简单易用:通过简单的命令行参数配置即可启动,无需复杂的配置过程。
  • Docker 支持:提供 Docker 镜像,方便部署和容器化运行。
  • 健康检查:支持配置健康检查端点,方便监控服务器状态。
  • CORS 支持:可启用 CORS,解决跨域访问问题。

安装步骤

Supergateway 可以通过 'npx' 直接运行,无需全局安装,或者使用 Docker 镜像。

  • 使用 npx (推荐)

    确保你已安装 Node.js 和 npm。在命令行中直接使用 'npx' 命令运行 Supergateway:

    npx -y supergateway --stdio "your-stdio-mcp-server-command" --port 8000
  • 使用 Docker

    确保你已安装 Docker。使用官方提供的 Docker 镜像 'supercorp/supergateway' 运行:

    docker run -it --rm -p 8000:8000 supercorp/supergateway --stdio "your-stdio-mcp-server-command" --port 8000

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令 (command) 及其参数 (args) 才能与 Supergateway 建立连接。以下是两种模式下 MCP 客户端的配置示例 (JSON 格式):

  • stdio to SSE 模式配置 (访问 stdio MCP 服务器)

    以下配置适用于将本地 stdio MCP 服务器通过 Supergateway 转换为 SSE 接口,供 MCP 客户端访问。请将 '"your-stdio-mcp-server-command"' 替换为你的 stdio MCP 服务器启动命令,例如 '"npx -y @modelcontextprotocol/server-filesystem /path/to/your/resources"'。

    {
      "serverName": "supergateway-stdio-sse",
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--stdio",
        "your-stdio-mcp-server-command",
        "--port",
        "8000"
      ]
    }
  • SSE to stdio 模式配置 (访问远程 SSE MCP 服务器)

    以下配置适用于 MCP 客户端通过 Supergateway 连接到远程 SSE MCP 服务器。请将 '"your-sse-mcp-server-url"' 替换为远程 SSE MCP 服务器的 URL,例如 '"https://example-mcp-server.com/sse"'。

    {
      "serverName": "supergateway-sse-stdio",
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--sse",
        "your-sse-mcp-server-url"
      ]
    }

基本使用方法

  1. 启动 Supergateway (stdio to SSE 模式)

    在命令行中运行以下命令,将 'your-stdio-mcp-server-command' 替换为你的 stdio MCP 服务器启动命令。这将启动 Supergateway,并将 stdio MCP 服务器转换为 SSE 服务,默认监听 '8000' 端口。

    npx -y supergateway --stdio "your-stdio-mcp-server-command" --port 8000
  2. 使用 MCP Inspector 连接 (stdio to SSE 模式)

    使用 MCP Inspector 等 MCP 客户端,连接到 Supergateway 提供的 SSE 端点。默认 SSE 端点地址为 'http://localhost:8000/sse'。

    npx @modelcontextprotocol/inspector --uri http://localhost:8000/sse
  3. 启动 Supergateway (SSE to stdio 模式)

    在命令行中运行以下命令,将 'your-sse-mcp-server-url' 替换为远程 SSE MCP 服务器的 URL。这将启动 Supergateway,并将远程 SSE MCP 服务器转换为本地 stdio 服务。

    npx -y supergateway --sse "your-sse-mcp-server-url"
  4. 使用 stdio MCP 客户端连接 (SSE to stdio 模式)

    你的 stdio MCP 客户端可以直接与 Supergateway 的标准输入/输出进行通信,就像直接与一个本地 stdio MCP 服务器通信一样。

信息

分类

通信与社交