尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Spring AI MCP Server SSE 端点无法访问:3 种解法 + 完整避坑清单

发布时间:2026/9/18 14:56:54

资讯中心
01
ARTICLE

Spring AI MCP Server SSE 端点无法访问:3 种解法 + 完整避坑清单

Spring AI MCP Server SSE 端点无法访问:3 种解法 + 完整避坑清单
Spring AI MCP Server SSE 端点无法访问3 种解法 完整避坑清单【免费下载链接】spring-aiAn Application Framework for AI Engineering项目地址: https://gitcode.com/GitHub_Trending/spr/spring-ai凌晨一点的调试现场服务启动日志干干净净浏览器敲localhost:8080/sse页面空白换成 Postman 发 GET连接转圈到底也没个回音——这个端点像黑洞把所有请求都吞了控制台一行错误都不给。折腾一圈后发现Spring AI 的 MCP Server SSE 端点访问失败问题出在三处依赖版本混用、webflux 没开 reactive 模式、webmvc 与 webflux 同时引入。最省事的一条路是切到 webmvc 依赖立等可取。读完这篇能拿走 3 个直接可上手的解法和 1 份上线前必查清单全程不超过十分钟。30 秒分流你的故障落在哪一格SSEServer-Sent Events是服务端向客户端单向推流的 HTTP 长连接MCP Server 靠它把消息持续推给客户端。你的症状对号入座直接跳到对应章节你的情况大概率原因看哪节pom 里同时出现 1.0.0-M6 和 1.0.0-M7 两个版本的 Spring AI 组件版本混用根因一依赖没混、服务也起了但 /sse 永远挂着或 404webflux 没开 reactive根因二classpath 里 webmvc、webflux 两套 MCP Server 依赖都在依赖冲突根因三SSE 端点无响应的 3 个根因同步柜台和异步叫号不是一回事webflux 的 SSE 传输跑在响应式运行时Netty 的非阻塞事件循环上webmvc 的跑在 Servlet 容器Tomcat 的线程池上。打个比方webmvc 像窗口柜台一个窗口同时只服务一个顾客来了就办完为止webflux 像大厅叫号系统只负责喊号不盯你取没取到。你的 Spring Boot 应用默认是柜台模式——此时就算 classpath 里塞了 webflux 的 SSE 端点 bean也轮不到它们出场请求打进来自然石沉大海而且不报错。30 秒验证curl -N -H Accept: text/event-stream http://localhost:8080/sse命令挂住没输出且应用日志显示 Tomcat started基本就是这一条。发动机和变速箱不同批次版本混用是典型的M6 发动机配 M7 变速箱。两个版本的 autoconfigure 类名、属性 key 都动过刀混跑时自动装配的条件判断会互相错位服务照起端点路由却悄悄没挂上日志里连个警告都不留。30 秒验证mvn dependency:tree | grep spring-ai扫一眼版本号M6、M7 两个批次同时出现就是它。两套依赖抢一个柜台webmvc 和 webflux 的 MCP Server starter 同时引入Spring Boot 检测到 Servlet API 后按非响应式容器启动webflux 那套自动配置直接静默失效。你看到的端点不存在其实是配置压根没被激活。30 秒验证mvn dependency:tree | grep mcp-server输出里同时出现 webmvc、webflux 两行删掉一行再试。三条修复路径按推荐度降序路径 Awebmvc 最小依赖写法最小改动删掉 webflux换 webmvc一行依赖解决黑洞dependency groupIdorg.springframework.ai/groupId artifactIdspring-ai-starter-mcp-server-webmvc/artifactId /dependency重启后curl -N http://localhost:8080/sse立刻能看到event: endpoint推回来。为什么官方文档没这么写文档习惯把响应式方案放在前面讲但社区踩坑统计下来默认非响应式的 Spring Boot 应用配 webmvc 反而零额外配置、最不容易翻车。适用场景绝大多数内部工具、单体后端服务。已知副作用webmvc 实现下Spring Cloud Gateway 的转发链路不可用——它本身依赖 webflux 运行时。路径 Bwebflux 响应式配置方法坚持 webflux 时补上叫号模式的开关dependency groupIdorg.springframework.ai/groupId artifactIdspring-ai-starter-mcp-server-webflux/artifactId /dependencyspring: main: web-application-type: reactive这两行让 Boot 切到 Netty 和响应式运行时webflux 的 SSE 自动配置才真正生效。确认 classpath 里没有 webmvc 版本的 starter 和spring-boot-starter-web。适用场景团队统一响应式技术栈、高并发长连接服务。已知副作用OpenFeign 等基于 Servlet 的 HTTP 客户端在此模式下无法正常工作需要换 Reactor Netty 一类的响应式客户端。路径 Cwebflux 完整配置参考需要自定义端点和能力声明时的最小参考5 个关键字段spring: main: web-application-type: reactive ai: mcp: server: name: webflux-mcp-server type: ASYNC sse-endpoint: /sse sse-message-endpoint: /mcp/messages其中name、type、两个端点路径是必填核心capabilities 声明按需追加即可不建议照抄整份大配置。BOM 统一管版本避免再次混批dependency groupIdorg.springframework.ai/groupId artifactIdspring-ai-bom/artifactId version1.1.0-SNAPSHOT/version typepom/type scopeimport/scope /dependency适用场景对端点路径、服务器元数据有定制要求的外部服务。已知副作用与路径 B 相同——Feign 客户端不可用网关后部署需单独验证转发。避坑 ChecklistBOM 统一管理版本混用 M6/M7端点静默消失webmvc、webflux 二选一同时引入自动配置失效用 webflux 必开 reactive不开/sse 永远黑洞上 webflux 前排查 Feign客户端会直接罢工端点路径别和网关冲突转发规则可能吞掉 SSE怎么选下一步内部工具、单体应用闭眼选路径 A省事且社区验证最充分对外提供高并发长连接服务、且团队本来就响应式走 B 或 C。服务要挂在网关后面先确认网关协议链路——webmvc 方案下 Gateway 转发不可用必要时把 MCP Server 独立出口部署。最后说句预期这套 SSE 传输在 Spring AI 新版本里已标记为待移除官方重心正转向 Streamable HTTP 传输后续版本中本问题大概率被新架构自然消解。项目代码可直接从 GitHub_Trending/spr/spring-ai 仓库获取对照 mcp/ 和 auto-configurations/mcp/ 目录能看懂两套传输的装配逻辑。【免费下载链接】spring-aiAn Application Framework for AI Engineering项目地址: https://gitcode.com/GitHub_Trending/spr/spring-ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。