File tree Expand file tree Collapse file tree 1 file changed +6
-10
lines changed
mcp/common/src/main/java/org/springframework/ai/mcp Expand file tree Collapse file tree 1 file changed +6
-10
lines changed Original file line number Diff line number Diff line change 5151 * // Get all available tools
5252 * ToolCallback[] tools = provider.getToolCallbacks();
5353 * }</pre>
54- *
54+ * <p>
5555 * Example usage with multiple clients:
5656 *
5757 * <pre>{@code
6363 * }</pre>
6464 *
6565 * @author Christian Tzolov
66- * @since 1.0.0
6766 * @see ToolCallbackProvider
6867 * @see SyncMcpToolCallback
6968 * @see McpSyncClient
69+ * @since 1.0.0
7070 */
7171
7272public class SyncMcpToolCallbackProvider implements ToolCallbackProvider {
@@ -130,17 +130,13 @@ public SyncMcpToolCallbackProvider(McpSyncClient... mcpClients) {
130130 */
131131 @ Override
132132 public ToolCallback [] getToolCallbacks () {
133-
134- var toolCallbacks = new ArrayList <>();
135-
136- this .mcpClients .stream ()
137- .forEach (mcpClient -> toolCallbacks .addAll (mcpClient .listTools ()
133+ var array = this .mcpClients .stream ()
134+ .flatMap (mcpClient -> mcpClient .listTools ()
138135 .tools ()
139136 .stream ()
140137 .filter (tool -> this .toolFilter .test (mcpClient , tool ))
141- .map (tool -> new SyncMcpToolCallback (mcpClient , tool ))
142- .toList ()));
143- var array = toolCallbacks .toArray (new ToolCallback [0 ]);
138+ .map (tool -> new SyncMcpToolCallback (mcpClient , tool )))
139+ .toArray (ToolCallback []::new );
144140 validateToolCallbacks (array );
145141 return array ;
146142 }
You can’t perform that action at this time.
0 commit comments