Skip to content

Commit 6eec154

Browse files
committed
perf(agent): parallelize MCP server tool creation with Promise.all
1 parent ce03885 commit 6eec154

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

apps/sim/executor/handlers/agent/agent-handler.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -309,15 +309,17 @@ export class AgentBlockHandler implements BlockHandler {
309309
const discoveredTools = await this.discoverMcpToolsForServer(ctx, serverId)
310310

311311
// Create tool definitions for each discovered tool
312-
for (const mcpTool of discoveredTools) {
313-
const created = await this.createMcpToolFromDiscoveredServerTool(
314-
mcpTool,
315-
serverId,
316-
serverName || serverId,
317-
usageControl
312+
const createdTools = await Promise.all(
313+
discoveredTools.map((mcpTool) =>
314+
this.createMcpToolFromDiscoveredServerTool(
315+
mcpTool,
316+
serverId,
317+
serverName || serverId,
318+
usageControl
319+
)
318320
)
319-
if (created) results.push(created)
320-
}
321+
)
322+
results.push(...createdTools.filter(Boolean))
321323

322324
logger.info(
323325
`[AgentHandler] Expanded MCP server ${serverName} into ${discoveredTools.length} tools`

0 commit comments

Comments
 (0)