From d2a443fe1b683ac53f6448c7e3c774ca95837d2c Mon Sep 17 00:00:00 2001 From: Sizhe Fan <132420031+paoxiaomooo@users.noreply.github.com> Date: Wed, 23 Jul 2025 22:09:13 +0800 Subject: [PATCH 1/2] Update SyncMcpToolCallbackProvider.java Signed-off-by: Sizhe Fan <132420031+paoxiaomooo@users.noreply.github.com> --- .../ai/mcp/SyncMcpToolCallbackProvider.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/mcp/common/src/main/java/org/springframework/ai/mcp/SyncMcpToolCallbackProvider.java b/mcp/common/src/main/java/org/springframework/ai/mcp/SyncMcpToolCallbackProvider.java index 7d0aa4276a1..c46c45feba5 100644 --- a/mcp/common/src/main/java/org/springframework/ai/mcp/SyncMcpToolCallbackProvider.java +++ b/mcp/common/src/main/java/org/springframework/ai/mcp/SyncMcpToolCallbackProvider.java @@ -17,6 +17,7 @@ package org.springframework.ai.mcp; import java.util.List; +import java.util.Set; import java.util.function.BiPredicate; import io.modelcontextprotocol.client.McpSyncClient; @@ -115,6 +116,33 @@ public SyncMcpToolCallbackProvider(McpSyncClient... mcpClients) { this(List.of(mcpClients)); } + /** + * Creates a new {@code SyncMcpToolCallbackProvider} instance that includes only + * clients from the specified allowed servers. + *
+ * This constructor: + *
From 0c9dc0d4bd68470e00da26048a17c3ffadc52d71 Mon Sep 17 00:00:00 2001 From: Sizhe Fan <132420031+paoxiaomooo@users.noreply.github.com> Date: Wed, 23 Jul 2025 22:10:39 +0800 Subject: [PATCH 2/2] Update AsyncMcpToolCallbackProvider.java Signed-off-by: Sizhe Fan <132420031+paoxiaomooo@users.noreply.github.com> --- .../ai/mcp/AsyncMcpToolCallbackProvider.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/mcp/common/src/main/java/org/springframework/ai/mcp/AsyncMcpToolCallbackProvider.java b/mcp/common/src/main/java/org/springframework/ai/mcp/AsyncMcpToolCallbackProvider.java index 3525b9593e3..60233429ec9 100644 --- a/mcp/common/src/main/java/org/springframework/ai/mcp/AsyncMcpToolCallbackProvider.java +++ b/mcp/common/src/main/java/org/springframework/ai/mcp/AsyncMcpToolCallbackProvider.java @@ -18,7 +18,9 @@ import java.util.ArrayList; import java.util.List; +import java.util.Set; import java.util.function.BiPredicate; +import java.util.stream.Collectors; import io.modelcontextprotocol.client.McpAsyncClient; import io.modelcontextprotocol.spec.McpSchema.Tool; @@ -122,6 +124,34 @@ public AsyncMcpToolCallbackProvider(McpAsyncClient... mcpClients) { this(List.of(mcpClients)); } + /** + * Creates a new {@code AsyncMcpToolCallbackProvider} instance that includes only + * clients from the specified allowed servers. + *
+ * This constructor: + *