From ec39fba471a984af0ce440f241c13d1f7146b00a Mon Sep 17 00:00:00 2001 From: ivy Date: Wed, 12 Mar 2025 17:12:07 +0800 Subject: [PATCH 1/2] SyncMcpToolCallback call method NPE --- .../java/org/springframework/ai/mcp/SyncMcpToolCallback.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mcp/common/src/main/java/org/springframework/ai/mcp/SyncMcpToolCallback.java b/mcp/common/src/main/java/org/springframework/ai/mcp/SyncMcpToolCallback.java index 1b71e930161..aa51e1f3681 100644 --- a/mcp/common/src/main/java/org/springframework/ai/mcp/SyncMcpToolCallback.java +++ b/mcp/common/src/main/java/org/springframework/ai/mcp/SyncMcpToolCallback.java @@ -113,7 +113,7 @@ public String call(String functionInput) { // Note that we use the original tool name here, not the adapted one from // getToolDefinition CallToolResult response = this.mcpClient.callTool(new CallToolRequest(this.tool.name(), arguments)); - if (response.isError()) { + if (response.isError() != null && response.isError()) { throw new IllegalStateException("Error calling tool: " + response.content()); } return ModelOptionsUtils.toJsonString(response.content()); From 5771a98e8ed028cb2b254576b134991199c323c0 Mon Sep 17 00:00:00 2001 From: ivy Date: Wed, 12 Mar 2025 17:12:07 +0800 Subject: [PATCH 2/2] SyncMcpToolCallback call method NPE Signed-off-by: fangjie33 --- .../java/org/springframework/ai/mcp/SyncMcpToolCallback.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mcp/common/src/main/java/org/springframework/ai/mcp/SyncMcpToolCallback.java b/mcp/common/src/main/java/org/springframework/ai/mcp/SyncMcpToolCallback.java index 1b71e930161..aa51e1f3681 100644 --- a/mcp/common/src/main/java/org/springframework/ai/mcp/SyncMcpToolCallback.java +++ b/mcp/common/src/main/java/org/springframework/ai/mcp/SyncMcpToolCallback.java @@ -113,7 +113,7 @@ public String call(String functionInput) { // Note that we use the original tool name here, not the adapted one from // getToolDefinition CallToolResult response = this.mcpClient.callTool(new CallToolRequest(this.tool.name(), arguments)); - if (response.isError()) { + if (response.isError() != null && response.isError()) { throw new IllegalStateException("Error calling tool: " + response.content()); } return ModelOptionsUtils.toJsonString(response.content());