Skip to main content
Glama

verify_recipe

Read-onlyIdempotent

Verify a candidate recipe against a Guardian master recipe.

Uses deterministic graph-based verification to check technique, temperature, timing, cooking medium, and required ingredients.

Verdict: verdict is strictly PASSED or FAILED and is policy-driven — any CRITICAL finding fails the recipe; more than 5 WARNINGs also fail. There is no score in the response (ADR-013): gate on verdict and explain failures from findings.

Field audience: issue is a machine-readable code for programmatic handling — never show it to end users. Use title and suggested_correction as the user-facing fields.

Returns structured JSON by default (machine-actionable findings and patches); response_format="text" renders a human-readable report. Both formats are transparent (ADR-009 / ADR-018): exact values and ingredient names included.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dishNoAlias for dish_name — for backward compatibility with production clients.
dish_nameNoName of the dish to verify against (e.g. 'carbonara', 'rendang', 'roast-chicken', 'confit', 'cheesecake', 'kung-pao', 'fried-chicken', 'brisket', 'wellington', 'cheese-souffle'). Use list_dishes() to see all available recipes and their aliases.
session_idNoOptional session ID to track an agent's improvement loop across multiple attempts.
master_jsonNoOptional user-supplied master SOP to verify against (BYO master, ADR-018), as a JSON string or object using the same schema as catalog masters (dish_name, steps[], required_ingredients[]; see get_master() for a live example). When provided, the bundled catalog is bypassed — the candidate is checked against YOUR spec — and dish_name may be omitted. The response pins the spec via master_hash (sha256) and master_source='user' so the verdict is replayable.
operator_idNoOptional audit identifier for the calling operator (letters, digits, hyphens; max 64 chars). Tags the verification in the tamper-evident log and compliance record. Defaults to 'anonymous'.
candidate_jsonNoThe full candidate recipe as a JSON string or object. Expected schema: {"title": "<string>", "cuisine": "<string>", "serves": <int>, "ingredients": [{"name": "<string>", "quantity": "<string>"}], "steps": [{"step_number": <int>, "title": "<string>", "instruction_english": "<string>", "technique": "<string>", "estimated_temperature_c": <number or [min, max]>, "duration_minutes": <number or [min, max]>, "cooking_medium": "<string>"}]}
original_promptNoRECOMMENDED for best results. Include the user's original cooking request. Copy the user's exact message that triggered this recipe (e.g., 'Make me a spicy vegan rendang' or 'Generate a traditional carbonara, but healthier'). WITHOUT this parameter: Guardian returns actionable findings with specific ingredient names and technique details — enough to fix most recipes. WITH this parameter: Guardian additionally activates safety context awareness (e.g., flagging honey for infants, raw egg for pregnant users) and personalised feedback matched to dietary needs and flavour preferences. Include it when the user's context matters for safety or personalisation.
response_formatNoResponse format: 'json' (default — machine-actionable verdict, findings, and patches) or 'text' (human-readable report).json

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description discloses substantial behavioral detail: verdict is strictly PASSED or FAILED with policy thresholds (any CRITICAL or >5 WARNINGs fails), there is no score, issue is machine-readable and must not be shown to users, and both json/text formats are transparent. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four focused paragraphs with bold labels, front-loaded with a clear purpose statement. Every sentence carries policy, field-audience, or format information; there is no filler or redundancy.

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?

Coupled with the rich schema and annotations, the description fully prepares an agent: it explains verdict policy, field audience, response formats, and transparency guarantees. Since an output schema exists, not detailing every return field in the description is acceptable.

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?

Schema coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema's one-line parameter descriptions by explaining response_format behavior ('structured JSON by default... response_format="text" renders a human-readable report'), verdict/findings semantics, and the candidate_json verification dimensions.

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 opens with a specific verb ('Verify') and resource ('candidate recipe against a Guardian master recipe'), and then enumerates the verification dimensions (technique, temperature, timing, cooking medium, required ingredients). This clearly distinguishes it from narrower sibling tools like check_allergens, check_safety, and verify_dietary_claim.

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?

It clearly frames when to use this tool—verifying a candidate recipe against a master—and explains when to include original_prompt and how response_format changes output. However, it does not explicitly name alternative tools or state when NOT to use this tool (e.g., for allergen-only checks), so it stops short of full usage exclusion guidance.

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.