
SuperGateway 介绍

2025.03.19
1
Java协议转换工具远程访问工具开发效率
SuperGateway 是一个将标准输入/输出(stdio)转换为服务器发送事件(SSE)的网关工具。它允许用户运行基于 stdio 的 MCP(Model Context Protocol)服务器,并通过 SSE 进行远程访问。该工具支持多个客户端同时连接,自动识别和转发 JSON 格式的输出,并提供了健康检查端点和可配置的日志级别等功能。
View on GitHub
Overview
基本能力
产品定位
SuperGateway 是一个协议转换工具,主要用于将基于 stdio 的 MCP 服务器转换为 SSE 服务,便于远程访问和多个客户端的连接。
核心功能
- 将基于 stdio 的 MCP 服务器转换为 SSE 服务
- 支持多个客户端同时连接
- 自动识别和转发 JSON 格式的输出
- 支持 CORS
- 支持健康检查端点
- 可配置的日志级别
适用场景
- 需要将本地 MCP 服务器暴露为远程 SSE 服务的场景
- 需要多个客户端同时访问同一个 MCP 服务器的场景
- 需要实时监控和交互的 MCP 服务器应用
工具列表
java -jar supergateway-1.0.0.jar
: 主程序,用于启动 SuperGateway 服务
常见问题解答
- 进程输出必须是 JSON 格式才会被转发到 SSE 客户端
- 每个 SSE 客户端会自动获得一个唯一的 sessionId
- 所有消息都必须是有效的 JSON 格式
- 发送消息时必须使用从 SSE 连接获取的正确 sessionId
- MCP 服务器必须支持通过标准输入/输出进行通信
使用教程
使用依赖
- Java 17 或更高版本
- Maven 3.6 或更高版本
安装教程
- 构建项目:
cd src/java
mvn clean package
- 运行应用:
java -jar target/supergateway-1.0.0.jar [选项]
调试方式
运行以下命令以启动服务并进行调试:
java -jar target/supergateway-1.0.0.jar \
--stdio "java -jar your-mcp-server.jar" \
--port 8000 \
--baseUrl http://localhost:8000 \
--ssePath /sse \
--messagePath /message
API 接口
1. SSE 连接
- URL:
GET /sse
- 说明:建立 SSE 连接以接收进程输出
- 响应:服务器会返回一个 SSE 事件,包含消息发送端点
2. 发送消息
- URL:
POST /message?sessionId=<session_id>
- Content-Type:
application/json
- 说明:向进程发送 JSON 格式的消息
- 响应:
- 200: 消息发送成功
- 400: 无效的 JSON 消息
- 503: 会话不存在或进程未就绪
3. 健康检查
- URL:
GET /health
(如果配置了健康检查端点) - 说明:检查服务是否正常运行
- 响应:返回 "ok"