SpringAi 模型上下文协议(MCP)
模型上下文协议(MCP) 是一种标准化协议,使 AI 模型能够以结构化的方式与外部工具和资源进行交互。它支持多种传输机制,以提供跨不同环境的灵活性。
MCP Java SDK提供了模型上下文协议的 Java 实现,支持通过同步和异步通信模式与 AI 模型和工具进行标准化交互。
Spring AI MCP通过 SpringBoot 集成扩展 MCPJavaSDK,提供客户端和服务器启动器。使用Spring Initializer引导您的 AI 应用程序,使其支持 MCP 。
笔记
MCP Java SDK 0.8.0 中的重大变更⚠️
MCP Java SDK 0.8.0 版本引入了多项重大变更,包括全新的基于会话的架构。如果您从 Java SDK 0.7.0 升级,请参阅迁移指南以获取详细说明。
MCP Java SDK 架构
提示
本节概述了 MCPJavaSDK 的架构。有关 SpringAIMCP 集成,请参阅 SpringAIMCP BootStarters 文档。
The Java MCP implementation follows a three-layer architecture:
- • Client/Server Layer:
McpClient处理客户端操作,而McpServer管理服务器端协议操作。两者都使用McpSession进行通信管理。 - • SessionLayer (McpSession):通过
McpClientSession和McpServerSession实现管理通信模式和状态。 - • TransportLayer (McpTransport):处理
JSON-RPC消息序列化和反序列化,支持多种传输实现。
MCP 客户端
MCP 客户端是模型上下文协议 (MCP) 架构中的关键组件,负责建立和管理与 MCP 服务器的连接。它实现了协议的客户端功能,处理以下操作:
- • 协议版本协商以确保与服务器的兼容性
- • 能力协商以确定可用功能
- • 消息传输和 JSON-RPC 通信
- • 工具发现和执行
- • 资源访问和管理
- • 提示系统交互
- • 可选功能:
- • 根部管理
- • 采样支持
- • 同步和异步操作
- • 交通选择:
- • 基于 Stdio 的传输,用于基于进程的通信
- • 基于 Java HttpClient 的 SSE 客户端传输
- • 用于反应式 HTTP 流的 WebFlux SSE 客户端传输
MCP 服务器
MCP 服务器是模型上下文协议 (MCP) 架构中的基础组件,为客户端提供工具、资源和功能。它实现了协议的服务器端,负责:
- • 服务器端协议操作实现
- • 工具曝光和发现
- • 基于 URI 访问的资源管理
- • 及时提供和处理模板
- • 与客户进行能力谈判
- • 结构化日志记录和通知
- • 并发客户端连接管理
- • 同步和异步 API 支持
- • 运输实施:
- • 基于 Stdio 的传输,用于基于进程的通信
- • 基于 Servlet 的 SSE 服务器传输
- • 用于反应式 HTTP 流的 WebFlux SSE 服务器传输
- • WebMVC SSE 服务器传输基于 servlet 的 HTTP 流
有关使用低级 MCP 客户端/服务器 API 的详细实施指南,请参阅MCP Java SDK 文档。如需使用 Spring Boot 进行简化设置,请使用下文所述的 MCP Boot Starters。
Spring AI MCP 集成
Spring AI 通过以下 Spring Boot 启动器提供 MCP 集成:
客户端启动器
- •
spring-ai-starter-mcp-client- 核心启动器提供 STDIO 和基于 HTTP 的 SSE 支持 - •
spring-ai-starter-mcp-client-webflux- 基于 WebFlux 的 SSE 传输实现
服务器启动器
- •
spring-ai-starter-mcp-server- 具有 STDIO 传输支持的核心服务器 - •
spring-ai-starter-mcp-server-webmvc- 基于Spring MVC的SSE传输实现 - •
spring-ai-starter-mcp-server-webflux- 基于 WebFlux 的 SSE 传输实现
最近这几年,经济形式下行,IT行业面临经济周期波动与AI产业结构调整的双重压力,很多人都迫于无奈,要么被裁,要么被降薪,苦不堪言。但我想说的是一个行业下行那必然会有上行行业,目前AI大模型的趋势就很不错,大家应该也经常听说大模型,也知道这是趋势,但苦于没有入门的契机,现在他来了,我在本平台找到了一个非常适合新手学习大模型的资源。大家想学习和了解大模型的,可以**点击这里前往查看**
313

被折叠的 条评论
为什么被折叠?



