Supergateway是一款专注于协议转换的开源工具,它能将基于标准输入输出(stdio)的MCP(Model Context Protocol)服务器,无缝转换为可通过网络访问的SSE(Server-Sent Events)或WebSocket服务。它如同一位高效的“翻译官”,让原本只能在本地命令行交互的AI能力,轻松融入现代Web应用与远程协作的生态。
1. 模型概述
1.1 能力评估
Supergateway的核心能力是协议适配与转换。它本身并非一个AI模型,而是一个使能工具。
-
核心任务:它主要完成一项任务——在“本地进程间通信协议(stdio)”与“网络事件流协议(SSE/WebSocket)”之间进行双向转换。
-
接口与参数:它通过命令行参数进行配置,主要接口包括:
-
服务暴露接口:将本地MCP服务暴露为网络端点(如
/sse,/message)。 -
消息转发接口:接收客户端HTTP POST请求,将JSON消息转发给后端MCP服务。
-
健康检查接口:可选的
/health端点,用于服务监控。
-
1.2 技术特点介绍
-
轻量级桥接:设计简洁,无需修改原有MCP服务器代码即可增加网络能力。
-
多协议支持:支持SSE(适合服务器向客户端的单向流式推送)和WebSocket(适合双向实时通信)两种现代Web协议。
-
会话与多客户端:自动管理会话(sessionId),支持多个客户端同时连接同一个后端服务。
-
易于集成:提供CORS支持,方便前端应用集成;同时提供Docker镜像,简化部署。
1.3 应用场景
-
远程调试与访问:开发者在本地运行的MCP服务器(如一个专用的知识库查询工具),可以通过Supergateway暴露给远程同事进行测试或使用。
-
Web应用集成:将诸如文件系统操作、数据库查询等以MCP工具形式封装的AI能力,通过Supergateway转换为SSE服务,供Dify、LangChain等AI应用平台调用。
-
生态兼容:在Claude Desktop、Cursor等仅支持SSE连接MCP服务的AI桌面应用中,接入那些原本只提供stdio接口的自定义MCP工具。
请注意:根据搜索结果,存在两个同名的“Supergateway”项目,它们在技术实现上不同。本测评主要针对在MCP生态中更活跃的Node.js版本,下表对比了关键区别:
特性 Node.js 版本 (Supercorp) Java 版本 运行环境 Node.js Java 17+ 安装方式 npx直接运行或DockerMaven构建JAR包 协议支持 SSE, WebSocket SSE 核心优势 使用简便,生态集成好 可能更适合Java技术栈环境 信息来源
2. 安装与部署方式
以下安装指南以Node.js版本为主,这是目前社区提及和使用更广泛的版本。
系统通用前提
-
安装Node.js:确保系统已安装Node.js(建议版本18或以上)。可从 Node.js官网 下载。
-
安装Docker(可选):如需使用容器化部署,请先安装Docker。可从 Docker官网 下载。
Windows系统
-
打开终端:以管理员身份打开PowerShell或Windows Terminal。
-
验证Node.js:输入
node --version和npm --version,确保已安装。 -
直接运行(推荐):Supergateway设计为通过
npx直接运行,无需单独安装。powershell# 基本运行示例,暴露一个本地MCP服务器 npx -y supergateway --stdio "npx -y @modelcontextprotocol/server-filesystem ./my-folder" --port 8000
-
Docker方式:
powershell# 拉取并运行Docker镜像 docker run -p 8000:8000 -v C:\path\to\your\folder:/app supercorp/supergateway --stdio "npx -y @modelcontextprotocol/server-filesystem /app" --port 8000
注意:
-v参数将本地目录挂载到容器内,请替换C:\path\to\your\folder为实际路径。
macOS系统
-
打开终端。
-
验证或安装Node.js:可使用Homebrew安装:
brew install node。 -
直接运行:
bashnpx -y supergateway --stdio "npx -y @modelcontextprotocol/server-filesystem ./my-folder" --port 8000
-
Docker方式:
bashdocker run -p 8000:8000 -v $(pwd)/my-folder:/app supercorp/supergateway --stdio "npx -y @modelcontextprotocol/server-filesystem /app" --port 8000
Linux系统(如Ubuntu)
-
安装Node.js:
bash# 使用NodeSource安装脚本 curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs
-
直接运行:命令与macOS相同。
-
使用进程守护(生产环境推荐):可使用PM2管理进程,确保服务稳定。
bash# 安装PM2 npm install -g pm2 # 使用PM2启动Supergateway服务 pm2 start --name mcp-gateway npx -- -y supergateway --port 8951 --stdio "npx -y @modelcontextprotocol/server-filesystem ./my-folder" pm2 save pm2 startup # 设置开机自启
常见问题与修复
-
命令未找到:npx:说明Node.js未正确安装或未加入系统PATH。请重新安装Node.js。
-
端口被占用:通过
--port参数指定另一个端口(如8080)。 -
MCP服务器命令执行失败:确保
--stdio后的命令能在你的终端中独立运行成功。例如,@modelcontextprotocol/server-filesystem可能需要先创建目标文件夹my-folder。 -
Docker容器内权限问题:确保挂载的目录对容器内进程可读可写,在Linux/macOS上可能需要调整目录权限。
3. 配套客户端
Supergateway是一个服务端网关,其“客户端”是任何能够连接SSE或WebSocket端点的应用。
-
AI应用平台:如 Dify、LangChain。可将Supergateway提供的SSE URL配置为自定义MCP服务器,从而扩展平台的能力。
-
AI桌面应用:如 Claude Desktop、Cursor。通过编辑其MCP服务器配置文件,加入Supergateway提供的连接方式。
-
自定义Web应用:任何能使用JavaScript
EventSourceAPI(用于SSE)或WebSocketAPI的前端应用,都可以成为客户端。 -
MCP Inspector等调试工具:用于测试和调试MCP服务器。
所有客户端均为开源或提供免费版本,配置核心在于填入正确的SSE连接URL,格式通常为:http://你的服务器IP:端口/sse。
4. 案例讲解:为Dify提供文件系统工具
场景:我们在云服务器上部署了一个Dify AI工作流平台,希望为其增加一个“读取服务器特定目录文件列表”的能力。
步骤:
-
准备并启动Supergateway服务
登录云服务器,执行以下命令:bash# 1. 创建数据目录并授权 mkdir -p /data/mcp-files # 2. 使用PM2启动一个常驻的Supergateway服务 npm install -g pm2 pm2 start --name file-mcp-gateway npx -- -y supergateway \ --port 8951 \ --baseUrl http://${SERVER_IP}:8951 \ --stdio "npx -y @modelcontextprotocol/server-filesystem /data/mcp-files"
说明:此命令启动了文件系统MCP服务器,并指定其可访问的根目录为
/data/mcp-files。 -
在Dify中配置MCP服务器
-
进入Dify的“工具”或“插件”配置页面。
-
新增一个MCP服务器,配置如下(JSON格式):
json{ "mcpServers": { "filesystem": { "type": "sse", "url": "http://你的服务器IP:8951/sse" } } }
-
保存后,Dify会通过Supergateway连接到文件系统MCP服务。
-
-
使用工具
-
在Dify的工作流编辑器中,现在可以添加“文件系统”相关的工具(如“列出目录”、“读取文件”)。
-
当工作流执行到该节点时,Dify会通过Supergateway将请求转发给后台的MCP服务器,实现对
/data/mcp-files目录的操作,并将结果返回给AI模型或用户。
-
代码核心:整个过程中,我们并未编写复杂的网络服务代码。Supergateway承担了所有协议转换和网络通信的工作,我们只需关注核心MCP工具(文件系统访问)本身。
5. 使用成本与商业价值
使用成本
-
直接成本:零。Supergateway是开源软件,可免费使用和修改。
-
间接成本:
-
学习成本:需对MCP协议和基本的命令行操作有一定了解。
-
运维成本:自行部署需要维护服务器或容器,可结合Docker和进程守护工具(如PM2)降低难度。
-
资源成本:运行Supergateway本身资源消耗极低,主要资源取决于背后连接的MCP服务器。
-
商业价值
-
加速AI应用开发:极大降低了将本地AI工具或数据源“服务化”、“网络化”的门槛,让团队能快速将内部能力封装成标准接口,供上层AI应用调用。
-
提升现有资产价值:将许多只能本地使用的脚本或工具,通过MCP+Supergateway的方式,转变为可在团队内共享、甚至集成到商业产品中的标准化服务。
-
增强系统灵活性与兼容性:解决了不同AI平台(部分仅支持SSE)与多样化的MCP工具(可能仅提供stdio接口)之间的兼容性问题,成为技术栈中一个轻量且关键的适配层。
-
促进协作:方便了开发者之间远程共享和调试MCP工具,改善了开发体验。
总结:Supergateway是一个典型“小而美”的基建工具。它不直接产生炫酷的AI功能,但通过解决协议转换这个痛点,为AI能力的自由流动和灵活组合铺平了道路,具有很高的技术杠杆价值。对于正在构建基于MCP生态的AI应用团队来说,它是一个值得投入了解的实用工具。

关注 “悠AI” 更多干货技巧行业动态