Call Tool
call_toolRun a callable tool with its arguments and optionally select output fields.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| fields | No | ||
| arguments | Yes |
call_toolRun a callable tool with its arguments and optionally select output fields.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| fields | No | ||
| arguments | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, and the description adds nothing to qualify them. For a dispatcher that executes arbitrary target tools, it never warns that the executed tool's effects govern — idempotency and read-only status depend on the callee, not on this wrapper — which is exactly the context an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or redundancy; the two capabilities are introduced in a sensible order. It is terse rather than bloated, though the brevity contributes to the gaps scored elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity meta-tool with a nested object parameter, 0% schema coverage, and no output schema, the description omits how to resolve a valid tool name, how field selection interacts with the response, and how failures of the underlying tool surface. What is present is accurate but far short of what the agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters, so the description carries the full burden. It gestures at 'arguments' and 'select output fields', roughly mapping to two of three params, but gives no format for name (qualified tool name?), no syntax for the fields list, and no statement that arguments must conform to the target tool's schema — especially important given the nested object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete action (run a callable tool) plus two meaningful mechanics: passing arguments and optionally projecting output fields. It reads slightly tautologically against the name 'call_tool', and it makes no attempt to distinguish itself from the siblings get_tool_schema and search_tools, which caps it below 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the discovery flow (search_tools to find a name, get_tool_schema to learn arguments), and no exclusions or alternatives. An agent is left to infer the entire routing decision, which is the core ambiguity for a dispatcher tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.