AIGC宇宙 AIGC宇宙

十大步骤详解Spring AI MCP机制底层实现,小白误入!

作者:IT周瑜
2025-04-11 09:01
MCP分为MCP Client和MCP Server:MCP Client负责进行工具发现和工具调用MCP Server负责提供工具和工具执行总体流程图图片十大步骤详解第一步,MCP Client接收用户的问题,比如“今天是几月几号”。 第二步,MCP Client发送tools/list请求给MCP Server进行工具发现。 利用Spring AI开发的MCP Server,可以利用@Tool注解定义工具,比如:图片并利用MethodToolCallbackProvider提供出去:在MCP Server的MpcServerAutoConfiguration自动配置类中定义了一个McpSyncServer的Bean,它会依赖注入ListToolCallbackProvider,这样McpSyncServer中就拿到了MCP Server中定义的所有Tools(调用ToolCallbackProvider的getToolCallbacks()即可拿到)。

MCP分为MCP Client和MCP Server:

  1. MCP Client负责进行工具发现工具调用
  2. MCP Server负责提供工具工具执行

总体流程图

图片图片

十大步骤详解

第一步,MCP Client接收用户的问题,比如“今天是几月几号”。

第二步,MCP Client发送tools/list请求给MCP Server进行工具发现。

利用Spring AI开发的MCP Server,可以利用@Tool注解定义工具,比如:

图片图片

并利用MethodToolCallbackProvider提供出去:

图片

在MCP Server的MpcServerAutoConfiguration自动配置类中定义了一个McpSyncServer的Bean,它会依赖注入List<ToolCallbackProvider>,这样McpSyncServer中就拿到了MCP Server中定义的所有Tools(调用ToolCallbackProvider的getToolCallbacks()即可拿到)。

第三步,McpSyncServer处理tools/list请求,并返回工具定义给MCP Client,所谓工具定义,就是工具的描述、方法名、入参信息等。

第四步,MCP Client在拿到了工具定义后,就把用户问题和工具定义一起发送给大模型。

第五步,大模型分析用户问题和工具信息,决定要调用某个工具,大模型会确定要调用工具的方法名、入参值等,并发送给MCP Client

第六步,MCP Client拿到了大模型的工具调用信息后,就向MCP Server发送tools/call请求,并携带了工具调用信息。

第七步,MCP Server处理tools/call请求,并通过反射执行指定的工具方法,得到并返回工具执行结果给MCP Client。

第八步,MCP Client拿到了工具执行结果后,把工具执行结果返回给大模型。

第九步,大模型拿到工具执行结果后,继续分析用户问题,如果要继续调用工具,就执行第五步,如果不要执行工具了,就然后用户问题的最终答案给MCP Client

第十步,MCP Client拿到最终答案后,就返回给用户。

这其中,第三步和第七步比较重要,第三步工具发现不再是获取应用自己定义的工具了,而是去获取MCP Server定义的工具,第七步工具调用,也不是调用应用自己的工具,而是远程调用MCP Server中的工具,但总体框架仍然是Spring AI Tool Calling机制的流程。

相关标签:

相关资讯

基于 Spring AI + MCP + DeepSeek-R1-7B 构建企业级智能 Agent 工具调用系统

在大模型 Agent 发展浪潮下,如何通过模型驱动外部工具调用(Tool Calling)已成为构建智能业务系统的关键能力。 本文将手把手带你通过 Spring AI MCP(Model Context Protocol) DeepSeek-R1-7B 打造一个可落地的企业级智能 Agent。 项目背景与架构设计技术选型Spring AISpring 官方推出的 AI 接入框架,支持 LangChain、MCP、RAG 等能力;MCP(Model Context Protocol)模型与工具之间通信的协议桥梁;DeepSeek-R1-7B国产高性能开源大模型,已支持 Chat Completion、Tool Calling 接口;Ragflow用作 RAG 架构引擎(可选);系统功能用户向模型提问模型判断是否调用工具(如数据库查询)MCP 注册的工具服务完成任务模型生成最终响应环境准备安装依赖复制本地部署 DeepSeek-R1-7B 模型推荐使用 vLLM 启动 DeepSeek-R1-7B 模型服务:复制构建 Spring AI MCP 工具服务示例业务:产品信息查询复制注册 MCP 工具复制模型端配置(Ragflow 示例)在 ragflow.config.yaml 中配置模型地址及 MCP 工具启用:复制前端调用(可选)复制测试效果用户输入:复制输出结果:复制模型会自动触发 query-product 工具,无需用户指定,展示 Agent 工具能力。
4/21/2025 4:22:00 AM
编程疏影

Manus平替方案:用DeepSeek+MCP Server构建AI自主工作流

前言在AI技术日新月异的今天,我们正见证着LLM(大语言模型)从"能说会道"向"能工巧匠"的进化。 当Anthropic推出Model Context Protocol(MCP)时,它像一道闪电划破夜空——这个被称作AI界的USB-C的协议,正在重新定义人机协作的边界。 作为一个沉迷于技术探索的开发者,我始终在寻找让AI真正"落地"的方法。
4/16/2025 3:22:51 PM
后端小肥肠

mcp-agent发布:轻量级框架助力智能体应用高效构建

mcp-agent正式发布,作为一款基于模型上下文协议(MCP)的轻量级框架,旨在为开发者提供一个简化的智能体应用构建解决方案。 该框架不仅能够与其他MCP服务无缝集成,还具备高度的可组合性和可定制性,使得开发者能够更专注于核心业务逻辑的实现,而无需过多关注复杂的系统架构。 mcp-agent的设计理念是简洁而高效,它去除了传统框架中多余的模块,提供了一个轻量级的代理模式库。
4/21/2025 12:00:58 PM
AI在线