模型上下文协议(MCP)
本站(springdoc.cn)中的内容来源于 spring.io ,原始版权归属于 spring.io。由 springdoc.cn 进行翻译,整理。可供个人学习、研究,未经许可,不得进行任何转载、商用或与之相关的行为。 商标声明:Spring 是 Pivotal Software, Inc. 在美国以及其他国家的商标。 |
模型上下文协议(Model Context Protocol,MCP) 是一种标准化协议,使 AI 模型能以结构化方式与外部工具及资源交互。它支持多种传输机制,以适应不同环境的灵活性需求。
MCP Java SDK 提供 MCP 的 Java 实现,支持通过同步和异步通信模式与 AI 模型及工具进行标准化交互。
Spring AI MCP 通过集成 Spring Boot 扩展了 MCP Java SDK,同时提供 客户端 和 服务端 Starter。使用 Spring Initializer可快速构建支持 MCP 的 AI 应用。
MCP Java SDK 0.8.0 重大变更 ⚠️ MCP Java SDK 0.8.0 版本引入多项重大变更,包括基于会话的新架构。若从 Java SDK 0.7.0 升级,请参阅 迁移指南 获取详细说明。 |
MCP Java SDK 架构
本节概述 MCP Java SDK 架构。有关 Spring AI MCP 集成的详细信息,请参阅 Spring AI MCP Boot Starters 文档。 |
Java MCP 实现采用三层架构:
|
MCP 客户端 | |
---|---|
MCP 客户端是 Model Context Protocol(MCP)架构的核心组件,负责建立并管理与 MCP 服务器的连接。它实现协议的客户端逻辑,主要处理以下功能:
|
![]() |
MCP 服务器 | |
---|---|
MCP 服务器是 Model Context Protocol(MCP)架构的基础组件,用于向客户端提供工具、资源和功能。它实现协议的服务端逻辑,主要职责包括:
|
![]() |
具体实现指导(使用底层 MCP 客户端/服务端 API)请参阅 MCP Java SDK 文档。若需通过 Spring Boot 简化配置,请使用下文所述的 MCP Boot Starter。
Spring AI MCP 整合
Spring AI 通过以下 Spring Boot Starter 提供 MCP 集成:
Client Starter
-
spring-ai-starter-mcp-client
- 核心 starter(提供 STDIO 及基于 HTTP 的 SSE 支持) -
spring-ai-starter-mcp-client-webflux
- 基于 WebFlux 的 SSE 传输实现
Server Starter
-
spring-ai-starter-mcp-server
- 核心服务端(支持 STDIO 传输协议) -
spring-ai-starter-mcp-server-webmvc
- 基于 Spring MVC 的 SSE 传输实现 -
spring-ai-starter-mcp-server-webflux
- 基于 WebFlux 的 SSE 传输实现