From 72bb5ca296165d51a2b9658e8af7f31171a8ce9c Mon Sep 17 00:00:00 2001 From: Christian Tzolov Date: Mon, 10 Mar 2025 11:39:11 +0100 Subject: [PATCH] feat(mcp): Update to MCP SDK 0.8.0-SNAPSHOT and fix client initialization - Make MCP client initialization blocking with .block() call - Upgrade MCP SDK version from 0.7.0 to 0.8.0-SNAPSHOT Signed-off-by: Christian Tzolov --- .../autoconfigure/mcp/client/McpClientAutoConfiguration.java | 2 +- .../main/java/org/springframework/ai/mcp/McpToolUtils.java | 5 +++-- pom.xml | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/auto-configurations/spring-ai-mcp-client/src/main/java/org/springframework/ai/autoconfigure/mcp/client/McpClientAutoConfiguration.java b/auto-configurations/spring-ai-mcp-client/src/main/java/org/springframework/ai/autoconfigure/mcp/client/McpClientAutoConfiguration.java index c6471ed3a..7a8ef7d84 100644 --- a/auto-configurations/spring-ai-mcp-client/src/main/java/org/springframework/ai/autoconfigure/mcp/client/McpClientAutoConfiguration.java +++ b/auto-configurations/spring-ai-mcp-client/src/main/java/org/springframework/ai/autoconfigure/mcp/client/McpClientAutoConfiguration.java @@ -268,7 +268,7 @@ public class McpClientAutoConfiguration { var syncClient = syncSpec.build(); if (commonProperties.isInitialized()) { - syncClient.initialize(); + syncClient.initialize().block(); } mcpSyncClients.add(syncClient); diff --git a/mcp/common/src/main/java/org/springframework/ai/mcp/McpToolUtils.java b/mcp/common/src/main/java/org/springframework/ai/mcp/McpToolUtils.java index 07416137d..d9b74af42 100644 --- a/mcp/common/src/main/java/org/springframework/ai/mcp/McpToolUtils.java +++ b/mcp/common/src/main/java/org/springframework/ai/mcp/McpToolUtils.java @@ -142,8 +142,9 @@ public final class McpToolUtils { try { String callResult = toolCallback.call(ModelOptionsUtils.toJsonString(request)); if (mimeType != null && mimeType.toString().startsWith("image")) { - return new McpSchema.CallToolResult(List.of(new McpSchema.ImageContent(List.of(Role.ASSISTANT), - null, "image", callResult, mimeType.toString())), false); + return new McpSchema.CallToolResult(List + .of(new McpSchema.ImageContent(List.of(Role.ASSISTANT), null, callResult, mimeType.toString())), + false); } return new McpSchema.CallToolResult(List.of(new McpSchema.TextContent(callResult)), false); } diff --git a/pom.xml b/pom.xml index 79e670db3..260341c00 100644 --- a/pom.xml +++ b/pom.xml @@ -239,7 +239,7 @@ 4.12.0 - 0.7.0 + 0.8.0-SNAPSHOT 4.13.1