云计算百科
云计算领域专业知识百科平台

70_Spring AI 干货笔记之 STDIO 与 SSE MCP 服务器

一、STDIO 与 SSE MCP 服务器

STDIO 和 SSE MCP 服务器支持多种传输机制,每种都有专门的启动器。

使用 STDIO 客户端或 SSE 客户端连接 STDIO 和 SSE 服务器。

1.1 STDIO MCP 服务器

支持完整 MCP 服务器功能,采用 STDIO 服务器传输。

<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-server</artifactId>
</dependency>

  • 适合命令行和桌面工具

  • 无需额外 Web 依赖

  • 基本服务器组件配置

  • 处理工具、资源和提示规范

  • 管理服务器能力和变更通知

  • 支持同步和异步服务器实现

1.2 SSE WebMVC 服务器

支持完整 MCP 服务器功能,采用基于 Spring MVC 的 SSE(服务器发送事件)服务器传输,并可选 STDIO 传输。

<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
</dependency>

  • 基于 HTTP 的传输,使用 Spring MVC(WebMvcSseServerTransportProvider)

  • 自动配置的 SSE 端点

  • 可选的 STDIO 传输(通过设置 spring.ai.mcp.server.stdio=true 启用)

  • 包含 spring-boot-starter-web 和 mcp-spring-webmvc 依赖项

1.3 SSE WebFlux 服务器

支持完整 MCP 服务器功能,采用基于 Spring WebFlux 的 SSE(服务器发送事件)服务器传输,并可选 STDIO 传输。

<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-server-webflux</artifactId>
</dependency>

此启动器激活 McpWebFluxServerAutoConfiguration 和 McpServerAutoConfiguration 自动配置,提供:

  • 响应式传输,使用 Spring WebFlux(WebFluxSseServerTransportProvider)

  • 自动配置的响应式 SSE 端点

  • 可选的 STDIO 传输(通过设置 spring.ai.mcp.server.stdio=true 启用)

  • 包含 spring-boot-starter-webflux 和 mcp-spring-webflux 依赖项

由于 Spring Boot 的默认行为,当类路径中同时存在 org.springframework.web.servlet.DispatcherServlet 和 org.springframework.web.reactive.DispatcherHandler 时,Spring Boot 将优先使用 DispatcherServlet。因此,如果您的项目使用 spring-boot-starter-web,建议使用 spring-ai-starter-mcp-server-webmvc 而非 spring-ai-starter-mcp-server-webflux。

二、配置属性

2.1 通用属性

所有通用属性前缀为 spring.ai.mcp.server: 在这里插入图片描述

2.2 MCP 注解属性

MCP 服务器注解提供了一种使用 Java 注解实现 MCP 服务器处理程序的声明式方法。

服务器 mcp 注解属性前缀为 spring.ai.mcp.server.annotation-scanner: 在这里插入图片描述

2.3 SSE 属性

所有 SSE 属性前缀为 spring.ai.mcp.server: 在这里插入图片描述

出于向后兼容性原因,SSE 属性没有额外的后缀(如 .sse)。

三、特性和能力

MCP 服务器启动器允许服务器向客户端公开工具、资源和提示。它会根据服务器类型自动将注册为 Spring Bean 的自定义能力处理程序转换为同步/异步规范:

3.1 工具

允许服务器公开语言模型可调用的工具。MCP 服务器启动器提供:

  • 变更通知支持

  • Spring AI 工具根据服务器类型自动转换为同步/异步规范

  • 通过 Spring Bean 自动生成工具规范:

@Bean
public ToolCallbackProvider myTools(...) {


List<ToolCallback> tools = ...
return ToolCallbackProvider.from(tools);
}

或使用底层 API:

@Bean
public List<McpServerFeatures.SyncToolSpecification> myTools(...) {


List<McpServerFeatures.SyncToolSpecification> tools = .

赞(0)
未经允许不得转载:网硕互联帮助中心 » 70_Spring AI 干货笔记之 STDIO 与 SSE MCP 服务器
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!