SpringAI(1.1.0-M2):MCP最新变动

126 阅读3分钟

原文链接: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 启动器无缝集

参考资料

Model Context Protocol (MCP)

往期资料

Spring AI + Spring Ai Aliabba系统化学习资料

本教程将采用2025年5月20日正式的GA版,给出如下内容

  1. 核心功能模块的快速上手教程
  2. 核心功能模块的源码级解读
  3. Spring ai alibaba增强的快速上手教程 + 源码级解读

版本:

  • JDK21
  • SpringBoot3.4.5
  • SpringAI 1.0.3
  • SpringAI Alibaba 1.0.0.4

免费渠道:

  1. 为Spring Ai Alibaba开源社区解决解决有效的issue or 提供有价值的PR,可免费获取上述教程
  2. 往届微信推文

收费服务:收费69.9元

  1. 飞书在线云文档
  2. Spring AI会员群教程代码答疑
  3. 若Spring AI、Spring AI Alibaba教程内容无法满足业务诉求,可定制提供解决方案,带价私聊

学习交流圈

你好,我是影子,曾先后在🐻、新能源、老铁就职,兼任Spring AI Alibaba开源社区的Committer。目前新建了一个交流群,一个人走得快,一群人走得远,另外,本人长期维护一套飞书云文档笔记,涵盖后端、大数据系统化的面试资料,可私信免费获取