找回密码
 立即注册
首页 业界区 业界 速看!新版SpringAI的2个致命问题

速看!新版SpringAI的2个致命问题

祖柔惠 2025-6-27 15:34:46
无论是使用最新正式版的 Spring AI,还是最新正式版 Spring AI Alibaba,在实现自定义 MCP 服务器端和客户端的时候,一定要注意这两个问题,不然你会发现你的 MCP 服务器端能启动,但客户端就是连接不上,并且控制台也都是误报信息。
注意事项一

自定义 MCP 服务器端添加依赖时,如果是非标准 stdio 模式,当前项目一定要记得排除掉 spring-boot-starter-web 依赖
  1. <dependency>
  2.     <groupId>org.springframework.boot</groupId>
  3.     spring-boot-starter-web</artifactId>
  4. </dependency>
复制代码
也就是说,你的 spring-ai-starter-mcp-server-webflux 依赖不能和 spring-boot-starter-web 依赖并存,以下是错误配置:
  1. <dependency>
  2.     <groupId>org.springframework.boot</groupId>
  3.     spring-boot-starter-web</artifactId>
  4. </dependency>    org.springframework.ai    spring-ai-starter-mcp-server-webflux
复制代码
因为当有 spring-boot-starter-web 依赖时会默认使用 tomcat 启动服务,这样项目虽然启动了,但 mcp service 服务并未启动,mcp service 服务是使用 netty 启动的,如下图所示:
1.webp

2.png

注意事项二

Spring AI 正式版之后,在使用客户端注册 MCP 工具时要使用 ToolCallbacks 而不是 Tools,如果在新版本中使用后者就会启动报错。
错误用法
  1. @Bean
  2. public ChatClient chatClient(ChatModel chatModel, ToolCallbackProvider tools) {
  3.     return ChatClient
  4.             .builder(chatModel)
  5.             .defaultTools(tools.getToolCallbacks())
  6.             .build();
  7. }
复制代码
或者以下方式也是错误的:
  1. @Bean
  2. public ChatClient chatClient(ChatModel chatModel, ToolCallbackProvider tools) {
  3.     return ChatClient
  4.             .builder(chatModel)
  5.             .defaultTools(tools)
  6.             .build();
  7. }
复制代码
正确用法
  1. @Bean
  2. public ChatClient chatClient(ChatModel chatModel, ToolCallbackProvider tools) {
  3.     return ChatClient
  4.             .builder(chatModel)
  5.             .defaultToolCallbacks(tools.getToolCallbacks())
  6.             .build();
  7. }
复制代码
小结

在进行 Spring AI 或 Spring AI Alibaba 老项目升级时,或使用最新正式版框架时,一定要注意这两个问题,不然就会导致自定义的 MCP 服务能启动,但客户端就是连接不上的问题。
本文已收录到我的技术小站 www.javacn.site,其中包含的内容有:Spring AI、LangChain4j、Dify、Spring AI Alibaba、智能体(AI Agent)、MCP、Function Call、RAG、向量数据库、Prompt、多模态、向量数据库、嵌入模型等内容。
   

关注公众号(加好友):

            
作者:        王磊的博客        
出处:        http://vipstone.cnblogs.com/        
   

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册