关于 MCP Gateway
Unla 是一个用 Go 编写的轻量级网关服务,可通过 YAML 配置将现有 MCP 服务和 REST API 转换为 MCP 端点,无需修改代码。它面向个人与组织,支持 Docker、Kubernetes 部署,并提供管理界面。
主要功能
- 01通过 YAML 配置将 REST API 转换为 MCP 服务
- 02代理现有 MCP 服务
- 03支持 MCP SSE 与 Streamable HTTP
- 04配置热加载与多种持久化后端
- 05基于 OAuth 的预认证与多租户支持
适用场景
- 01将内部 REST API 暴露给 MCP 客户端使用
- 02在统一网关后集中代理多个 MCP 服务
- 03在 Kubernetes 或 Docker 中部署带管理界面的 MCP 网关
MCP 相关
Unla 作为 MCP 网关,向 MCP 客户端暴露转换后的 REST API 与代理的 MCP 服务,客户端通过 /sse 或 /mcp 端点连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Unla - MCP 网关
🚀 无需更改一行代码,即可将现有 MCP 服务和 API 即时转换为 MCP 端点。
⚡ 注意:Unla 正在快速开发中!我们努力保持向后兼容,但无法 100% 保证。升级时请务必仔细查看版本变更。由于迭代速度很快,文档更新有时可能会滞后。如遇到任何问题,欢迎通过 Discord 或 Issues 搜索或寻求帮助 ❤️
✨ 什么是 Unla?
Unla 是一款使用 Go 编写的轻量级、高可用网关服务。它支持个人和组织仅通过配置,无需更改任何代码,即可将现有 MCP 服务和 API 转换为符合 MCP Protocol 的服务。
https://github.com/user-attachments/assets/69480eda-7aa7-4be7-9bc7-cae57fe16c54
🔧 核心设计原则
- ✅ 零侵入:与平台无关,支持部署在裸机、VM、ECS、Kubernetes 等环境中,无需修改现有基础设施
- 🔄 配置驱动:使用 YAML 配置将旧版 API 转换为 MCP 服务,无需编写代码
- 🪶 轻量高效:在保证性能和可用性的同时,尽可能减少资源使用
- 🧭 内置管理界面:开箱即用的 Web 界面,简化配置并降低运维负担
🚀 快速开始
Unla 支持开箱即用的 Docker 部署。完整的部署和配置说明请参阅文档。
使用 Docker 快速启动
配置环境变量:
export APISERVER_JWT_SECRET_KEY="changeme-please-generate-a-random-secret"
export SUPER_ADMIN_USERNAME="admin"
export SUPER_ADMIN_PASSWORD="changeme-please-use-a-secure-password"
启动容器:
docker run -d \
--name unla \
-p 8080:80 \
-p 5234:5234 \
-p 5235:5235 \
-p 5335:5335 \
-p 5236:5236 \
-e ENV=production \
-e TZ=Asia/Shanghai \
-e APISERVER_JWT_SECRET_KEY=${APISERVER_JWT_SECRET_KEY} \
-e SUPER_ADMIN_USERNAME=${SUPER_ADMIN_USERNAME} \
-e SUPER_ADMIN_PASSWORD=${SUPER_ADMIN_PASSWORD} \
--restart unless-stopped \
ghcr.io/amoylab/unla/allinone:latest
访问和配置
-
访问 Web 界面:
- 在浏览器中打开 http://localhost:8080/
- 使用配置好的管理员凭据登录
-
添加 MCP 服务:
- 从以下地址复制配置:https://github.com/amoylab/unla/blob/main/configs/proxy-mock-server.yaml
- 在 Web 界面中点击“添加 MCP 服务”
- 粘贴配置并保存
可用端点
配置完成后,服务将在以下端点提供:
- MCP SSE:http://localhost:5235/mcp/user/sse
- MCP SSE 消息:http://localhost:5235/mcp/user/message
- MCP Streamable HTTP:http://localhost:5235/mcp/user/mcp
配置 MCP 客户端使用以 /sse 或 /mcp 为后缀的 URL,即可开始使用。
测试
你可以通过以下方式测试服务:
- Web 界面中的 MCP Chat 页面
- 你自己的 MCP 客户端(推荐)
📖 阅读完整指南 → 快速开始 »
🚀 核心功能
🔌 协议与代理能力
- 支持将 RESTful API 转换为 MCP 服务 — 客户端 → MCP Gateway → API
- 支持代理 MCP 服务 — 客户端 → MCP Gateway → MCP 服务
- 支持将 gRPC 转换为 MCP 服务 — 客户端 → MCP Gateway → gRPC
- 支持将 WebSocket 转换为 MCP 服务 — 客户端 → MCP Gateway → WebSocket
- 支持 MCP SSE
- 支持 MCP Streamable HTTP
- 支持包含文本、图像和音频的 MCP 响应
🧠 会话与多租户支持
- 支持持久化和可恢复的会话
- 支持多租户
- 支持对 MCP 服务进行分组和聚合
🛠 配置与管理
- 自动获取配置并无缝热重载
- 配置持久化(Disk/SQLite/PostgreSQL/MySQL)
- 通过 OS Signals、HTTP 或 Redis PubSub 同步配置
- 配置版本控制
🔐 安全与身份验证
- 支持基于 OAuth 的 MCP 服务预身份验证
🖥 用户界面
- 直观轻量的管理界面
📦 部署与运维
- 支持多副本服务
- 支持 Docker
- 支持 Kubernetes 和 Helm 部署
📚 文档
如需了解更多用法示例、配置示例和集成指南,请访问:
👉 https://docs.unla.amoylab.com
📄 许可证
本项目采用 MIT License 许可。
💬 加入我们的微信社群
扫描下方二维码,在微信上添加我们。请备注:mcp-gateway、mcpgw 或 unla。
📈 Star 历史
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。