FastGPT 结合 MCP 协议实现工具增强型智能体构建
FastGPT 通过 MCP 协议集成外部工具,支持 Client 和 Server 交互。文章演示了创建 MCP 工具集、测试工具及模型调用流程。针对私有化部署,提供了 docker-compose 配置方案。此外,利用 MCP-Proxy 可聚合多个服务,实现海量开源组件接入,扩展智能体应用能力边界。

FastGPT 通过 MCP 协议集成外部工具,支持 Client 和 Server 交互。文章演示了创建 MCP 工具集、测试工具及模型调用流程。针对私有化部署,提供了 docker-compose 配置方案。此外,利用 MCP-Proxy 可聚合多个服务,实现海量开源组件接入,扩展智能体应用能力边界。

MCP 协议(Model Context Protocol)是由 Anthropic 在 2024 年 11 月初发布的一种协议,旨在统一 AI 模型与外部系统之间的通信方式,简化它们之间的交互问题。随着 OpenAI 官方宣布支持 MCP 协议,越来越多的 AI 厂商也开始支持这一协议。
MCP 协议主要包含 Client 和 Server 两部分:
FastGPT 从 v4.9.6 版本开始,新增了两种 MCP 相关的功能:
mcp-proxy 是开源的 mcp 协议聚合代理,可以聚合多个 mcp 服务,并提供统一的 mcp 服务地址。
本文重点介绍如何在 FastGPT 中集成和使用 MCP 工具集。对于私有化部署的 fastgpt,给出了 mcp 服务聚合的解决方案,从而实现海量的开源 mcp 组件能够快速接入 Fastgpt 平台,为平台上的智能体应用提供丰富的集成能力。
首先,您需要获取一个支持 MCP 协议的服务地址。这里以高德地图的 MCP 服务为例,访问高德地图 MCP Server 获取 MCP 地址,格式如:https://mcp.amap.com/sse?key=xxx。
在工作台中选择'新建应用',然后选择'MCP 工具集'

创建完 MCP 工具集后,您可以对工具集中的单个工具进行测试:
选择需要测试的具体工具,例如 maps_weather(天气查询工具)

FastGPT 支持两种方式让 AI 模型调用 MCP 工具:
测试效果:分别提问天气和地点相关问题左图:AI 调用天气查询工具 | 右图:AI 调用地点搜索工具


选择之前创建的特定 MCP 工具,例如选择 maps_weather 和 maps_text_search

FastGPT 还支持让 AI 自动选择合适的工具进行调用:
使用'工具调用'节点连接该工具集


如果您使用的是 FastGPT 私有化部署版本,需要以下步骤来支持 MCP 功能:
确保您的 FastGPT 版本升级到 v4.9.6 或更高版本。
在您的 docker-compose.yml 文件中添加 fastgpt-mcp-server 服务:
fastgpt-mcp-server:
container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.9.6
ports:
- 3005:3000
networks:
- fastgpt
restart: always
environment:
- FASTGPT_ENDPOINT=http://fastgpt:3000
编辑 config.json 配置文件,添加以下配置(末尾不要携带'/'):
{"feConfigs":{"lafEnv":"https://laf.dev","mcpServerProxyEndpoint":"https://mcp.您的域名.com"}}
执行以下命令重启服务:
docker-compose down
docker-compose up -d
重启完成后,您就可以在工作台看到 MCP 服务和 MCP 工具集选项了。
在实际应用场景中,我们可能需要使用多个 MCP 服务,这就需要一个聚合代理来整合这些服务。MCP-Proxy 是一个开源工具,它可以将多个 MCP 资源服务器聚合并通过单一 HTTP 服务器提供。
MCP-Proxy 具有以下特点:
有多种方式可以安装 MCP-Proxy:
通过 Docker 安装(推荐):
docker run -d -p 9090:9090 -v /path/to/config.json:/config/config.json ghcr.io/tbxark/mcp-proxy:latest
从源码构建:
git clone https://github.com/TBXark/mcp-proxy.git
cd mcp-proxy
make build
./build/mcp-proxy --config path/to/config.json
通过 Go 安装:
go install github.com/TBXark/mcp-proxy@latest
创建一个 config.json 文件,内容如下:
{"mcpProxy":{"baseURL":"https://mcp.example.com:5678","addr":":9090","name":"MCP Proxy","version":"1.0.0","options":{"panicIfInvalid":false,"logEnabled":true,"authTokens":["DefaultTokens"]}},"mcpServers":{"github":{"command":"npx","args":["-y","@modelcontextprotocol/server-github"],"env":
注意:
https://mcp.example.com:5678这个配置文件定义了三个 MCP 服务:
完成 MCP-Proxy 配置和部署后,您将得到一个统一的 MCP 服务地址,例如 https://mcp.example.com:5678/{clientName}/sse。这个地址可以直接在 FastGPT 中使用:
https://mcp.example.com:5678/amap/sse、https://mcp.example.com:5678/github/sse 或 https://mcp.example.com:5678/fetch/sseMCP-Proxy 提供了丰富的高级配置,包括:
"options":{"toolFilter":{"mode":"block","list":["create_or_update_file"]}}
"options":{"authTokens":["SpecificTokens"]}
FastGPT 的 MCP 工具集成功能极大地扩展了平台的能力边界,通过统一的 MCP 协议,使 FastGPT 能够轻松对接各种外部服务和工具。不管是地图服务、天气查询,还是其他各类 API 服务,都可以通过 MCP 协议集成到 FastGPT 中,让 AI 模型能够获取实时、准确的外部信息,为用户提供更加智能、全面的服务。
而 mcp-proxy 的集成使用,则可以让 FastGPT 平台上的智能体应用,快速接入海量的开源 mcp 组件,从而实现更加丰富的应用场景。两者结合实现了 AI 开源生态集成的闭环。
随着越来越多的服务提供商支持 MCP 协议,FastGPT 的 MCP 工具集将变得更加丰富和强大,为用户带来更多可能性。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online