王炸!MCP 架构设计深度剖析 & 使用 Spring AI + MCP 四步教你实现 Agent 智能体开发

大家好,我是玄姐。

Model Context Protocol(MCP)模型上下文协议是一种标准化协议,它让大模型能够更便捷地与外部数据、工具相连。你可以把 MCP 想象成一个通用的插头或接口,就像 USB-C 一样,不管是什么设备,只要插上这个接口,就能和电脑、充电器等连接起来。只不过,MCP 连接的不是物理设备,而是 AI 大模型与外部的数据源、工具等。

图片

有了 MCP,AI 大模型就能更轻松地获取外部信息,完成更多任务。比如,通过 MCP,AI 大模型可以操作电脑读写文件,或者模拟浏览器操作等。

1

MCP 架构设计剖析

第一、MCP 架构设计

MCP 包含三大核心模块:MCP Hosts、MCP Clients、MCP Servers。

  • MCP Hosts:像 Claude Desktop、Cursor 这样的应用程序,它们通过 MCP Client 访问数据。

  • MCP Clients:与 MCP Server 服务器保持 1:1 连接的协议客户端。

  • MCP Servers:轻量级程序,每个 AI 程序都通过标准化的模型上下文协议公开特定功能。

第二、Java MCP 架构设计案例

结合 AI 大模型,以一个 Java AI 应用(比如:AI Agent 智能体)为例,Java MCP 架构设计如下所示:

图片

可以看到 Java MCP 架构设计的传输层有两类:Stdio Transport、HTTP SSE,如下图所示:

图片

第三、MCP 架构设计的工作模式

MCP Server 可以以工具(Tools)的形式配置到 MCP Client 中。当我们向 MCP Host 发送执行指令时,MCP Host 会携带这些工具信息,一起发送给 AI 大模型。随后,AI 大模型会进行意图识别和语义分析,并调用 MCP 来执行具体的业务需求,处理逻辑时序图如下图所示:

图片

上图大致的处理逻辑,总结如下6步:

1、读取配置文件,运行所有 MCP Servers,获取可用的 Tools;

2、用户与 LLM 对话(附带所有 Tools 名称描述,参数定义);

3、LLM 识别到要执行某个Tool,返回名称和参数;

4、找到对应 MCP Server 的 Tool,调用执行,返回结果;

5、把工具执行结果提交给 LLM;

6、LLM 返回分析结果给用户。

你可以把 MCP 想象成你雇来的得力助手,你只需要告诉他你的想法,他就会负责跑腿和执行具体任务,而你只需负责下达指令和验收最终结果。

以下使用 Spring AI + MCP 四步教你实现 Agent 智能体开发。

2

MCP Server 开发步骤

本节手把手教您搭建一个基于 Spring AI MCP 的 Java MCP Server,让您能够在各类客户端轻松调用企业级 AI 服务。借助这一方案,您可以将业务逻辑与工具无缝融入 AI 交互流程,为用户提供更智能、更贴合业务场景的体验。

第一、准备环境

<dependency>        <groupId>org.springframework.ai</groupId>        <artifactId>spring-ai-mcp-server-webmvc-spring-boot-starter</artifactId></dependency>

第二、业务逻辑实现

@ServicepublicclassMeilisearchService {    @Tool(description = "PIG ISSUE 知识库检索,解决用户技术问题 ")    public String queryQuestion(@ToolParam(description = "用户的技术问题描述 ") String question) {        Clientclient=newClient(newConfig()));        SearchResultresults= client.index("pigx-doc")            .search(newSearchRequest(question)                .setShowMatchesPosition(true)                .setSort(newString[]{"lvl2:desc"})                .setLimit(1));        return results.getHits().stream()            .map(hit -> "【"+hit.get("lvl0")+"】"+hit.get("text"))            .collect(Collectors.joining("\n\n"));    }}

第三、服务注册

@Configuration    public class McpConfig {       @Bean            public ToolCallbackProvider documentTools(MeilisearchService searchService) {                   return MethodToolCallbackProvider.builder()                          .toolObjects(searchService)                          .build();       }}

3

MCP Client 配置

第一、MCP Clent 通用配置

{  "mcpServers":{    "pig-issue":{      "isActive":true,      "command":"java",      "args":[        "-Dspring.ai.mcp.server.stdio=true",        "-jar",        "/Users/lengleng/env/repository/io/github/pig-mesh/pig-issue-query-mcp/0.0.1-SNAPSHOT/pig-issue-query-mcp-0.0.1-SNAPSHOT.jar"      ]    }}}

第二、图形化配置

1、Cherry 客户端配置界面

2、客户端配置界面

第三、效果展示

4

MCP 架构设计总结

总体而言,MCP 解决了 Client 和 Server 之间的数据交互问题,但在 LLM 到 Tool 的对接上仍有不足:不同模型对 Function Call 的支持程度参差不齐,例如 DeepSeek R1 就不支持,这就导致了工具路由的问题。

第一、不足之处

1、开源时间较短:目前还不够完善,语言支持有限,示例代码也不够丰富。

2、MCP Server 质量参差不齐:缺乏统一的质量保障体系和包管理工具,许多 MCP Server 无法正常运行,或者频繁崩溃。

3、本地 MCP Server 依赖特定环境:本地 MCP Server 仍依赖 Node.js 或 Python 环境,而远程 MCP Server 的支持较少。

第二、未来展望

如果未来更多 AI 应用开始接入 MCP 协议,生态逐渐完善,其能力将非常强大。随着使用人数的增加,会有更多 AI 应用愿意对接,真正实现一套代码在所有地方运行。

个人认为,MCP 仍有很大的发展潜力,未来可期!

PS:

推荐大家加入《3天 基于 MCP 的 Agent 项目实战直播训练营》,为了帮助大家快速和低成本掌握 AI Agent 智能体技术,我和团队落地大模型项目3年,帮助60多家企业落地近100个项目,根据我们企业级实战的项目经验,打造基于 MCP、Manus、DeepSeek 的 AI Agent 项目实战直播训练营,截至今天已经报名2万名学员,如此火爆!原价199元,为了回馈粉丝的支持,价格直接降到 19元,点击以下报名。


5

3天 Agent 智能体项目实战直播课

3天的直播课,带你快速掌握基于  MCP、Manus、DeepSeek  的AI Agent 智能体核心技术和企业级项目实践经验。

模块一:AI Agent 智能体技术原理篇

全面拆解 AI Agent 智能体技术原理,深度掌握基于 MCP、Manus、DeepSeek 的 AI Agent 智能体三大能力及其运行机制。

模块二:AI Agent 智能体应用开发实战篇

深度讲解基于 MCP、Manus、DeepSeek 的 AI Agent 智能体技术选型及开发实践,学会开发 AI Agent 智能体核心技术能力。

模块三:AI Agent 智能体企业级案例实战篇

基于 MCP、Manus、DeepSeek,从需求分析、架构设计、架构技术选型、硬件资料规划、核心代码落地、服务治理等全流程实践,深度学习企业级 AI Agent 智能体项目全流程重点难点问题解决。

图片

3天时间,你能学会什么?

在真实项目实践中,你会获得4项硬核能力:

第一、全面了解 DeepSeek 大模型、MCP、Manus、AI Agent 智能体的原理、架构和实现方法,掌握核心技术精髓。

第二、熟练使用 Dify/Coze 平台、MCP、Manus、DeepSeek、LangChain、AutoGen 等开发框架,为企业级技术实践打下坚实基础。

第三、通过企业级项目实战演练,能够独立完成基于 MCP、Manus、DeepSeek 的 AI Agent 智能体的设计开发和维护,学会解决企业级实际问题的能力。

第四、为职业发展提供更多可能性,无论是晋升加薪还是转行跳槽,提升核心技术竞争力。

限时优惠:

原价199元,回馈粉丝们支持,现在报名只需19元!赶快加入把~~

6

添加助教直播学习

购买后,一定记得添加助理,否则无法进行直播学习👇

图片

⬇戳”阅读原文“,立即报名!

END

### SpringAIMCP的集成概述 SpringAI 是一个用于简化人工智能模型调用和管理的框架,而 MCP(Micro Cloud Platform)通常指代微服务平台或者类似的云原生架构环境。为了实现两者的集成,需要考虑以下几个方面: #### 1. **引入依赖** 在项目的 `pom.xml` 文件中添加 SpringAI 的相关依赖以支持 OpenAI 或其他大模型服务[^1]。 ```xml &lt;dependency&gt; &lt;groupId&gt;org.springframework.ai&lt;/groupId&gt; &lt;artifactId&gt;spring-ai-openai-starter&lt;/artifactId&gt; &lt;version&gt;0.5.0&lt;/version&gt; &lt;/dependency&gt; ``` 此部分确保项目能够访问到 SpringAI 提供的功能模块。 --- #### 2. **配置文件设置** 对于 MCP 平台中的应用部署,需调整 Spring 应用的配置文件(通常是 `application.yml` 或 `application.properties`),以便适配 MCP 的运行环境需求。 以下是基于 YAML 格式的配置示例: ```yaml spring: ai: openai: api-key: YOUR_API_KEY_HERE model-name: gpt-3.5-turbo mcp: service-url: http://your-mcp-service-endpoint.com auth-token: YOUR_MCP_AUTH_TOKEN ``` 上述配置定义了 OpenAI API 密钥以及 MCP 服务端点地址,从而允许应用程序通过 MCP 调度器执行请求。 --- #### 3. **代码层面的集成** 开发人员可以通过编写自定义逻辑来完成 SpringAI 功能与 MCP 流程之间的交互。例如,在控制器层接收外部输入并传递给 AI 处理组件。 下面是一个简单的 Java 控制器代码片段展示如何结合两者工作: ```java @RestController @RequestMapping(&quot;/api/mcp-springai&quot;) public class McpAiController { @Autowired private AiService aiService; @PostMapping(&quot;/process&quot;) public String processRequest(@RequestBody Map&lt;String, String&gt; request) { String prompt = request.get(&quot;prompt&quot;); if (prompt == null || prompt.isEmpty()) { throw new IllegalArgumentException(&quot;Prompt cannot be empty.&quot;); } // 使用 SpringAI 进行推理处理 CompletionResponse response = aiService.complete(prompt); return response.getText(); } } ``` 在此例子中,`AiService` 对象负责封装底层的大模型调用细节,最终返回的结果可以直接作为 HTTP 响应的一部分发送回客户端。 --- #### 4. **DeepSeek 支持扩展** 除了对接 OpenAI,最新版本的 SpringAI 已经开放对 DeepSeek 等第三方直连的支持[^2]。如果计划切换至此类替代方案,则只需修改对应的 SDK 初始化参数即可无缝迁移业务逻辑。 --- ### 总结 综上所述,要在 MCP 中成功运用 SpringAI 技术栈,主要涉及 Maven 构建工具里的依赖声明、全局属性设定以及实际编码实践三个核心环节。每一步都紧密关联着具体的应用场景和技术选型背景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值