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

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

AI Agent新范式: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相关的功能:

  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服务地址
  3. 点击"解析"按钮,系统会自动解析出该MCP服务提供的一系列工具
  4. 点击"创建"按钮完成MCP工具集的创建

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

创建MCP工具集

三、测试MCP工具

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

  1. 进入MCP工具集详情页面
  2. 输入测试参数,如城市名称"杭州"
  3. 点击"运行"按钮,查看工具返回的结果
  4. 系统会显示该城市的具体天气信息

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

测试MCP工具

四、AI模型调用MCP工具

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

1. 调用单个工具

  1. 在工作流中添加"工具调用"节点
  2. 连接工作流节点,让AI模型能够调用这些工具

测试效果:分别提问天气和地点相关问题左图:AI调用天气查询工具 | 右图:AI调用地点搜索工具

天气查询结果
地点搜索结果

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

调用单个工具

2. 调用整个工具集

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

  1. 在工作流中添加"MCP工具集"节点
  2. 此时AI会根据用户问题智能选择合适的工具,获取所需信息后回答问题

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

工具集配置
调用效果

五、私有化部署支持

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

1. 环境准备

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

Read more

深入探索Spring:Bean管理与Spring Boot自动配置原理

深入探索Spring:Bean管理与Spring Boot自动配置原理

目录 * Spring 原理深入探索 * 1. Bean 的作用域和生命周期 * 1.1 Bean 的作用域 * 1.2 Bean 的生命周期 * 2. Spring Boot 自动配置流程 * 3.总结 Spring 原理深入探索 1. Bean 的作用域和生命周期 1.1 Bean 的作用域 在Spring中,Bean的作用域(Scope)决定了Bean的实例化方式以及其生命周期。以下是Spring中常见的Bean作用域: 作用域说明singleton每个Spring IoC容器内同名称的bean只有⼀个实例(单例)(默认 )prototype每次使用该bean时会创建新的实例(非单例)request每个HTTP 请求生命周期内, 创建新的实例session每个HTTP Session生命周期内, 创建新的实例application每个ServletContext生命周期内, 创建新的实例websocket每个WebSocket生命周期内, 创建新的实例 我们直接上代码 后面根据运行结果观察Bean的作用域。

By Ne0inhk
【MySQL】从连接数据库开始:JDBC 编程入门指南

【MySQL】从连接数据库开始:JDBC 编程入门指南

个人主页:♡喜欢做梦 欢迎  👍点赞  ➕关注  ❤️收藏  💬评论 目录 🌟一、什么是JDBC? 🌟二、JDBC编程的步骤 ✨使用步骤 ✨DriverManger 💫定义 💫DriverManger的主要功能 💫DriverManger的核心方法 💫使用 ✨DataSource 💥定义 💥使用  💥代码优化 ✨DriverManger和DataSource的区别 🌟一、什么是JDBC? JDBC(Java Data Base Connectivity,Java数据库连接)是Java程序和数据库之间的桥梁,也就是Java语言操作数据库的标准API,他提供了一套用于执行SQL语句的Java接口。JDBC的主要作用就是:与数据库连接、发送SQL语句和处理数据库执行结果。 🌟二、JDBC编程的步骤 ✨使用步骤 1.加载数据库厂商的驱动包 2.建立连接,用户名,密码 3.创建Statement 4.发送要执行的SQL语句

By Ne0inhk
Flutter 组件 http_retry 的适配 鸿蒙Harmony 深度进阶 - 驾驭分布式负载感知重试、实现鸿蒙端高可靠通讯与协议幂等性审计方案

Flutter 组件 http_retry 的适配 鸿蒙Harmony 深度进阶 - 驾驭分布式负载感知重试、实现鸿蒙端高可靠通讯与协议幂等性审计方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 http_retry 的适配 鸿蒙Harmony 深度进阶 - 驾驭分布式负载感知重试、实现鸿蒙端高可靠通讯与协议幂等性审计方案 前言 在前文中,我们探讨了 http_retry 在鸿蒙(OpenHarmony)生态中解决单一移动终端弱网重试的基础实战。但在真正的“分布式工业物联网集成”、“跨设备协同办公资产同步”以及“需要对接具备动态压力管控的超大规模云原生后端”场景中。简单的指数退避往往难以应对复杂的网络分位震荡。面对一个需要在鸿蒙手机、智能穿戴设备与边缘网关之间,根据当前全网的平均负载压力(Load Pressure)动态调节重试节奏,并且要求在执行涉及核心资产变更(如:支付订单、库存锁定)的重试时执行绝对严密的协议幂等性(Idempotency)校验的高阶需求。如果缺乏一套具备分布式感知的重试调度模型。不仅会导致后端服务在故障恢复瞬间遭遇“重试波峰”引发再次崩溃,更会因为对非幂等操作的盲目重试。引发严重的业务资产错乱。 我们需要

By Ne0inhk
【Spring国际化(i18n)】1、核心原理详解:吃透这4个核心组件,搞定企业级多语言开发

【Spring国际化(i18n)】1、核心原理详解:吃透这4个核心组件,搞定企业级多语言开发

Spring国际化核心原理详解:吃透这4个核心组件,搞定企业级多语言开发 前言:为什么需要国际化?企业级项目多语言场景痛点 在全球化业务扩张和多区域部署的背景下,企业级Spring应用的“多语言适配”已从“加分项”变成“必选项”。你是否遇到过这些痛点: * 硬编码的提示语、异常信息散落在代码中,新增语言时需要逐行修改代码,效率低且易出错; * 不同国家/地区用户使用系统时,看到的仍是固定语言,体验差; * 微服务场景下,服务间调用的异常信息语言不一致,排查问题成本高; * 想切换语言但不知道底层逻辑,只能照搬网上的配置,遇到问题无从下手。 Spring框架提供了一套成熟的国际化(i18n,Internationalization的缩写,因首字母I和尾字母N之间有18个字母得名)解决方案,其核心是通过4个核心组件实现“消息解耦+动态加载”,让多语言适配变得简单、可维护。本文作为系列开篇,将从底层原理到入门实操,彻底讲透Spring国际化的核心逻辑,帮你从“知其然”到“知其所以然”。 Spring国际化核心设计思想:基于Locale的消息解耦与动态解析 Spring

By Ne0inhk