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却毫无响应——这是 Spring AI 的 MCP Server SSE 端点最常见的坑。根因几乎都出在 webmvc 与 webflux 两套传输装配上不是代码问题。最快修复路径把依赖改成 webmvc starter。答案先行多数项目改一行依赖就能通端点没响应的直接原因是 SSE 传输自动配置没生效。先对照下表选方案再往下走自诊流程方案改动量适用场景副作用换成spring-ai-starter-mcp-server-webmvc1 个依赖坐标带starter-web的项目大多数✅几乎无社区已验证webflux 声明式响应式环境1 个依赖 1 行 yaml纯响应式项目可能与 OpenFeign、网关冲突升级到 2.x 用 Streamable HTTP版本升级新项目 / 大版本迭代客户端协议需同步升级三步自诊请求到底卡在哪一层看到什么启动日志干净无报错但 /sse 挂起。做什么用--debug启动在条件评估报告里搜McpServerSseWebMvcAutoConfiguration或 WebFlux 同名类。怎么判断did not match说明装配缺失多为版本混用Matched说明端点已注册问题在容器挂载环节。社区已验证看到什么mvn dependency:tree里starter-web与starter-webflux并存。做什么确认 Servlet 与响应式容器是否同时在 classpath。怎么判断两者并存时 Spring Boot 优先走 DispatcherServletwebflux 的路由函数永远不会挂载官方文档对此有明确 NOTE见 mcp-stdio-sse-server-boot-starter-docs.adoc。官方注记看到什么pom 里同时出现 M6 与 M7 两套 spring-ai 坐标。做什么用 BOM 的dependencyManagement统一版本后重跑依赖树。怎么判断版本混用会让自动配置类缺失或重复且全程零报错输出。社区已验证webmvc 还是 webflux一张表选对传输对比维度webmvcwebflux容器要求starter-web纯响应式环境web-application-type: reactive与 Servlet 并存原生端点失效OpenFeign / 网关无影响潜在不兼容改动量1 个坐标1 个坐标 1 行 yaml结论除非项目是纯响应式默认选 webmvc社区已验证。传输层在项目中的位置可参考下图webmvc 修法推荐这段依赖解决 Servlet 项目里服务启动但 /sse 无响应的问题dependency groupIdorg.springframework.ai/groupId artifactIdspring-ai-starter-mcp-server-webmvc/artifactId /dependencywebflux 修法仅限纯响应式项目这段配置解决依赖引了 webflux 但端点仍不通的问题——声明响应式容器后reactive 的路由函数才会真正挂载dependency groupIdorg.springframework.ai/groupId artifactIdspring-ai-starter-mcp-server-webflux/artifactId /dependencyspring: main: web-application-type: reactive ai: mcp: server: stdio: false启动成功不等于可用的 5 种组合M6 与 M7 starter 混用→ 用 BOM 统一版本混版会让自动配置静默失效日志里找不到任何线索。starter-webmvc与starter-webflux同时上 classpath→ 两套 SSE 自动配置互相抢占只保留一个。spring.ai.mcp.server.stdio设成true→ stdio 传输优先、web 传输根本不挂载走 SSE 时保持默认false。响应式项目里继续用 OpenFeign→ Feign 是 Servlet 栈组件在响应式容器中可能不可用推测待验证建议实测。webmvc 版本放在 Spring Cloud Gateway 后面转发→ 网关是响应式容器webmvc 转发可能不可用网关项目选 webflux 或独立部署社区已验证。一条 curl 确认修好curl -N http://localhost:8080/sse正常现象第一行立即输出event:endpoint随后data:带出消息端点路径默认/mcp/message连接保持不挂起浏览器 Network 面板里响应类型应为text/event-stream。⚠️ 版本提醒当前仓库 2.x 源码中protocol属性默认值已是STREAMABLE两套 SSE 自动配置均标注Deprecated(since 2.0.0, forRemoval true)——能升版本的新项目直接用 Streamable HTTP本文的坑只针对 1.x 系。【免费下载链接】spring-aiAn Application Framework for AI Engineering项目地址: https://gitcode.com/GitHub_Trending/spr/spring-ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考