此版本仍在开发中,尚不被认为是稳定的。对于最新的快照版本,请使用 Spring AI 1.0.1spring-doc.cadn.net.cn

MCP 服务器启动Starters

模型上下文协议 (MCP) 服务器是通过标准化协议接口向 AI 应用程序公开特定功能的程序。 每个服务器都为特定域提供重点功能。spring-doc.cadn.net.cn

Spring AI MCP Server Boot Starters 提供自动配置,用于在 Spring Boot 应用程序中设置 MCP Server。 它们可以将 MCP 服务器功能与 Spring Boot 的自动配置系统无缝集成。spring-doc.cadn.net.cn

MCP 服务器启动Starters提供:spring-doc.cadn.net.cn

MCP 服务器Starters

MCP 服务器支持多种协议和传输机制。 使用专用Starters和正确的spring.ai.mcp.server.protocol属性来配置您的服务器:spring-doc.cadn.net.cn

STDIO的

服务器类型 Dependency 属性

标准输入/输出 (STDIO)spring-doc.cadn.net.cn

spring-ai-starter-mcp-serverspring-doc.cadn.net.cn

spring.ai.mcp.server.stdio=truespring-doc.cadn.net.cn

WebMVC

服务器类型spring-doc.cadn.net.cn

Dependencyspring-doc.cadn.net.cn

属性spring-doc.cadn.net.cn

SSE WebMVCspring-doc.cadn.net.cn

spring-ai-starter-mcp-server-webmvcspring-doc.cadn.net.cn

spring.ai.mcp.server.protocol=SSE或空spring-doc.cadn.net.cn

Streamable-HTTP WebMVCspring-doc.cadn.net.cn

spring-ai-starter-mcp-server-webmvcspring-doc.cadn.net.cn

spring.ai.mcp.server.protocol=STREAMABLEspring-doc.cadn.net.cn

无状态 WebMVCspring-doc.cadn.net.cn

spring-ai-starter-mcp-server-webmvcspring-doc.cadn.net.cn

spring.ai.mcp.server.protocol=STATLESSspring-doc.cadn.net.cn

WebMVC(响应式)

服务器类型spring-doc.cadn.net.cn

Dependencyspring-doc.cadn.net.cn

属性spring-doc.cadn.net.cn

上交所 WebFluxspring-doc.cadn.net.cn

spring-ai-starter-mcp-server-webfluxspring-doc.cadn.net.cn

spring.ai.mcp.server.protocol=SSE或空spring-doc.cadn.net.cn

Streamable-HTTP WebFluxspring-doc.cadn.net.cn

spring-ai-starter-mcp-server-webfluxspring-doc.cadn.net.cn

spring.ai.mcp.server.protocol=STREAMABLEspring-doc.cadn.net.cn

无状态 WebFluxspring-doc.cadn.net.cn

spring-ai-starter-mcp-server-webfluxspring-doc.cadn.net.cn

spring.ai.mcp.server.protocol=STATLESSspring-doc.cadn.net.cn

服务器功能

根据服务器和传输类型,MCP 服务器可以支持各种功能,例如:spring-doc.cadn.net.cn

默认情况下,所有功能都处于启用状态。禁用功能将阻止服务器注册并向客户端公开相应的功能。spring-doc.cadn.net.cn

服务器协议

MCP 提供多种协议类型,包括:spring-doc.cadn.net.cn

  • STDIO - 进程中(例如,服务器在主机应用程序内运行)协议。通信是标准输入和标准输出。要启用STDIO设置spring.ai.mcp.server.stdio=true.spring-doc.cadn.net.cn

  • SSE - 用于实时更新的服务器发送事件协议。服务器作为一个独立的进程运行,可以处理多个客户端连接。spring-doc.cadn.net.cn

  • Streamable-HTTP - Streamable HTTP 传输允许 MCP 服务器作为独立的进程运行,这些进程可以使用 HTTP POST 和 GET 请求处理多个客户端连接,并为多个服务器消息提供可选的服务器发送事件 (SSE) 流。它取代了 SSE 传输。要启用STREAMABLE协议, 设置spring.ai.mcp.server.protocol=STREAMABLE.spring-doc.cadn.net.cn

  • 无状态 - 无状态 MCP 服务器专为简化部署而设计,其中在请求之间不维护会话状态。 它们非常适合微服务架构和云原生部署。要启用STATELESS协议, 设置spring.ai.mcp.server.protocol=STATELESS.spring-doc.cadn.net.cn

同步/异步服务器 API 选项

MCP 服务器 API 支持命令式(例如同步)和响应式(例如异步)编程模型。spring-doc.cadn.net.cn

  • 同步服务器 - 使用McpSyncServer. 它专为应用程序中的简单请求-响应模式而设计。 要启用此服务器类型,请将spring.ai.mcp.server.type=SYNC在您的配置中。 激活后,它会自动处理同步刀具规格的配置。spring-doc.cadn.net.cn

  • 异步服务器 - 异步服务器实现使用McpAsyncServer并针对非阻塞作进行了优化。 要启用此服务器类型,请使用spring.ai.mcp.server.type=ASYNC. 此服务器类型通过内置的 Project Reactor 支持自动设置异步工具规范。spring-doc.cadn.net.cn

示例应用