Skip to main content
Glama

Use Tool

use_tool

Call a ToolRouter catalogue tool. Prefer route with a natural-language intent when you do not already know the tool and skill — it picks them, fills arguments, and runs the call. Use discover when you need schemas or a catalogue listing, then pass the exact tool name and skill here. IMPORTANT: "discover", "route", "credits_balance", and other built-in tools are NOT catalogue tools — call them directly, never through use_tool. Long-running tools return a job_id — poll with job_get. If a skill needs an image_url or file URL and you have a local file or base64 image, use file_write first to get a hosted URL, then pass that URL to the skill. BRAIN: Some tools require you to consult brain_query first. If use_tool returns an error about brain_context, call brain_query with a relevant query, then pass the result text as brain_context in your use_tool input.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toolYesTool reference from discover results, e.g. "web-search"
inputYesSkill input parameters (see discover for schema). For persona-using tools, include persona_file_id from discover or persona_list. For scene-using tools, include scene_file_id from discover or scene_list. For product-using tools, include product_file_id from discover or product_list. For outfit-using tools, include outfit_file_id from discover or outfit_list. For style-reference tools, include style_reference_id (from discover or file_list), style_reference_query (semantic search), or style_reference_prompt (inline prose). For image-composition tools (e.g. generate-image image_to_image), pass any combination of scene_file_id, persona_file_id, product_file_ids[] (from file_list section "products"), outfit_file_ids[] (section "outfits"), and raw image_urls[] — the gateway resolves and merges them into a single image_urls array (max 4 by default).
skillYesSkill name from discover results, e.g. "search"
backendNoRoute the same model through interchangeable providers. order prioritises providers; only restricts; ignore excludes; allow_fallbacks defaults true.
billingNoWhich account to bill. "personal", "team" (auto-resolves if on one team), a team slug ("humanleap"), or a team ID ("team:m57df8c..."). Omit to use your default.
brain_contextNoBrain knowledge from brain_query. Pass at the top level of use_tool (alongside "tool", "skill", "input") — NOT inside input. Call brain_query first, then paste the result text here to clear the brain gate.
response_formatNoResponse verbosity. "concise" (default) strips noise, returns essential data only. "detailed" returns everything including raw metadata.concise

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations are sparse (readOnlyHint=false, destructiveHint=false, no idempotency), so the description carries the burden — and it delivers: long-running tools return a job_id requiring polling, a brain_context gate that errors without prior brain_query, and a gateway that resolves/merges image composition inputs into a single image_urls array. The only unstated behavior is the general return shape of normal (non-async) calls, which varies by target tool.

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?

The description is long (~250 words) but every sentence carries distinct operational information, and key warnings are front-loaded and labeled (IMPORTANT, BRAIN). The purpose sentence opens the text, and routing guidance precedes edge cases. The length is justified by the tool's complexity as a dispatcher, though it could be tightened slightly.

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?

For a dispatcher with 7 parameters, a nested backend object, ~50 siblings, and no output schema, the description covers the hard parts: choice vs route/discover, built-in exclusion, async job flow, image-URL preparation, and the brain gate. A general normal-result description is absent, but return shapes are inherently tool-dependent for a dispatch layer, and the description names the one universal async return (job_id).

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 description coverage is 100%, so the baseline is 3; the schema's input-parameter description is already exceptionally rich (persona_file_id, scene_file_id, style_reference variants, image-composition merging). The tool description itself adds workflow context — file_write before passing URLs and brain_query before brain_context — but does not meaningfully extend parameter semantics beyond what the schema already states.

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?

The opening sentence names a specific verb and resource — 'Call a ToolRouter catalogue tool' — and immediately differentiates from siblings: route is for natural-language intent, discover is for schemas/listing, and built-ins like credits_balance are explicitly excluded ('call them directly, never through use_tool'). An agent can tell exactly what this tool is for and what it is not.

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?

The description gives an explicit decision tree: prefer route when the tool/skill is unknown; use discover to get schemas then pass exact names here; never route built-ins through this tool; poll long-running jobs with job_get; use file_write first for local images; consult brain_query when a brain_context error occurs. This is exemplary when/when-not guidance with named alternatives and conditions.

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.