使用说明(Markdown格式)
-
项目简介
- Gateway-Mcp 是一个基于 FastMCP 的 MCP 网关,能够将多个第三方 MCP 服务器聚合成少量顶层工具入口。通过 use_{server} 风格的工具,LLM 客户端可以一次性访问多个上游服务,降低上下文占用并提升调用效率。
-
主要功能点
- 聚合多上游 MCP 服务器为统一入口,减少需要在 LLM 端维护的工具数量
- 动态获取并缓存上游服务器提供的工具列表,便于查询和选择
- 为每个上游服务器注册一个聚合工具,统一通过 dispatch 机制进行调用
- 支持列出上游工具、调用工具、提取并转化调用结果
- 使用 FastMCP 框架实现 MCP 服务端能力,具备扩展性和可配置性
-
安装步骤
- 安装依赖:使用 Python 环境并安装 FastMCP 库
- 获取代码并进入项目目录
- 启动网关服务器:运行 gateway_mcp_server.py
- 配置上游 MCP 服务器:在 mcps_config.json 中添加需要聚合的上游服务器信息
- 上游服务器启动后,网关会尝试获取工具列表并注册对应的入口工具
-
服务器配置
- MCP 客户端需要配置的内容(供 MCP 客户端与网关对接时参考,实际使用时客户端通常只需知道启动命令和参数即可连接):
- 服务器配置文件(mcps_config.json)应包含 mcpServers 字段,内部按名称区分,每个上游条目包含以下内容:
- name:上游 MCP 服务器名称(用于在网关中生成对应的聚合工具名称,例如 use_{name})
- command:启动该上游 MCP 服务器所使用的命令路径(例如 Python 可执行程序的路径)
- args:启动该上游 MCP 服务器的参数列表,例如上游服务器的脚本路径
- env(可选):启动环境变量
- 备注:网关会在启动时尝试通过该配置信息与上游服务器建立连接并获取工具列表,若获取失败仍将上游服务器注册为可用但不显示工具列表
- 具体示例描述(请按实际环境填写命令与参数,不在此处提供代码块):
- 上游服务器 A(例如 filesystem)配置包括 name、command、args;网关将对其创建一个名为 use_filesystem 的聚合入口工具
- 上游服务器 B(例如 git)配置包括 name、command、args;网关将对其创建一个名为 use_git 的聚合入口工具
- 请确保为网关自身的执行提供正确的 Python 环境与入口脚本路径,使网关能够正常启动并注册工具
-
基本使用方法
- 列出某个上游服务器的可用工具:使用 use_<server> 调用 action="list"(如 use_filesystem(action="list", params={}))
- 读取文件、查询状态、提交等操作:通过对应的 action 与 params 调用上游工具
- 查看具体某个工具的详细描述:在网关初始化时会尝试缓存并显示可用工具的描述信息;也可通过 list 查看完整工具列表
- 如需新增上游 MCP 服务器,只需在 mcps_config.json 中添加新条目,网关会自动注册新的 use_{name} 工具
信息
分类
AI与计算