模型上下文协议 (MCP)

模型上下文协议 (MCP) 是一种标准化协议,使 AI 模型能够以结构化方式与外部工具和资源交互。 它支持多种传输机制,以便在不同环境中提供灵活性。spring-doc.cadn.net.cn

MCP Java SDK 提供模型上下文协议的 Java 实现,通过同步和异步通信模式实现与 AI 模型和工具的标准化交互。spring-doc.cadn.net.cn

Spring AI MCP通过 Spring Boot 集成扩展了 MCP Java SDK,同时提供了客户端服务器Starters。 使用 Spring Initializer 通过 MCP 支持引导您的 AI 应用程序。spring-doc.cadn.net.cn

MCP Java SDK 架构

本节概述了 MCP Java SDK 架构。 对于 Spring AI MCP 集成,请参阅 Spring AI MCP Boot Starters 文档。

Java MCP 实现遵循三层架构:spring-doc.cadn.net.cn

MCP 堆栈架构
  • 客户端/服务器层:McpClient 处理客户端作,而 McpServer 管理服务器端协议作。两者都使用 McpSession 进行通信管理。spring-doc.cadn.net.cn

  • 会话层 (McpSession):通过 DefaultMcpSession 实现管理通信模式和状态。spring-doc.cadn.net.cn

  • 传输层 (McpTransport):处理 JSON-RPC 消息序列化和反序列化,并支持多种传输实现。spring-doc.cadn.net.cn

MCP 客户端

MCP 客户端是模型上下文协议 (MCP) 架构中的关键组件,负责建立和管理与 MCP 服务器的连接。它实现协议的客户端,处理:spring-doc.cadn.net.cn

Java MCP 客户端架构
MCP 服务器

MCP 服务器是模型上下文协议 (MCP) 架构中的基础组件,用于为客户提供工具、资源和功能。它实现了协议的服务器端,负责:spring-doc.cadn.net.cn

Java MCP 服务器架构

有关使用低级 MCP 客户端/服务器 API 的详细实施指南,请参阅 MCP Java SDK 文档。 要使用 Spring Boot 简化设置,请使用下面描述的 MCP Boot Starters。spring-doc.cadn.net.cn

Spring AI MCP 集成

Spring AI 通过以下 Spring Boot Starters提供 MCP 集成:spring-doc.cadn.net.cn

客户端Starters

  • spring-ai-mcp-client-spring-boot-starter- Core starter 提供 STDIO 和基于 HTTP 的 SSE 支持spring-doc.cadn.net.cn

  • spring-ai-mcp-client-webflux-spring-boot-starter- 基于 WebFlux 的 SSE 传输实现spring-doc.cadn.net.cn

服务器Starters