Skip to main content
Glama

Call several read-only tools

call_read_tools
Read-only

Run up to 10 read-only tools in parallel from one call, return each result in order with its tool and failure status, and refuse tools that may change data; failures do not stop other calls.

Instructions

Call up to 10 tools that only read (readOnly in search_tools results) at once, in parallel: each entry of calls is a name and arguments, as call_read_tool takes them. Returns every call's result in order, each labelled with its number, its tool and whether it failed; one that fails does not stop the others. Tools that may change anything are refused.

Input Schema

NameRequiredDescriptionDefault
callsYesThe calls, 1 to 10, each a tool's name and its arguments.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, and the description goes well beyond them: parallel execution, order-preserving results, per-call labelling with index/tool/failure status, and failure isolation ('one that fails does not stop the others'). That is exactly the behavioral context an agent needs to decide whether batching is safe and how to read partial failures.

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 verb, the limit, and the parallelism, then the return contract and the write-refusal guard. It is dense and slightly run-on but every clause carries information; nothing is padding.

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

Completeness5/5

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

Though there is no output schema, the description fully spells out the return shape (ordered results, numbered, tool-labelled, failure-flagged) and the partial-failure semantics. Combined with complete parameter documentation and a declared safety profile, an agent has everything needed to invoke and interpret this tool.

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% and the nested items already document name and arguments, so the baseline applies. The description adds only the cross-reference that each entry has the same shape call_read_tool takes, which is a minor clarification rather than new meaning about the single `calls` parameter.

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 scope (call up to 10 read-only tools at once, in parallel) plus a hard constraint that write-capable tools are refused, which separates it cleanly from call_write_tool and the single-call call_read_tool without opening either schema.

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

Usage Guidelines4/5

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

Gives clear context for use (batch multiple read-only calls in parallel) and an explicit exclusion (tools that may change anything are refused), plus the 10-call ceiling. It never explicitly says 'for a single call use call_read_tool', so the routing decision for the trivial case is left to inference.

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