原文链接:SpringAI(1.1.0-M2):MCP最新变动
Spring AI长期支持版本以及迭代到1.0.3了,同时新功能开发里程碑版本已经来到1.1.0-M2,主要改动点在MCP部分,接下来我们来详细看下新的里程碑的内容,本期先来个预览,后面会出对应的上手示例和源码解读
MCP Java SDK 架构
Client/Server Layer (Top)
顶层处理主要的应用逻辑和协议操作:
- McpClient - 管理客户端操作和服务器连接
- McpServer - 处理服务器端协议操作和客户端请求
- 两个组件都利用下方的会话层进行通信管理
Session Layer (Middle)
中间层管理通信模式并维护连接状态:
- McpSession - 核心会话管理接口
- McpClientSession - 特定于客户端的会话实现
- McpServerSession - 特定于服务器的会话实现
Transport Layer (Bottom)
底层负责处理实际的消息传输和序列化:
- McpTransport - 管理 JSON-RPC 消息的序列化和反序列化
- 支持多种传输实现(STDIO、HTTP/SSE、可流式 HTTP 等)
- 为所有更高级别的通信提供基础
Spring AI MCP Integration
Spring AI provides MCP integration through the following Spring Boot starters:
Client Starters
| 依赖 | 描述 |
| spring-ai-starter-mcp-client | 核心启动器,提供标准输入输出(STDIO)、基于Servlet的可流式HTTP、无状态可流式HTTP和服务器发送事件(SSE)支持 |
| spring-ai-starter-mcp-client-webflux | 基于WebFlux的可流式HTTP、无状态可流式HTTP和SSE传输实现 |
Server Starters
Stdio
| 服务类型 | 依赖 | 属性 |
| Standard Input/Output (STDIO) | spring-ai-starter-mcp-server | spring.ai.mcp.server.stdio=true |
WebMVC
| 服务类型 | 依赖 | 属性 |
| SSE WebMVC | spring-ai-starter-mcp-server-webmvc | spring.ai.mcp.server.protocol=SSE or empty |
| Streamable-HTTP WebMVC | spring-ai-starter-mcp-server-webmvc | spring.ai.mcp.server.protocol=STREAMABLE |
| Stateless Streamable-HTTP WebMVC | spring-ai-starter-mcp-server-webmvc | spring.ai.mcp.server.protocol=STATELESS |
WebFlux
| 服务类型 | 依赖 | 属性 |
| SSE WebFlux | spring-ai-starter-mcp-server-webflux | spring.ai.mcp.server.protocol=SSE or empty |
| Streamable-HTTP WebFlux | spring-ai-starter-mcp-server-webflux | spring.ai.mcp.server.protocol=STREAMABLE |
| Stateless Streamable-HTTP WebFlux | spring-ai-starter-mcp-server-webflux | spring.ai.mcp.server.protocol=STATELESS |
Spring AI MCP Annotations
除了程序化的 MCP 客户端和服务器配置外,Spring AI 还通过 MCP 注解模块为 MCP 服务器和客户端提供基于注解的方法处理。这种方法使用简洁、声明式的 Java 注解编程模型,简化了 MCP 操作的创建和注册
MCP 注解模块使开发者能够:
- 使用简单注释创建 MCP 工具、资源和提示
- 声明式处理客户端通知和请求
- 减少样板代码,提高可运维性
- 自动为工具参数生成 JSON 模式
- 访问特殊参数和上下文信息
主要特性包括:
- 服务器注解:@McpTool、@McpResource、@McpPrompt、@McpComplete
- 客户端注解:@McpLogging、@McpSampling、@McpElicitation、@McpProgress
- 特殊参数:McpSyncServerExchange、McpAsyncServerExchange、McpTransportContext、McpMeta
- 自动发现:支持可配置包包含/排除的注解扫描
- Spring Boot 集成:与 MCP Boot 启动器无缝集
参考资料
往期资料
Spring AI + Spring Ai Aliabba系统化学习资料
本教程将采用2025年5月20日正式的GA版,给出如下内容
- 核心功能模块的快速上手教程
- 核心功能模块的源码级解读
- Spring ai alibaba增强的快速上手教程 + 源码级解读
版本:
- JDK21
- SpringBoot3.4.5
- SpringAI 1.0.3
- SpringAI Alibaba 1.0.0.4
免费渠道:
- 为Spring Ai Alibaba开源社区解决解决有效的issue or 提供有价值的PR,可免费获取上述教程
- 往届微信推文
收费服务:收费69.9元
- 飞书在线云文档
- Spring AI会员群教程代码答疑
- 若Spring AI、Spring AI Alibaba教程内容无法满足业务诉求,可定制提供解决方案,带价私聊
学习交流圈
你好,我是影子,曾先后在🐻、新能源、老铁就职,兼任Spring AI Alibaba开源社区的Committer。目前新建了一个交流群,一个人走得快,一群人走得远,另外,本人长期维护一套飞书云文档笔记,涵盖后端、大数据系统化的面试资料,可私信免费获取