MCP-Gateway
将多个 MCP Server 与 Skill 统一接入单一网关,提供转发、认证与管理 API
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
将多个 MCP Server 与 Skill 统一接入单一网关,提供转发、认证与管理 API
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你在用某个网页版 AI 编程工具写代码,它很强大,但每次想调用本地文件、跑个脚本,或者让浏览器自动化完成一些任务,都得折腾半天配置。你有没有想过——如果能把本机的各种工具能力"接"到同一个入口,让 AI 工具像调用普通 API 一样调用它们,会怎样?
MCP-Gateway 正是来解决这个问题的。它是一个本地 MCP(Model Context Protocol)网关,可以把本机的各种 MCP 服务——比如文件读写、Shell 命令、Playwright 浏览器控制等——统一暴露成标准 HTTP 接口,让任何支持 MCP 协议的客户端都能通过一个入口调用它们。简单说,它让你的电脑变成一个可控的 AI 工具中心。
网关配置界面,可管理多个 MCP 服务、访问策略和认证令牌
MCP(Model Context Protocol)是 Anthropic 在 2024 年末推动的开放协议,旨在标准化 AI 模型与外部工具之间的通信方式。它的核心理念类似 USB——只要设备支持 USB 接口,插上就能用,MCP 也是如此:只要工具实现了 MCP 接口,AI 模型就能统一调用。
然而现实是:不同的 MCP 服务部署方式各异,有的只支持 stdio(标准输入输出),有的只支持 SSE,有的只支持 Streamable HTTP。当你想同时使用多个 MCP 工具时,往往需要分别管理它们的启动、端口和认证,配置成本极高。MCP-Gateway 的出现,正是为了解决这个"碎片化"问题——它把所有这些协议统一起来,做成一个"本地路由器"。
MCP-Gateway 的架构设计清晰,分为四个核心模块:
| 模块 | 技术栈 | 职责 |
|---|---|---|
gateway-cli | Rust + Clap | 命令行入口,负责启动和配置加载 |
gateway-core | Rust + Tokio | 核心逻辑:MCP 会话管理、策略执行、工具分发 |
gateway-http | Rust + Axum | HTTP 层:SSE、Streamable HTTP、AI 外接适配器 |
mcp-gateway-ui | React + TypeScript + Tauri | 桌面 UI:配置管理、可视化操作 |
网关支持两种传输协议出口:
/api/v2/sse/<serverName>,适合轻量级实时推送场景/api/v2/mcp/<serverName>,MCP 官方推荐的标准化协议AI 外接适配器是这个项目最有意思的模块。它能接收来自 OpenAI / Anthropic 协议客户端(如 Claude Code)的工具定义请求,自动提取并注册为 MCP 工具,然后暴露给其他 MCP 客户端使用。相当于在两个不同的 AI 协议生态之间架了一座桥。
内置工具面板,预置了文件读取、Shell 命令、多文件编辑、浏览器控制等实用能力
实际部署流程非常straightforward:
cargo install 如果已配置好 Rust 工具链)127.0.0.1:8765)filesystem、playwright 等 stdio 服务整个过程不需要 Docker,不需要 Kubernetes,纯 Rust 编译产物,一台普通电脑就能跑起来。缺点是目前没有官方预编译二进制包,必须自行编译——这对没有 Rust 开发环境的用户来说有一定门槛。
MCP-Gateway 内置了一套相当完善的安全策略引擎。基于 JSON 配置文件,它支持:
rm -rf /、sudo),可自定义规则这套机制对于将网关暴露给局域网其他机器使用的场景尤为重要。
坦诚地说,这个项目目前仍处于早期阶段,有几个现实问题:
1. 编译门槛高:没有预编译包,需要 Rust 工具链(rustup、cargo),对非 Rust 开发者不够友好。macOS/Windows 用户首次上手可能需要折腾环境。
2. 无容器化支持:既没有 Dockerfile 也没有 docker-compose.yml,无法通过容器快速部署。对于团队协作或服务器部署场景,这是一大痛点。
3. 文档以中文为主:README 有中英双语,但深入的技术文档(如架构设计、安全策略配置细节)主要依赖中文,对国际社区的贡献门槛略高。
4. 生态依赖性:它的价值很大程度上取决于"上游有多少可用的 MCP 服务"。目前 MCP 生态仍在快速发展,官方标准库尚不丰富,功能体验直接受上游影响。
MCP-Gateway 让我联想到当年 Docker 对容器化做的事——它没有重新发明容器,而是把已有的 Linux 容器能力统一包装成了 Docker 镜像和容器。MCP-Gateway 也是如此:它不重新发明 MCP 服务,而是把本机已有的各种 MCP 工具(文件、命令、浏览器等)通过统一网关暴露出去。
这个思路对于本地 AI 助手生态具有重要价值。随着 Claude Code、Cursor、Copilot 等 AI 编程工具的普及,如何让这些工具更好地与本地环境交互,将成为一个持续的需求点。MCP-Gateway 正在这个方向上做有意义的探索——尤其是在将不同协议和工具标准化统一接入这一点上。
如果你恰好有 Rust 环境,或者想深入了解 MCP 协议在本地工具编排中的实践,这个项目值得 clone 下来研究一下。
AI 外接适配器:将 OpenAI/Anthropic 协议的 AI 工具接入 MCP 生态
| 维度 | 详情 |
|---|---|
| 开发语言 | Rust(网关核心)+ TypeScript/React(UI) |
| 协议支持 | SSE、Streamable HTTP(MCP v2)、OpenAI Chat Completions、Anthropic Messages |
| 认证机制 | Admin Token + MCP Bearer Token |
| 配置文件 | JSON(config.example.json) |
| 安全策略 | 目录白名单、命令黑名单、执行确认 |
| 许可证 | MIT |
| 最新版本 | 0.1.9 |