Skip to main content
Glama

callManyTool

Runs up to 50 independent MCP tool calls in one bounded round trip, returning results in input order while isolating failures so partial results remain usable.

Instructions

Runs up to 50 tool calls in one bounded fan-out (8 concurrent) and returns results in input order. Use it when several calls are independent - across servers or within one - and you want one round trip instead of N. Each item is {server, tool, arguments}; server and tool names are the ones readToolFile shows. A failed item returns ok=false with its error and never cancels its siblings, so a partial result is still usable. Do NOT use it when one call depends on another call's result: write an executeTool script for that.

Input Schema

NameRequiredDescriptionDefault
callsYesIndependent tool calls to run in parallel. Results come back in this order.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv6.1.1

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses the 50-call cap, 8-way concurrency, result ordering, and failure isolation ("ok=false with its error and never cancels its siblings"). It stops short of timeout behavior, recursion/nesting rules, and whether calls count against any quota.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core behavior, then usage, then failure semantics, then the exclusion — a sensible ordering with no filler sentences. It runs five sentences where four would do, and the readToolFile reference introduces noise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers usage conditions, limits, ordering, and partial-failure behavior, which is most of what an agent needs to call this safely. With no output schema, the description should say what a successful item looks like (it only documents the ok=false case).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the calls array and its server/tool/arguments members, making 3 the baseline. The description adds item shape and ordering semantics, but its claim that server and tool names are "the ones readToolFile shows" is at odds with the schema, which points to listToolFiles — a small ambiguity rather than clear added value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Runs up to 50 tool calls in one bounded fan-out") plus the two defining traits: 8-way concurrency and input-order results. An agent can distinguish it from executeTool and from the file-listing siblings without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use condition ("when several calls are independent - across servers or within one") and an explicit exclusion plus the alternative ("Do NOT use it when one call depends on another call's result: write an executeTool script"). Names the sibling to switch to.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.