FastGPT 集成 MCP 协议构建工具增强型智能体
一、MCP 协议简介
MCP 协议(Model Context Protocol)是由 Anthropic 在 2024 年 11 月初发布的一种协议,旨在统一 AI 模型与外部系统之间的通信方式,简化它们之间的交互问题。随着 OpenAI 官方宣布支持 MCP 协议,越来越多的 AI 厂商也开始支持这一协议。
MCP 协议主要包含 Client 和 Server 两部分:
- Client(客户端):使用 AI 模型的一方,通过 MCP Client 可以为模型提供调用外部系统的能力
- Server(服务端):提供外部系统调用的一方,实际运行外部系统的主体
FastGPT 从 v4.9.6 版本开始,新增了两种 MCP 相关的功能:
- MCP 服务:可以将 FastGPT 应用以 MCP 协议对外提供
- MCP 工具集:可以导入外部 MCP 服务,让 FastGPT 使用外部工具
mcp-proxy 是开源的 mcp 协议聚合代理,可以聚合多个 mcp 服务,并提供统一的 mcp 服务地址。
本文将重点介绍如何在 FastGPT 中集成和使用 MCP 工具集。另外,对于私有化部署的 fastgpt,本文给出了 mcp 服务聚合的解决方案。从而实现海量的开源 mcp 组件能够快速接入 Fastgpt 平台,为平台上的智能体应用提供丰富的集成能力。给出了开源 mcp 社区和 fastgpt 社区资源和平台的完整对接路径。
二、创建 MCP 工具集
1. 获取 MCP 服务地址
首先,您需要获取一个支持 MCP 协议的服务地址。这里以高德地图的 MCP 服务为例,访问 高德地图 MCP Server 获取 MCP 地址,格式如:https://mcp.amap.com/sse?key=xxx。
2. 在 FastGPT 中创建 MCP 工具集
- 登录 FastGPT 平台
- 在弹出窗口中填入 MCP 服务地址
- 点击'解析'按钮,系统会自动解析出该 MCP 服务提供的一系列工具
- 点击'创建'按钮完成 MCP 工具集的创建
在工作台中选择'新建应用',然后选择'MCP 工具集'。
三、测试 MCP 工具
创建完 MCP 工具集后,您可以对工具集中的单个工具进行测试:
- 进入 MCP 工具集详情页面
- 输入测试参数,如城市名称'杭州'
- 点击'运行'按钮,查看工具返回的结果
- 系统会显示该城市的具体天气信息
选择需要测试的具体工具,例如 maps_weather(天气查询工具)。
四、AI 模型调用 MCP 工具
FastGPT 支持两种方式让 AI 模型调用 MCP 工具:
1. 调用单个工具
- 在工作流中添加'工具调用'节点
- 连接工作流节点,让 AI 模型能够调用这些工具
测试效果:分别提问天气和地点相关问题。左图:AI 调用天气查询工具 | 右图:AI 调用地点搜索工具。
选择之前创建的特定 MCP 工具,例如选择 maps_weather 和 maps_text_search。
2. 调用整个工具集
FastGPT 还支持让 AI 自动选择合适的工具进行调用:
- 在工作流中添加'MCP 工具集'节点
- 此时 AI 会根据用户问题智能选择合适的工具,获取所需信息后回答问题
使用'工具调用'节点连接该工具集。
五、私有化部署支持
如果您使用的是 FastGPT 私有化部署版本,需要以下步骤来支持 MCP 功能:
1. 环境准备
确保您的 FastGPT 版本升级到 v4.9.6 或更高版本。
2. 修改 docker-compose.yml 文件
在 docker-compose.yml 文件中添加 MCP Proxy 相关的环境变量配置,确保容器能够访问外部 MCP 服务地址。通常需要在 environment 部分添加 MCP_PROXY_URL 等变量。
services:
fastgpt:
environment:
- MCP_PROXY_URL=http://mcp-proxy:3000
3. 修改 FastGPT 配置
在 .env 文件或 FastGPT 管理后台配置中,启用 MCP 功能开关,并设置代理服务器地址。确保网络策略允许 FastGPT 容器访问 MCP 服务。
4. 重启服务
执行以下命令重启 Docker 服务以应用更改:
docker compose up -d
六、使用 MCP-Proxy 集成多个 MCP 服务
1. MCP-Proxy 简介
MCP-Proxy 是一个开源的 MCP 协议聚合代理,用于统一管理多个 MCP 服务,降低客户端连接复杂度。
2. 安装 MCP-Proxy
可以通过 npm 或 Docker 安装 MCP-Proxy。推荐使用 Docker 部署以保证环境一致性。
docker run -p 3000:3000 mcp-proxy:latest
3. 配置 MCP-Proxy
创建配置文件 config.yaml,定义需要聚合的 MCP 服务列表及连接参数。
services:
- name: map_service
url: https://mcp.amap.com/sse
- name: weather_service
url: https://weather.mcp.example.com
4. 将 MCP-Proxy 与 FastGPT 集成
在 FastGPT 的 MCP 工具集配置中,填入 MCP-Proxy 的统一地址,例如 http://localhost:3000。FastGPT 将通过代理访问所有后端 MCP 服务。
5. 高级配置
支持配置认证令牌、超时时间以及错误重试策略,以提高连接的稳定性和安全性。
七、最佳实践建议
- 安全性:确保 MCP 服务地址经过验证,避免注入攻击。
- 性能优化:合理设置缓存策略,减少重复请求。
- 监控日志:开启详细日志记录,便于排查工具调用失败的问题。
- 版本管理:定期更新 MCP 服务和 FastGPT 版本,修复已知漏洞。
八、总结
本文详细介绍了 FastGPT 结合 MCP 协议实现工具增强型智能体的构建方法。通过集成 MCP 工具集,开发者可以快速扩展 AI 模型的外部调用能力。同时,提供了私有化部署和 MCP-Proxy 聚合方案,解决了多服务接入的复杂性。遵循最佳实践建议,可进一步提升系统的稳定性和安全性。