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

爬虫工程师必备:用Selenium+Python自动获取登录态Cookie的3种实战方案

爬虫工程师的“钥匙串”:三种高可用Selenium Cookie获取方案深度实战 做爬虫,尤其是需要处理用户登录态的爬虫,最让人头疼的往往不是解析页面,而是如何稳定、优雅地拿到那把“钥匙”——身份认证凭证。无论是传统的Cookie,还是现代应用偏爱的Token、Session,获取它们的过程,常常是项目从“玩具级”迈向“生产级”的第一道坎。很多开发者止步于简单的driver.get_cookies(),却在面对复杂登录流程、动态令牌或反爬策略时束手无策。今天,我们不谈那些手动复制粘贴的“玩具”方法,而是聚焦于如何用Selenium构建一套健壮的、可自动化的身份凭证获取体系。这不仅仅是调用一个API,更是一场关于浏览器自动化、网络协议理解与工程化思维的实战。 1. 基础与进阶:超越 get_cookies() 的API获取方案 绝大多数Selenium教程都会告诉你,获取Cookie只需一行代码:cookies = driver.get_cookies()。这没错,但如果你只停留在这一步,可能会错过一半的风景,并踩进无数的坑。

By Ne0inhk
【SpringBoot】一篇文章讲清楚拦截器所有知识

【SpringBoot】一篇文章讲清楚拦截器所有知识

🎬 那我掉的头发算什么:个人主页 🔥 个人专栏: 《javaSE》《数据结构》《数据库》《javaEE》 ⛺️待到苦尽甘来日 文章目录 * 拦截器 * 快速入门 * 定义拦截器 * 注册配置拦截器 * 拦截器详解 * 拦截路径 * 拦截器执行流程 * 登录校验 * 定义注册拦截器 * DispatcherServlet 源码分析 * 适配器模式 拦截器 快速入门 拦截器是 Spring 框架提供的核心功能之一,主要用来拦截用户的请求,在指定方法执行的前后,根据业务需要执行预先设定的代码。 也就是说,拦截器允许开发人员提前定义一些通用逻辑,在用户的请求被处理前、响应返回后执行;也可以在用户请求处理前直接阻止其执行。 在拦截器中,开发人员可以实现应用程序中的一些通用性操作。比如通过拦截器拦截前端发来的所有请求,判断 Session 中是否存在登录用户的信息:如果存在则放行请求,继续处理业务;如果不存在则拦截请求,拒绝后续处理。 就好比上学时进校门出校门需要带出入证,保安就

By Ne0inhk

ROS 2从入门到精通系列(一):什么是ROS2 - 核心概念和架构

ROS 2从入门到精通系列(一):什么是ROS2 - 核心概念和架构 本文是ROS2系列的第一篇,帮助你快速理解ROS2的核心概念和系统架构。 引言 如果你即将学习ROS2或者对机器人开发感兴趣,首先需要理解:什么是ROS2? ROS(Robot Operating System)是一个灵活的框架,用于编写机器人软件。ROS2是其第二代版本,相比ROS1有重大改进。本文将从零开始,帮你建立起对ROS2的全面认识。 一、什么是ROS2? 1.1 ROS2的定义 ROS2 是一个分布式计算框架,专门为机器人应用设计。它提供了: * 硬件抽象 - 屏蔽各类传感器和执行器的底层差异 * 中间件 - 实现进程间通信(IPC)和跨机器通信 * 工具链 - 调试、可视化、模拟等开发工具 * 库和算法 - 常用机器人算法的参考实现 1.2 为什么是ROS2而不是ROS1?

By Ne0inhk
Flutter 组件 ansi_text 适配鸿蒙 HarmonyOS 实战:终端色彩渲染,构建高性能 ANSI 日志高亮与命令行交互架构

Flutter 组件 ansi_text 适配鸿蒙 HarmonyOS 实战:终端色彩渲染,构建高性能 ANSI 日志高亮与命令行交互架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 ansi_text 适配鸿蒙 HarmonyOS 实战:终端色彩渲染,构建高性能 ANSI 日志高亮与命令行交互架构 前言 在鸿蒙(OpenHarmony)生态迈向工业级运维、涉及大量后台守护进程(Daemon)、系统日志审计及开发者工具链(CLI)开发的背景下,如何为枯燥的纯文本终端注入具备视觉层级的色彩与样式,已成为提升调试效率与故障定位速度的“视觉助推器”。在鸿蒙设备这类强调 AOT 极致性能与低级别 shell 交互的环境下,如果应用依然依赖基础的单色字符串输出日志,由于由于信息流极其庞大且缺乏重点,极易由于由于“视觉疲劳”导致关键系统警告或业务异常被淹没在海量数据中。 我们需要一种能够支持 ANSI 转义序列、具备富文本样式(加粗/背景色)且兼容多种终端模拟器的文本渲染方案。 ansi_text 为 Flutter 开发者引入了基于标准

By Ne0inhk