基于 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 工具集
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 相关的环境变量配置。通常需要在 FastGPT 服务容器中添加 MCP_PROXY_URL 环境变量,指向本地运行的 MCP-Proxy 地址。同时确保网络配置允许容器间通信。
services:
fastgpt:
environment:
- MCP_PROXY_URL=http://mcp-proxy:3000
3. 修改 FastGPT 配置
在 .env 文件中确认 MCP 功能已启用,设置 NEXT_PUBLIC_MCP_ENABLED=true。如果使用了自定义域名,需确保 SSL 证书配置正确,因为部分 MCP 服务要求 HTTPS 连接。
4. 重启服务
执行以下命令重启 Docker 容器以应用新配置:
docker-compose down
docker-compose up -d
验证服务是否启动成功,并检查日志中是否有 MCP 初始化相关的报错信息。
六、使用 MCP-Proxy 集成多个 MCP 服务
1. MCP-Proxy 简介
MCP-Proxy 是一个开源的 MCP 协议聚合代理,用于将多个分散的 MCP Server 聚合成一个统一的 MCP 服务地址。这解决了在 FastGPT 中直接管理大量独立 MCP 服务的复杂性。
2. 安装 MCP-Proxy
可以通过 Docker 快速部署 MCP-Proxy。拉取官方镜像并运行容器:
docker run -d --name mcp-proxy -p 3000:3000 ghcr.io/modelcontextprotocol/mcp-proxy
3. 配置 MCP-Proxy
创建 config.yaml 文件定义要聚合的 MCP 服务列表。每个服务需指定名称、类型及连接地址。
servers:
- name: amap_weather
type: sse
url: https://mcp.amap.com/sse?key=xxx
- name: local_tool
type: stdio
command: node
args: ["./tools/index.js"]
4. 将 MCP-Proxy 与 FastGPT 集成
在 FastGPT 的 MCP 工具集配置中,填入 MCP-Proxy 的地址,例如 http://localhost:3000。FastGPT 将通过此代理访问所有注册的 MCP 服务。
5. 高级配置
支持配置鉴权中间件、请求限流策略以及日志记录。在生产环境中建议开启认证机制,防止未授权访问。
七、最佳实践建议
- 安全性:确保 MCP 服务地址仅在内网可访问,避免暴露敏感接口。
- 监控:定期检查 MCP 服务的响应延迟和错误率,及时排查异常。
- 版本管理:关注 MCP 协议更新,保持 FastGPT 与 MCP 服务的兼容性。
- 资源隔离:为不同的业务场景分配独立的 MCP 服务实例,避免相互干扰。
八、总结
本文详细介绍了如何在 FastGPT 中集成和使用 MCP 工具集,实现了 AI 模型对第三方工具的灵活调用。通过 MCP-Proxy 方案,有效解决了私有化部署下的多服务聚合问题。开发者可根据实际需求选择合适的 MCP 服务,构建功能更强大的智能体应用。


