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传输,但客户端始终未收到响应。
疑问
- 是否有人成功通过SSE调用自定义Spring AI MCP工具?
- 哪些因素会导致MCP Server无法向SSE客户端返回响应?
- 外部MCP客户端调用工具是否有特定要求?
- 针对Spring AI MCP工具通过SSE无响应的问题,有哪些调试指导?
内容的提问来源于stack exchange,提问作者Pavitx
相关产品推荐
相关产品推荐

