> 技术文档 > AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建_fastgpt mcp

AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建_fastgpt mcp


AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建

作者:高瑞冬

本文目录

  • AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建
    • 一、MCP协议简介
    • 二、创建MCP工具集
      • 1. 获取MCP服务地址
      • 2. 在FastGPT中创建MCP工具集
    • 三、测试MCP工具
    • 四、AI模型调用MCP工具
      • 1. 调用单个工具
      • 2. 调用整个工具集
    • 五、私有化部署支持
      • 1. 环境准备
      • 2. 修改docker-compose.yml文件
      • 3. 修改FastGPT配置
      • 4. 重启服务
    • 六、使用MCP-Proxy集成多个MCP服务
      • 1. MCP-Proxy简介
      • 2. 安装MCP-Proxy
      • 3. 配置MCP-Proxy
      • 4. 将MCP-Proxy与FastGPT集成
      • 5. 高级配置
    • 七、最佳实践建议
    • 八、总结

一、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相关的功能:

  1. MCP服务:可以将FastGPT应用以MCP协议对外提供
  2. 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工具集

  1. 登录FastGPT平台

  2. 在工作台中选择\"新建应用\",然后选择\"MCP工具集\"

    AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建_fastgpt mcp

  3. 在弹出窗口中填入MCP服务地址

  4. 点击\"解析\"按钮,系统会自动解析出该MCP服务提供的一系列工具

  5. 点击\"创建\"按钮完成MCP工具集的创建

三、测试MCP工具

创建完MCP工具集后,您可以对工具集中的单个工具进行测试:

  1. 进入MCP工具集详情页面

  2. 选择需要测试的具体工具,例如maps_weather(天气查询工具)

    AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建_fastgpt mcp

  3. 输入测试参数,如城市名称\"杭州\"

  4. 点击\"运行\"按钮,查看工具返回的结果

  5. 系统会显示该城市的具体天气信息

四、AI模型调用MCP工具

FastGPT支持两种方式让AI模型调用MCP工具:

1. 调用单个工具

  1. 在工作流中添加\"工具调用\"节点

  2. 选择之前创建的特定MCP工具,例如选择maps_weathermaps_text_search

    AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建_fastgpt mcp

  3. 连接工作流节点,让AI模型能够调用这些工具

  4. 测试效果:分别提问天气和地点相关问题

    左图:AI调用天气查询工具 | 右图:AI调用地点搜索工具

    AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建_fastgpt mcp AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建_fastgpt mcp

2. 调用整个工具集

FastGPT还支持让AI自动选择合适的工具进行调用:

  1. 在工作流中添加\"MCP工具集\"节点

  2. 使用\"工具调用\"节点连接该工具集

    AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建_fastgpt mcp AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建_fastgpt mcp

  3. 此时AI会根据用户问题智能选择合适的工具,获取所需信息后回答问题

五、私有化部署支持

如果您使用的是FastGPT私有化部署版本,需要以下步骤来支持MCP功能:

1. 环境准备

确保您的FastGPT版本升级到v4.9.6或更高版本。

2. 修改docker-compose.yml文件

在您的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

3. 修改FastGPT配置

编辑config.json配置文件,添加以下配置(末尾不要携带\"/\"):

{ \"feConfigs\": { \"lafEnv\": \"https://laf.dev\", \"mcpServerProxyEndpoint\": \"https://mcp.您的域名.com\" }}

4. 重启服务

执行以下命令重启服务:

docker-compose downdocker-compose up -d

重启完成后,您就可以在工作台看到MCP服务和MCP工具集选项了。

六、使用MCP-Proxy集成多个MCP服务

在实际应用场景中,我们可能需要使用多个MCP服务,这就需要一个聚合代理来整合这些服务。MCP-Proxy是一个开源工具,它可以将多个MCP资源服务器聚合并通过单一HTTP服务器提供。

1. MCP-Proxy简介

MCP-Proxy具有以下特点:

  • 代理多个MCP客户端:连接多个MCP资源服务器并聚合它们的工具和功能
  • SSE支持:提供SSE(Server-Sent Events)服务器以实现实时更新
  • 灵活配置:支持多种客户端类型(stdio、sse或streamable-http),可自定义设置

2. 安装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.gitcd mcp-proxymake build./build/mcp-proxy --config path/to/config.json

通过Go安装

go install github.com/TBXark/mcp-proxy@latest

3. 配置MCP-Proxy

创建一个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\": { \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"\" } }, \"fetch\": { \"command\": \"uvx\", \"args\": [ \"mcp-server-fetch\" ] }, \"amap\": { \"url\": \"https://mcp.amap.com/sse?key=\" } }}

注意:1,为了方便测试,配置文件的authTokens部分可以删除
2,baseURL需要填写外部可以访问的MCP-Proxy的地址(包含端口)(比如使用frpc内网穿透后的外部访问地址),例如https://mcp.example.com:5678

这个配置文件定义了三个MCP服务:

  • github:使用@modelcontextprotocol/server-github提供GitHub功能
  • fetch:使用mcp-server-fetch提供网络请求功能
  • amap:使用高德地图的MCP服务提供位置服务

4. 将MCP-Proxy与FastGPT集成

完成MCP-Proxy配置和部署后,您将得到一个统一的MCP服务地址,例如https://mcp.example.com:5678/{clientName}/sse。这个地址可以直接在FastGPT中使用:

  1. 在FastGPT工作台中选择\"新建应用\",然后选择\"MCP工具集\"
  2. 在MCP地址框中填入MCP-Proxy的地址,例如https://mcp.example.com:5678/amap/ssehttps://mcp.example.com:5678/github/ssehttps://mcp.example.com:5678/fetch/sse
  3. 点击\"解析\",系统会自动解析出该服务提供的所有工具
  4. 点击\"创建\"完成工具集创建

5. 高级配置

MCP-Proxy提供了丰富的高级配置,包括:

  • 工具过滤:可以设置允许或阻止特定工具
\"options\": { \"toolFilter\": { \"mode\": \"block\", \"list\": [\"create_or_update_file\"] }}
  • 认证令牌:可以为每个服务设置不同的认证令牌
\"options\": { \"authTokens\": [\"SpecificTokens\"]}
  • 多种通信协议:支持stdio、sse和streamable-http三种通信协议

七、最佳实践建议

  1. 工具组合:不同类型的MCP工具可以组合使用,例如将地图查询与天气查询结合,为用户提供更全面的信息。

  2. 参数调试:在正式使用前,建议对每个工具进行充分测试,了解其参数要求和返回结果格式。

  3. 错误处理:在工作流设计中,考虑添加错误处理节点,处理工具调用可能出现的异常情况。

  4. 提示词优化:为AI模型提供清晰的指引,说明何时应该调用哪些工具,以及如何解析工具返回的结果。

八、总结

FastGPT的MCP工具集成功能极大地扩展了平台的能力边界,通过统一的MCP协议,使FastGPT能够轻松对接各种外部服务和工具。不管是地图服务、天气查询,还是其他各类API服务,都可以通过MCP协议集成到FastGPT中,让AI模型能够获取实时、准确的外部信息,为用户提供更加智能、全面的服务。

而mcp-proxy的集成使用,则可以让FastGPT平台上的智能体应用,快速接入海量的开源mcp组件,从而实现更加丰富的应用场景。两者结合实现了AI开源生态集成的闭环。

随着越来越多的服务提供商支持MCP协议,FastGPT的MCP工具集将变得更加丰富和强大,为用户带来更多可能性。