type
status
date
slug
summary
tags
category
icon
password
地址:https://github.com/supercorp-ai/supergateway
Supergateway 的核心功能
Supergateway 通过一条命令即可运行 MCP 基于 stdio 的服务器,并将其暴露为 SSE 或 WebSocket 服务。它的主要用途包括:
- 远程访问:通过 SSE 或 WS 连接远程 MCP 服务器。
- 调试:便于开发者调试 MCP 服务器。
- 集成:将仅支持 stdio 的 MCP 服务器与支持 SSE 或 WS 的客户端连接。
支持的服务包括:
- Supermachine:托管 MCP 服务。
安装与使用
通过 npx
运行
通过
npx
安装和运行 Supergateway:主要参数
-stdio "command"
:运行 MCP stdio 服务器的命令。
-sse "URL"
:连接到远程 SSE 服务的 URL(用于 SSE→stdio 模式)。
-outputTransport
:指定输出传输方式,可选值为stdio
、sse
或ws
。
-port
:监听的端口(默认 8000)。
-baseUrl
:为 SSE 或 WS 客户端指定基础 URL(可选)。
-ssePath
:SSE 客户端订阅的路径(默认/sse
)。
-messagePath
:消息路径(默认/message
)。
-header
:添加请求头(支持多个)。
-logLevel
:日志级别,可选info
或none
(默认info
)。
-cors
:启用 CORS 支持。
-healthEndpoint
:注册健康检查端点,返回"ok"
。
常见使用场景
1. 将 MCP stdio 服务器暴露为 SSE 服务
- 订阅事件:
GET http://localhost:8000/sse
- 发送消息:
POST http://localhost:8000/message
2. 将远程 SSE 服务暴露为本地 stdio
- 适用于将远程 SSE MCP 服务集成到本地命令行环境。
可以通过
--header
参数添加请求头(例如身份验证):3. 将 MCP stdio 服务器暴露为 WebSocket 服务
- WebSocket 端点:
ws://localhost:8000/message
使用示例
与 MCP Inspector 配合使用
- 启动 Supergateway:
- 启动 MCP Inspector:
此时可以通过 Supergateway 列出工具、资源或执行 MCP 操作。
使用 ngrok 共享本地 MCP 服务器
- 启动 Supergateway:
- 启动 ngrok:
ngrok 会提供一个公共 URL,供远程访问。
使用 Docker
Supergateway 提供了官方 Docker 镜像,避免了本地安装 Node.js 的需求。
使用官方镜像
构建自定义镜像
- 使用提供的 Dockerfile 构建镜像:
- 运行自定义镜像:
与 Claude Desktop 配合使用
Supergateway 支持 Claude Desktop 的 SSE→stdio 模式。
NPX 示例
配置 MCP 服务器:
Docker 示例
MCP 的意义
MCP(Model Context Protocol)是一种标准化的 AI 工具交互协议。Supergateway 通过将 MCP stdio 服务器转换为 SSE 或 WS 服务,简化了与基于 Web 的客户端或远程客户端的集成与调试。
高级配置
Supergateway 提供了一些高级功能:
- 自动管理 JSON-RPC 版本。
- 在可能的情况下重新传输包元数据。
- 日志记录:
- stdio→SSE 或 stdio→WS 模式的日志通过标准输出记录。
- SSE→stdio 模式的日志通过标准错误记录。
- 许可证:MIT License
- Author:二师兄
- URL:https://cloudesx.com/article/supercorp-ai-mcp-supergateway
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!