@@ -287,44 +287,44 @@ export class AgentBlockHandler implements BlockHandler {
287287 ) : Promise < any [ ] > {
288288 if ( mcpServerSelections . length === 0 ) return [ ]
289289
290- const results : any [ ] = [ ]
291-
292- for ( const serverSelection of mcpServerSelections ) {
293- const serverId = serverSelection . params ?. serverId
294- const serverName = serverSelection . params ?. serverName
295- const usageControl = serverSelection . usageControl || 'auto'
296-
297- if ( ! serverId ) {
298- logger . error ( 'MCP server selection missing serverId:' , serverSelection )
299- continue
300- }
290+ const results = await Promise . all (
291+ mcpServerSelections . map ( async ( serverSelection ) => {
292+ const serverId = serverSelection . params ?. serverId
293+ const serverName = serverSelection . params ?. serverName
294+ const usageControl = serverSelection . usageControl || 'auto'
295+
296+ if ( ! serverId ) {
297+ logger . error ( 'MCP server selection missing serverId:' , serverSelection )
298+ return [ ]
299+ }
301300
302- try {
303- // Discover all tools from this server
304- const discoveredTools = await this . discoverMcpToolsForServer ( ctx , serverId )
305-
306- // Create tool definitions for each discovered tool
307- const createdTools = await Promise . all (
308- discoveredTools . map ( ( mcpTool ) =>
309- this . createMcpToolFromDiscoveredServerTool (
310- mcpTool ,
311- serverId ,
312- serverName || serverId ,
313- usageControl
301+ try {
302+ const discoveredTools = await this . discoverMcpToolsForServer ( ctx , serverId )
303+ const createdTools = await Promise . all (
304+ discoveredTools . map ( ( mcpTool ) =>
305+ this . createMcpToolFromDiscoveredServerTool (
306+ mcpTool ,
307+ serverId ,
308+ serverName || serverId ,
309+ usageControl
310+ )
314311 )
315312 )
316- )
317- results . push ( ...createdTools . filter ( Boolean ) )
318-
319- logger . info (
320- `[AgentHandler] Expanded MCP server ${ serverName } into ${ discoveredTools . length } tools`
321- )
322- } catch ( error ) {
323- logger . error ( `[AgentHandler] Failed to process MCP server selection:` , { serverId, error } )
324- }
325- }
313+ logger . info (
314+ `[AgentHandler] Expanded MCP server ${ serverName } into ${ discoveredTools . length } tools`
315+ )
316+ return createdTools . filter ( Boolean )
317+ } catch ( error ) {
318+ logger . error ( `[AgentHandler] Failed to process MCP server selection:` , {
319+ serverId,
320+ error,
321+ } )
322+ return [ ]
323+ }
324+ } )
325+ )
326326
327- return results
327+ return results . flat ( )
328328 }
329329
330330 /**
0 commit comments