MCP Gateway:零侵入式 API 到 MCP 协议的转换网关

MCP Gateway:零侵入式 API 到 MCP 协议的转换网关

概述

MCP狂欢迎来了很多玩乐的MCP Server,但是也有很多产品和B端开始接入MCP,当MCP真正应用到生产环境的时候,势必会遇到大量存量的服务、API需要改造,涉及投入资源去做,因此就需要有一个MCP层面的“Nginx”来反向代理存量的API,让个人和企业可以快速接入MCP生态,快速验证想法验证市场,而不需要一开始大量effort去投入改造。

目前市场上只有Higress在支持MCP网关后迎来第二春,但是我觉得Higress并不一定适合所有人,他的接入成本略高,文档缺失,配置难以捉摸,基于istio、envoy、wasm这一套的学习成本不低,尤其希望能做一定的二开,极其痛苦。但是不可否认阿里在大规模场景下是有技术护城河的,这边只是客观描述现存问题,不拉不踩。基于这样的背景,我觉得市面上是需要存在一个更低成本、平台中立、轻量化的方案,因此我开源了这个项目,目前我们在生产环境也在持续接入MCP,因此未来会持续迭代,目前v0.2.2版本已经支持Docker allinone,集简易管理平台+核心网关服务,轻松低负担配置后可直接使用。


✨ MCP Gateway 是什么?

MCP Gateway 是一个用 Go 编写的轻量高可用网关服务,帮助个人与企业将已有的 API 通过配置方式转换为符合 MCP 协议 的服务,无需改动任何代码。


官网

GitHub: https://github.***/AmoyLab/Unla
文档:https://mcp.ifuryst.***


核心设计理念

✅ 零侵入:平台中立,适配物理机、虚拟机、ECS、K8s 等环境,无需改动现有基础设施
🔄 配置驱动:通过 YAML 配置即可将存量 API 转换为 MCP Server,无需改代码
🪶 轻量高效:架构极致轻量,拒绝在性能与高可用性上妥协
🧭 内置管理界面:开箱即用的 Web UI,降低学习与运维成本

架构图

快速开始

一键启动 MCP Gateway

这边需要注意几个环境变量的内容要改一下:

export OPENAI_API_KEY="sk-eed837fb0b4a62ee69abc29a983492b7PlsChangeMe"
export OPENAI_MODEL="gpt-4o-mini"
export APISERVER_JWT_SECRET_KEY="fec6d38f73d4211318e7c85617f0e333PlsChangeMe"
export SUPER_ADMIN_USERNAME="admin"
export SUPER_ADMIN_PASSWORD="297df52fbc321ebf7198d497fe1c9206PlsChangeMe"

一键拉起

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 OPENAI_API_KEY=${OPENAI_API_KEY} \
  -e OPENAI_MODEL=${OPENAI_MODEL} \
  -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

中国境内的设备可以拉阿里云仓库的镜像并自定义模型(这边示例是千问)

export OPENAI_BASE_URL="https://dashscope.aliyuncs.***/***patible-mode/v1/"
export OPENAI_API_KEY="sk-eed837fb0b4a62ee69abc29a983492b7PlsChangeMe"
export OPENAI_MODEL="qwen-turbo"
export APISERVER_JWT_SECRET_KEY="fec6d38f73d4211318e7c85617f0e333PlsChangeMe"
export SUPER_ADMIN_USERNAME="admin"
export SUPER_ADMIN_PASSWORD="297df52fbc321ebf7198d497fe1c9206PlsChangeMe"

一键拉起

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 OPENAI_BASE_URL=${OPENAI_BASE_URL} \
  -e OPENAI_API_KEY=${OPENAI_API_KEY} \
  -e OPENAI_MODEL=${OPENAI_MODEL} \
  -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 \
  registry.ap-southeast-1.aliyuncs.***/amoylab/unla-allinone:latest

访问和配置

访问 Web 界面:

在浏览器中打开 http://localhost:8080/
使用配置的管理员账号密码登录

添加 MCP Server:

复制配置文件:https://github.***/amoylab/unla/blob/main/configs/mock-server.yaml
在 Web 界面上点击 “Add MCP Server”
粘贴配置并保存
添加 MCP Server 示例

可用端点
配置完成后,服务将在以下端点可用:

MCP SSE: http://localhost:5235/mcp/user/sse
MCP SSE Message: http://localhost:5235/mcp/user/message
MCP Streamable HTTP: http://localhost:5235/mcp/user/mcp

在MCP Client中配置/sse或/mcp后缀的url即可开始使用

测试

您可以通过以下两种方式测试服务:

使用 Web 界面中的 MCP Chat 页面
使用您自己的 MCP Client(推荐)
高级配置(可选)
如果您需要更细粒度的配置控制,可以通过挂载配置文件的方式启动:

创建必要的目录并下载配置文件:

mkdir -p unla/{configs,data}
cd unla/
curl -sL https://raw.githubusercontent.***/amoylab/unla/refs/heads/main/configs/apiserver.yaml -o configs/apiserver.yaml
curl -sL https://raw.githubusercontent.***/amoylab/unla/refs/heads/main/configs/mcp-gateway.yaml -o configs/mcp-gateway.yaml
curl -sL https://raw.githubusercontent.***/amoylab/unla/refs/heads/main/.env.example -o .env.allinone

使用 Docker 运行 MCP Gateway:

docker run -d \
           --name unla \
           -p 8080:80 \
           -p 5234:5234 \
           -p 5235:5235 \
           -p 5335:5335 \
           -p 5236:5236 \
           -e ENV=production \
           -v $(pwd)/configs:/app/configs \
           -v $(pwd)/data:/app/data \
           -v $(pwd)/.env.allinone:/app/.env \
           --restart unless-stopped \
           ghcr.io/amoylab/unla/allinone:latest
转载请说明出处内容投诉
CSS教程网 » MCP Gateway:零侵入式 API 到 MCP 协议的转换网关

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买