内容
#由网关
MCP 路由网关是一个无状态的路由器和纯代理,旨在 **解决“LLM 选择用户未预期的工具”** 的问题,这是当前主流 AI 代理(例如 Claude Desktop、C面临的常见问题。
## 🌟 为什么需要 MCP 路由网关?
MCP 服务器直接注册到标准 AI 代理时,LLM 可以自由浏览和执行所有工具,存在触发意外破坏性操作或不必要的工具调用的风险。
该项目位于 AI 代理和实际的 MCP 服务器组之间,协调通信以提供一个控制层,**“仅向 LLM 呈现安全策划(过滤和虚拟化)的工具。”**
## 🏗️ 架构
该项目内部集成了“MCP 服务器”和“MCP 客户端”功能。
```text
AI 代理(MCP 客户端)→ | [MCP 服务器] 网关 [MCP 客户端] | → 后端 MCP 服务器
```
1. **前端(MCP 服务器):** 作为一个“单一、安全的 MCP 服务器”面向 AI 代理,通过标准输入/输出(`stdio`)接受连接。
2. **后端(MCP 客户端):** 读取 `mcp_config.json` 并自动启动和管理多个 MCP 服务器(通过 `stdio` 生成的子进程)。
## 🎯 设计理念
该项目建立在严格的 **“路由器和纯代理”** 哲学之上。
1. **零负载干扰(直通):**
它不会干扰请求 ID 或参数等负载。它完全专注于中继通信,作为一个纯管道。
2. **外观模式(过滤和工具覆盖):**
网关仅介入 `tools/list`(呈现工具列表)和 `tools/call`(工具调用)的路由。根据配置文件,它会隐藏或用安全的虚拟工具替换它们。
## 配置
所有配置都以 JSON 格式进行管理。默认情况下,网关在工作目录 `~/.mcp-routing-gateway` 中查找这些文件。您work-dir` CLI 此目录。
1. **`mcp_config.json`(后端定义):**
MCP 配置文件格式。它定义了网关连接并在后台启动 服务器组。
2._config.json`(路由定义):**
网关特有的规则配置文件。它定义要隐藏哪些工具(阻止工具)”和“要虚拟化哪些工具(虚拟工具)。”
有关详细用法和 CLI 选项,请参阅 [](doc/user_manual_en