ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Supergateway与ngrok结合:如何安全地公开本地MCP服务器

2026/8/4 0:09:54 拓冰建站 浏览量
Supergateway与ngrok结合:如何安全地公开本地MCP服务器

Supergateway与ngrok结合:如何安全地公开本地MCP服务器

【免费下载链接】supergatewayRun MCP stdio servers over SSE and SSE over stdio. AI gateway.项目地址: https://gitcode.com/gh_mirrors/su/supergateway

Supergateway是一款功能强大的MCP服务器网关工具,能够将标准输入输出(stdio)的MCP服务器转换为服务器发送事件(SSE)或WebSocket等网络服务。当需要将本地运行的MCP服务器安全地暴露到公网时,结合ngrok的端口转发功能可以快速实现这一需求,无需复杂的网络配置。

为什么选择Supergateway与ngrok组合?

Supergateway专注于MCP协议的转换与处理,提供了多种网关实现,如:

  • stdioToSse.ts:将标准输入输出转换为SSE服务
  • stdioToWs.ts:将标准输入输出转换为WebSocket服务
  • streamableHttpToStdio.ts:将流式HTTP请求转换为标准输入输出

而ngrok则提供了安全的隧道服务,能够将本地端口映射到公网URL,两者结合可以: ✅ 快速分享本地开发中的MCP服务 ✅ 避免复杂的路由器端口转发配置 ✅ 提供HTTPS加密保护 ✅ 支持访问控制与流量管理

Supergateway v3.2支持MCP流式HTTP服务器,是连接本地服务与公网的理想选择

准备工作:安装与配置

1. 获取Supergateway源码

首先克隆项目仓库到本地:

git clone https://gitcode.com/gh_mirrors/su/supergateway cd supergateway

2. 安装依赖

使用npm安装项目所需依赖:

npm install

3. 安装ngrok

根据你的操作系统从ngrok官网下载并安装ngrok,安装完成后通过以下命令验证:

ngrok --version

快速上手:三步实现本地MCP服务器公网访问

第一步:启动Supergateway服务

选择合适的网关类型启动Supergateway,例如启动stdioToSse网关:

npx ts-node src/index.ts stdioToSse

默认情况下,服务会监听本地3000端口,你可以在src/server/websocket.ts中修改端口配置。

第二步:使用ngrok创建隧道

打开新的终端窗口,运行以下命令将本地3000端口映射到公网:

ngrok http 3000

成功启动后,ngrok会显示一个公网URL(通常以https://开头),例如:

Forwarding https://abc123.ngrok.io -> http://localhost:3000

第三步:测试公网访问

现在你可以通过ngrok提供的URL访问本地MCP服务器了。可以使用curl命令测试SSE服务:

curl https://abc123.ngrok.io/events

高级配置:提升安全性与性能

设置访问密码

在ngrok启动时添加--basic-auth参数设置用户名和密码:

ngrok http --basic-auth "user:password" 3000

配置CORS策略

Supergateway提供了CORS支持,你可以在src/lib/corsOrigin.ts中配置允许的源地址,确保只有受信任的域名可以访问你的服务。

选择合适的网关类型

根据你的MCP服务器特性选择合适的网关:

  • 无状态服务:使用stdioToStatelessStreamableHttp.ts
  • 有状态服务:使用stdioToStatefulStreamableHttp.ts
  • WebSocket服务:使用stdioToWs.ts

常见问题与解决方案

Q: 如何查看Supergateway的日志?

A: Supergateway使用src/lib/getLogger.ts提供日志功能,默认输出到控制台,你可以修改配置将日志保存到文件。

Q: ngrok隧道断开后如何重新连接?

A: 只需重新运行ngrok http 3000命令,会生成新的公网URL,注意更新客户端连接地址。

Q: 如何在生产环境中使用Supergateway?

A: 项目提供了Docker配置文件,你可以通过docker/目录下的Dockerfile构建生产环境镜像,实现更稳定的部署。

通过Supergateway与ngrok的结合,即使是新手也能在几分钟内将本地MCP服务器安全地暴露到公网,无论是开发测试还是临时演示都非常方便。开始尝试吧,体验MCP服务开发的全新可能!

【免费下载链接】supergatewayRun MCP stdio servers over SSE and SSE over stdio. AI gateway.项目地址: https://gitcode.com/gh_mirrors/su/supergateway

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考