Skip to main content
Glama

Explain a recipe before registering it

explain_recipe
Read-onlyIdempotent

Checks a recipe document without registering, writing or running anything — the same evaluator that admits refreshes, plus the fast-path features the harness's recipe explain reports. Example: {"recipe": { …the whole recipe document… }}. Returns {refresh_ready, first_blocker, action_plan, rebuild, capabilities, findings, fast_features}. Every finding names a rule_code, the sources it is about, a JSON pointer and a suggestion; a finding with blocks_refresh true stops incremental refresh, not registration or a build — fix those with permanence document only for a table that must stay current. fast_features lists each fast path (partition, collection pace, concurrency, ranged Parquet reads, …) as used, missed or not_applicable, with a pointer and the fix for a missed one. A document the build service cannot parse comes back as recipe_invalid with the exact pointers. Costs nothing. Call it before register_recipe and again after each fix.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
recipeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent/non-destructive profile, and the description adds substantial context beyond that: no cost, the meaning of a blocks_refresh finding (stops incremental refresh, not registration or a build), the semantics of fast_features states, and the recipe_invalid outcome. This is exactly the extra behavioral disclosure expected when annotations carry the safety burden.

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-loads what the tool is and its cost, then details return fields and finding semantics. Dense but every clause is informative; it is on the long side and could be tightened, but nothing is filler.

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?

No output schema exists, so the description carries the return contract itself, listing refresh_ready, first_blocker, action_plan, rebuild, capabilities, findings, fast_features and the internal shape of a finding (rule_code, sources, pointer, suggestion). For a read-only, single-param tool this is complete enough to call and interpret correctly.

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

Parameters4/5

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

With 1 parameter and 0% schema description coverage, the description compensates by showing the shape: {"recipe": {…the whole recipe document…}}, clarifying that recipe is the entire recipe document rather than a name or id. It does not enumerate document subfields, but the schema declares free-form additionalProperties, so that is acceptable.

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 — it checks/explains a recipe document without registering, writing, or running — and positions itself against register_recipe by naming the call ordering. An agent can distinguish it from siblings like test_recipe and register_recipe from the text alone.

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 explicit timing: 'Call it before register_recipe and again after each fix,' and notes it costs nothing, which is strong guidance. It does not explicitly name or exclude test_recipe, the closest sibling, so the when-not/alternative dimension is only partially covered.

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.

Resources