You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot中通过SSE调用Spring AI MCP工具无响应问题排查

Spring AI MCP Server通过SSE调用工具无响应问题排查

环境配置

  • 启用Spring AI MCP Server的Spring Boot应用,配置项:spring.ai.mcp.server.enabled=true
  • 工具定义为带有@Tool注解的Spring @Service方法,示例代码如下:
@Tool(description = "Find a job by id and domain")
public Job getJob(@ToolParam(description = "job id") String jobId,
                  @ToolParam(description = "domain id") String domainId) {
    return jobRuntimeRepository.findByIdAndDomainId(UUID.fromString(jobId), domainId).orElse(null);
}
  • MCP Server日志显示工具已注册:
Registered tools: 3
  • 使用Python客户端通过SSE连接到MCP Server的/management/mcp/message端点,可获取会话ID并发送tools/info、tools/list等JSON-RPC请求

正常工作场景

  • 可成功建立SSE会话
  • 发送tools/info请求返回“Method not found”错误(符合预期,因Spring AI MCP未实现该方法)
  • SSE会话保持活跃

异常场景

发送tools/list或调用自定义工具(如getJob)时,POST请求已到达Spring Boot(日志确认已映射到WebMvcSseServerTransportProvider),但Python客户端的SSE队列未收到响应,最终超时。所有工具均存在该问题:多参数工具、返回Job对象或long类型的工具均无响应。

调用工具时的Spring Boot日志:

Received JSON message: {"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}
Received request: JSONRPCRequest[jsonrpc=2.0, method=tools/list, id=1, params={}]

请求已被MCP Server接收并映射到SSE传输,但客户端始终未收到响应。

疑问

  1. 是否有人成功通过SSE调用自定义Spring AI MCP工具?
  2. 哪些因素会导致MCP Server无法向SSE客户端返回响应?
  3. 外部MCP客户端调用工具是否有特定要求?
  4. 针对Spring AI MCP工具通过SSE无响应的问题,有哪些调试指导?

内容的提问来源于stack exchange,提问作者Pavitx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 08:52:33