Skip to main content
Glama

fix_recipe

Idempotent

Deterministically repair a candidate recipe against a Guardian master.

Verifies the candidate, applies every machine-actionable correction the symbolic engine produced (missing ingredients, quantities, temperatures, durations, cooking media, ingredient substitutions), then re-verifies the result. No LLM is used — the repair is a deterministic function of the candidate recipe and the master ruleset.

Findings that need recipe-authoring judgement — adding a whole cooking phase, rewriting step instructions, ingredient-ratio rebalancing — are not auto-applied; they are returned under patches_skipped. Allergen findings are never auto-fixed. The response reports the verdict before and after so the caller can see exactly what was resolved.

Note: verdict_after may still be FAILED when structural changes (e.g. adding a cooking step, rebalancing ingredient ratios) are needed. These require recipe-authoring judgement and are returned under patches_skipped. Callers should NOT assume a fixed recipe will pass verification.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dishNoAlias for dish_name — for backward compatibility with production clients.
dish_nameNoName of the dish to repair against (e.g. 'carbonara', 'rendang', 'roast-chicken'). Use list_dishes() to see all available recipes and their aliases.
master_jsonNoOptional user-supplied master SOP to repair against (BYO master, ADR-018), same schema as catalog masters. When provided, the catalog is bypassed and dish_name may be omitted; patches (including suggested_step templates) are built from THIS spec.
candidate_jsonNoThe full candidate recipe as a JSON string or object — same schema as verify_recipe's candidate_json (title, cuisine, ingredients[], steps[]).
original_promptNoOptional. The user's original cooking request, used only for safety-context awareness during verification. Does not change which fixes are applied.
response_formatNoResponse format: 'json' (default — includes the full fixed_recipe object) or 'text' (human-readable report).json

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

TDQS

A4.4/5.0
Behavior5/5

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

The description goes far beyond the annotations by detailing the deterministic process (verify, apply corrections, re-verify), listing the types of corrections applied, and explicitly disclosing what is NOT auto-applied (e.g., adding phases, rewriting instructions, allergen fixes). It also explains the response includes verdict before/after, which is valuable behavioral context. No contradiction with annotations (readOnlyHint=false, idempotentHint=true).

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 well-structured and front-loaded with the primary purpose, but it contains redundancy: the caveat about structural changes and patches_skipped is repeated in the final note. This slight repetition prevents a perfect score, though each sentence otherwise earns its place.

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 tool of this complexity, the description is highly complete: it explains the repair process, limitations, return semantics (verdict before/after, patches_skipped), and important caveats. With an output schema and annotations present, the description covers all necessary behavioral and contextual aspects.

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?

All 6 parameters are fully described in the schema (100% coverage), so the description does not need to add parameter-level detail. The description adds minimal parameter-specific information but the schema already provides accurate descriptions, including aliases and optionality. Baseline 3 is appropriate.

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 description clearly states the tool's function with a specific verb and resource: 'Deterministically repair a candidate recipe against a Guardian master.' It distinguishes itself from siblings like verify_recipe by focusing on repair and applying machine-actionable corrections. The scope is explicit and unambiguous.

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?

The description provides clear context on when to use the tool (to repair a candidate recipe) and explicitly warns about limitations (structural changes and allergen findings are not auto-fixed; verdict_after may still be FAILED). It does not name alternatives directly, but the context and caveats guide appropriate use effectively.

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.

TDQS

A4.4/5.0
Disambiguation3/5

check_allergens, check_safety, and verify_dietary_claim all involve allergen scanning, so an agent could plausibly select the wrong one depending on whether it needs an ingredient audit, a master-independent safety envelope, or a dietary claim. The descriptions contain helpful usage hints, but the boundaries between the allergen-focused checks are not crisply defined.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun convention: check_allergens, check_safety, fix_recipe, get_master, list_dishes, verify_dietary_claim, verify_recipe. There is no mixing of casing styles or vague generic verb naming.

Tool Count5/5

Seven tools is well-scoped for a recipe verification engine: discovery, reference retrieval, verification, repair, and independent safety checks each have a dedicated entry point. No tool feels redundant or unnecessary, and the set is small enough for an agent to navigate easily.

Completeness4/5

The core workflow is covered end-to-end: list_dishes and get_master enable discovery and reference comparison, verify_recipe and fix_recipe handle master-based verification and repair, and check_safety, check_allergens, and verify_dietary_claim cover independent safety checks. Minor gaps exist, such as the lack of master-authoring/update tools and master-independent temperature safety being limited to poultry, but agents can work around these.