diff --git a/agentscope-core/src/main/java/io/agentscope/core/tool/mcp/McpSyncClientWrapper.java b/agentscope-core/src/main/java/io/agentscope/core/tool/mcp/McpSyncClientWrapper.java index aaf16f589..e6dc56fe0 100644 --- a/agentscope-core/src/main/java/io/agentscope/core/tool/mcp/McpSyncClientWrapper.java +++ b/agentscope-core/src/main/java/io/agentscope/core/tool/mcp/McpSyncClientWrapper.java @@ -94,9 +94,16 @@ public Mono initialize() { return null; }) .subscribeOn(Schedulers.boundedElastic()) - .doOnError(e -> logger.error("Failed to initialize MCP client: {}", name, e)) + .doOnError(e -> + { + initialized = false; + logger.error("Failed to initialize MCP client: {}", name, e); + }) + .onErrorResume(e -> Mono.error( + new RuntimeException("MCP initialization failed for client: " + name, e) + )) .then(); - } + } /** * Lists all tools available from the MCP server.