Skip to content

Commit ffad572

Browse files
authored
docs(mcp): add dynamic MCP client selection example (#3751)
Auto-cherry-pick to 1.0.x Fixes #3751 demonstrate how to filter injected MCP clients by server name using getServerInfo().name() Signed-off-by: Sizhe Fan <[email protected]>
1 parent 788d25e commit ffad572

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

spring-ai-docs/src/main/antora/modules/ROOT/pages/api/mcp/mcp-helpers.adoc

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,24 @@ For multiple clients:
6565
List<McpSyncClient> clients = // obtain list of clients
6666
List<ToolCallback> callbacks = SyncMcpToolCallbackProvider.syncToolCallbacks(clients);
6767
----
68+
+
69+
For dynamic selection of a subset of clients
70+
+
71+
[source,java]
72+
----
73+
@Autowired
74+
private List<McpSyncClient> mcpSyncClients;
6875
76+
public ToolCallbackProvider buildProvider(Set<String> allowedServerNames) {
77+
// Filter by server.name().
78+
List<McpSyncClient> selected = mcpSyncClients.stream()
79+
.filter(c -> allowedServerNames.contains(c.getServerInfo().name()))
80+
.toList();
81+
82+
return new SyncMcpToolCallbackProvider(selected);
83+
}
84+
85+
----
6986
Async::
7087
+
7188
[source,java]

0 commit comments

Comments
 (0)