it calls mcp tool, it uses block,I'm not sure if it's because there's a problem with my configuration Environment SpringAI:1.0.0-M8 application.yml mcp: client: toolcallback: enabled: true sse: connections: server1: url: http://127.0.0.1:10101 type: ASYNC request-timeout: 30s Original Stack Trace: at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:87) ~[reactor-core-3.6.15.jar:3.6.15] at reactor.core.publisher.Mono.block(Mono.java:1779) ~[reactor-core-3.6.15.jar:3.6.15] at org.springframework.ai.mcp.AsyncMcpToolCallback.call(AsyncMcpToolCallback.java:116) ~[spring-ai-mcp-1.0.0-M8.jar:1.0.0-M8] at org.springframework.ai.mcp.AsyncMcpToolCallback.call(AsyncMcpToolCallback.java:122) ~[spring-ai-mcp-1.0.0-M8.jar:1.0.0-M8] at org.springframework.ai.model.tool.DefaultToolCallingManager.executeToolCall(DefaultToolCallingManager.java:205) ~[spring-ai-model-1.0.0-M8.jar:1.0.0-M8] at org.springframework.ai.model.tool.DefaultToolCallingManager.executeToolCalls(DefaultToolCallingManager.java:128) ~[spring-ai-model-1.0.0-M8.jar:1.0.0-M8] at org.springframework.ai.openai.OpenAiChatModel.internalCall(OpenAiChatModel.java:240) ~[spring-ai-openai-1.0.0-M8.jar:1.0.0-M8] at org.springframework.ai.openai.OpenAiChatModel.call(OpenAiChatModel.java:179) ~[spring-ai-openai-1.0.0-M8.jar:1.0.0-M8] at org.springframework.ai.chat.client.advisor.ChatModelCallAdvisor.adviseCall(ChatModelCallAdvisor.java:49) ~[spring-ai-client-chat-1.0.0-M8.jar:1.0.0-M8] at org.springframework.ai.chat.client.advisor.DefaultAroundAdvisorChain.lambda$nextCall$1(DefaultAroundAdvisorChain.java:122) ~[spring-ai-client-chat-1.0.0-M8.jar:1.0.0-M8] at io.micrometer.observation.Observation.observe(Observation.java:565) ~[micrometer-observation-1.13.12.jar:1.13.12] at org.springframework.ai.chat.client.advisor.DefaultAroundAdvisorChain.nextCall(DefaultAroundAdvisorChain.java:119) ~[spring-ai-client-chat-1.0.0-M8.jar:1.0.0-M8] at org.springframework.ai.chat.client.DefaultChatClient$DefaultCallResponseSpec.lambda$doGetObservableChatClientResponse$1(DefaultChatClient.java:513) ~[spring-ai-client-chat-1.0.0-M8.jar:1.0.0-M8] at io.micrometer.observation.Observation.observe(Observation.java:565) ~[micrometer-observation-1.13.12.jar:1.13.12] at org.springframework.ai.chat.client.DefaultChatClient$DefaultCallResponseSpec.doGetObservableChatClientResponse(DefaultChatClient.java:511) ~[spring-ai-client-chat-1.0.0-M8.jar:1.0.0-M8] at org.springframework.ai.chat.client.DefaultChatClient$DefaultCallResponseSpec.doGetObservableChatClientResponse(DefaultChatClient.java:494) ~[spring-ai-client-chat-1.0.0-M8.jar:1.0.0-M8] at org.springframework.ai.chat.client.DefaultChatClient$DefaultCallResponseSpec.content(DefaultChatClient.java:489) ~[spring-ai-client-chat-1.0.0-M8.jar:1.0.0-M8] @Override public String call(String functionInput) { Map<String, Object> arguments = ModelOptionsUtils.jsonToMap(functionInput); // Note that we use the original tool name here, not the adapted one from // getToolDefinition return this.asyncMcpClient.callTool(new CallToolRequest(this.tool.name(), arguments)).map(response -> { if (response.isError() != null && response.isError()) { throw new IllegalStateException("Error calling tool: " + response.content()); } return ModelOptionsUtils.toJsonString(response.content()); }).block(); }

Comment From: GRHorn

升级至1.0.0还有同样的问题,是我哪里配置有问题吗

Comment From: GRHorn

2533 提到了这个问题,但是无论手动添加RestClient

@Bean public RestClient.Builder builder() { return RestClient.builder().requestFactory(new SimpleClientHttpRequestFactory()); } 还是配置 spring http: client: factory: simple 都没能解决我的问题。