File tree 1 file changed +6
-10
lines changed
mcp/common/src/main/java/org/springframework/ai/mcp
1 file changed +6
-10
lines changed Original file line number Diff line number Diff line change 51
51
* // Get all available tools
52
52
* ToolCallback[] tools = provider.getToolCallbacks();
53
53
* }</pre>
54
- *
54
+ * <p>
55
55
* Example usage with multiple clients:
56
56
*
57
57
* <pre>{@code
63
63
* }</pre>
64
64
*
65
65
* @author Christian Tzolov
66
- * @since 1.0.0
67
66
* @see ToolCallbackProvider
68
67
* @see SyncMcpToolCallback
69
68
* @see McpSyncClient
69
+ * @since 1.0.0
70
70
*/
71
71
72
72
public class SyncMcpToolCallbackProvider implements ToolCallbackProvider {
@@ -130,17 +130,13 @@ public SyncMcpToolCallbackProvider(McpSyncClient... mcpClients) {
130
130
*/
131
131
@ Override
132
132
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 ()
138
135
.tools ()
139
136
.stream ()
140
137
.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 );
144
140
validateToolCallbacks (array );
145
141
return array ;
146
142
}
You can’t perform that action at this time.
0 commit comments