当前位置: 首页 > news >正文

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 自动生成工具规范:

@BeanpublicToolCallbackProvidermyTools(...){List<ToolCallback>tools=...returnToolCallbackProvider.from(tools);}

或使用底层 API:

@BeanpublicList<McpServerFeatures.SyncToolSpecification>myTools(...){List<McpServerFeatures.SyncToolSpecification>tools=.
http://www.cnnetsun.cn/news/701216.html

相关文章:

  • 基于AI+热门图书推荐系统与数据可视化分析开发与研究
  • 基于AI+Spring Boot+微信小程序的宠物走失信息系统
  • 二分搜索(七)744. 寻找比目标字母大的最小字母 二分搜索基本题型
  • 突破万份临床文档分析瓶颈:大模型驱动知识图谱实现大规模实时临床分析平台
  • 基于深度学习的虾病害检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 3大实战策略:轻松解决LightGBM模型Java部署难题
  • 7步实战:将闲置电视盒子变身高性能Armbian服务器
  • 游戏辅助工具终极配置手册:从零开始轻松掌握YimMenu
  • Anthropic重磅报告:学历越高越被代替,但你越聪明AI就越聪明
  • SeedVR视频修复革命:AI技术让模糊记忆重获新生
  • 3D模型格式转换终极指南:突破跨平台兼容性瓶颈
  • UABEA终极指南:如何快速掌握Unity游戏资源提取的完整解决方案
  • NSTool深度解析:Switch文件处理专家指南
  • Android设备完整性修复终极指南:快速解决应用限制问题
  • 从“思考-行动-观察“到“无限迭代“:AI Agent两大范式详解,收藏级学习资料
  • 5分钟精通Windows热键冲突排查:热键侦探实战手册
  • skills |提示词设计与优化技能
  • 番茄小说下载器全新创作指南
  • 【Python毕设全套源码+文档】基于Flask + vue 的博客系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 搞定SCI综述新方法!用ChatGPT 4o搭建框架、Claude 4撰写骨干内容,使用技巧和专业提示词文中获取直接用
  • 智能内容解锁工具:终极免费阅读解决方案完整指南
  • FactoryBluePrints蓝图仓库:从萌新到大神的戴森球计划完全指南
  • 深度解析|山西 DB14/T 3489-2025 雷电灾害普查规范:技术细节 + 实操公式 + 工具包全攻略
  • PotPlayer双语字幕终极配置指南:5分钟实现免费实时翻译
  • 智能井盖传感器技术解构:从 MEMS 感知到 NB-IoT 上报的全链路实现
  • Noi浏览器批量提问:AI对话效率革命
  • 终极教程:如何用poi-tl在Word文档中完美嵌入任何文件
  • 鼠标连点器:从重复劳动到效率革命的思维重构
  • 如何快速配置Android开发环境:Windows平台完整指南
  • 【小程序毕设全套源码+文档】基于Android的旧物交易平台的设计与实现(丰富项目+远程调试+讲解+定制)