使用说明
-
项目简介 FluidMCP 旨在为 LLM 客户端提供一个统一的 MCP 服务网关。通过一个配置文件可以同时管理和启动多个 MCP 服务器(每个服务器对应一个独立的 MCP 实例),网关统一对外暴露 HTTP/JSON-RPC 接口,支持读取资源、调用工具、获取并渲染提示模板等能力,便于在对话中动态提供上下文信息和外部功能。
-
主要功能点
- 多服务器编排与统一入口 以单一网关管理并暴露多套 MCP 服务器、工具和提示,便于大模型对话中的上下文服务扩展。
- 资源与工具管理 支持读取资源、注册并执行工具,以及通过 JSON-RPC 间接调用外部功能。
- 提示模板渲染 定义并渲染 Prompt 模板,支持可定制的 LLM 交互模式。
- JSON-RPC 传输与路由 客户端通过标准的 JSON-RPC 与网关通信,网关将请求转发到相应的 MCP 子服务器并返回响应。
- 支持多传输与会话模式 通过 FastAPI 提供多种传输能力(HTTP/REST、SSE、WebSocket 等),并提供会话管理与能力声明。
-
安装步骤
- 安装 CLI/服务端所需依赖 使用 Python 包管理工具安装 FluidMCP(示例性步骤:安装 Python 环境后执行安装命令来获取该工具及其依赖)。
- 配置本地/远程 MCP 服务器
- 在 config.json 配置文件中定义要管理的 MCP 服务器集合。每个服务器包含服务器名称、启动命令和参数,以及可选的环境变量。例如:
- google-maps: 启动命令为 npx,参数为 ["-y", "@google-maps/mcp-server"],环境变量包含 GOOGLE_MAPS_API_KEY。
- filesystem: 启动命令为 npx,参数为 ["-y", "@modelcontextprotocol/server-filesystem","/path/to/allowed/files"],环境变量为空。
- 在 config.json 配置文件中定义要管理的 MCP 服务器集合。每个服务器包含服务器名称、启动命令和参数,以及可选的环境变量。例如:
- 启动网关 通过 FluidMCP CLI 启动网关(单网关模式或多服务器模式),网关默认对外暴露在 http://localhost:8099,文档可在 http://localhost:8099/docs 查看。
-
服务器配置(MCP 服务器的启动信息) MCP 服务器对客户端的最小需求是提供可启动的命令和参数以启动对应的 MCP 实例。配置应包含:
- server name:服务器的唯一标识名称
- command:启动该 MCP 服务器的命令,例如 npx、node、python、uvicorn 等
- args:启动命令所需的参数数组
- env(可选):启动时的环境变量,供 RPC 读取和运行时使用 注释说明:每个服务器的 install_path 将指向该 MCP 实例在本地磁盘中的安装位置,网关会基于 metadata.json 或运行时信息将工具、资源与提示暴露在统一的入口下。下面给出基于仓库信息的准确描述,便于在你的 config.json 中配置多个 MCP 服务器。
示例说明(以文本形式呈现的配置信息,非代码块):
- "google-maps" 服务器
- 启动命令: npx
- 启动参数: ["-y", "@google-maps/mcp-server"]
- 环境变量: GOOGLE_MAPS_API_KEY=your-api-key
- "filesystem" 服务器
- 启动命令: npx
- 启动参数: ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
- 环境变量: 为空
-
基本使用方法
- 通过 FluidMCP 网关一次性启动并管理多个 MCP 服务器
- 使用统一的入口对外提供接口,LLM 客户端通过网关调用工具、读取资源、获取 Prompts
- 如需单独测试某个 MCP 服务器,可以通过网关对相应的路径进行 JSON-RPC 请求(如 /<server-name>/mcp、/tools/list、/tools/call 等)
-
备注与注意
- MCP 客户端需要的仅是启动信息(server 名称、command、args 等)。具体的服务器内运行细节、资源、工具和提示模板的定义由各 MCP 实例自身提供并通过元数据(metadata.json)进行描述。
- 本实现提供了对接、加载、路由以及安全(可选)机制,确保多服务器在一个网关下可并发服务。
信息
分类
AI与计算