Skip to main content
Glama

Run any catalog tool

use_tool

Free wrapper. Runs any catalog tool missing from your tools/list exactly as a direct call: args pass through unchanged and the inner tool's price, payment, result and errors apply verbatim. Its hints are the worst case over the whole catalog: not read-only because some inner tools create a render, a stored file or a ledger entry; never destructive because no catalog tool deletes or overwrites anything. Get the inner tool's name, schema and its own annotations from tool_catalog(tool='') first. A missing or unknown name errors pointing to tool_catalog; it cannot call itself.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>"
    },
    "name": "use_tool"
  }
}

Input Schema

NameRequiredDescriptionDefault
argsNoObject matching that tool's inputSchema. Omit if none required.
nameYesExact tool name from tool_catalog. Not 'use_tool'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / args / description
      Previous value: -"Args per that tool's inputSchema."New value: +"Object matching that tool's inputSchema. Omit if none required."
    • changedInput schema / properties / name / description
      Previous value: -"Tool name (see tool_catalog)."New value: +"Exact tool name from tool_catalog. Not 'use_tool'."
  2. Changed2 schema fields changed
    • addedInput schema / properties / args / description
      Added value: +"Args per that tool's inputSchema."
    • addedInput schema / properties / name / description
      Added value: +"Tool name (see tool_catalog)."
  3. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: it justifies readOnlyHint=false (inner tools may create a render, a stored file or a ledger entry) and destructiveHint=false (no catalog tool deletes or overwrites), and adds that pricing and payment apply verbatim, that errors propagate from the inner tool, and that unknown names fail with a pointer to tool_catalog. That is exactly the extra context annotations cannot carry for an aggregator whose safety profile is a catalog-wide worst case.

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 one-line purpose before the hint rationale, and every sentence carries information. It runs dense — the second sentence packs annotations, rationale, prerequisites and the self-call exclusion — which trades a little readability for completeness, but there is no filler to cut.

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?

For a pass-through dispatcher with two params, full schema coverage and no output schema, the description covers everything an agent needs: how to resolve the inner tool, how args are forwarded, what safety posture to assume and why, and how failures behave. No gap remains that would cause a misinvocation.

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 both parameters are already documented in the schema, which sets the baseline at 3. The description does add real meaning — args pass through unchanged to the inner tool's inputSchema, and name must be an exact catalog name rather than 'use_tool' — but it is confirming and constraining what the schema says rather than introducing new parameter behavior.

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 any catalog tool that is missing from tools/list — and frames it as exactly equivalent to a direct call, with args, price, payment, result and errors passing through verbatim. This clearly separates it from the sibling tool_catalog (discovery) and from every concrete tool (no wrapper needed).

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 precondition (the tool is missing from your tools/list), a required preceding step (fetch name, schema and annotations via tool_catalog(tool='<name>')), an explicit exclusion (it cannot call itself), and the failure mode (missing or unknown name errors pointing to tool_catalog). Nothing about when to reach for this versus the alternatives 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.