Skip to main content
Glama

Server Details

Deterministic recipe verification engine — validates AI-generated recipes against master SOPs.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
kaimeilabs/guardian-api-docs
GitHub Stars
0
Server Listing
guardian-engine

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 3 of 3 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: listing dishes, verifying a recipe, and fixing a recipe. No overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (fix_recipe, list_dishes, verify_recipe).

Tool Count5/5

Three tools is an appropriate and well-scoped set for the domain of recipe verification and correction.

Completeness5/5

The tool surface covers listing available dishes, verifying a candidate recipe, and deterministically fixing common issues, which is complete for the stated purpose.

Available Tools

3 tools
fix_recipeA
Idempotent
Inspect

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.

ParametersJSON 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.
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: 'text' (default) or 'json'. Use 'json' to receive the full fixed_recipe object.text

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

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

The description provides rich behavioral context beyond annotations: deterministic, no LLM used, only machine-actionable corrections applied, allergen findings never auto-fixed, and patches_skipped for judgement-requiring items. It also discloses that the result may still fail verification. This fully informs the agent about the tool's behavior.

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 with the main action in the first sentence, followed by specific details about what is and isn't fixed, and a final note about verdict. While it is somewhat long, every sentence adds value and is not redundant.

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?

Given the tool's complexity (5 parameters, output schema available), the description covers all essential aspects: deterministic repair, types of corrections, exclusions (allergens, structural changes), and behavior when verification fails. The availability of an output schema reduces the need to describe return values.

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?

With 100% schema description coverage, the schema already documents all parameters. The description adds minimal extra meaning, though it mentions using list_dishes() for dish_name and notes candidate_json follows the same schema as verify_recipe. This is helpful but does not significantly enhance parameter understanding beyond the schema.

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 purpose: 'Deterministically repair a candidate recipe against a Guardian master.' It specifies the action (repair), the resource (candidate recipe), and the nature (deterministic, no LLM). It distinguishes itself from sibling tools like verify_recipe (which likely only verifies) by describing the repair process and what is auto-applied.

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 implies when to use the tool: when automated, machine-actionable corrections are needed. It notes what is not auto-applied (e.g., structural changes requiring authoring judgement) and warns that verdict_after may still be FAILED. However, it does not explicitly name alternatives or contrast with verify_recipe, and lacks 'when not to use' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_dishesA
Read-onlyIdempotent
Inspect

List all available master dishes with rich metadata.

Returns: Dictionary with schema_version and a dishes list. Each dish includes slug, title, cuisine, region, aliases, and complexity.

ParametersJSON Schema
NameRequiredDescriptionDefault
cuisine_filterNoOptional cuisine to filter by. Case-insensitive exact match against the dish's cuisine field. Valid values: italian | french | spanish | british | thai | chinese | indian | indonesian | japanese | malaysian | korean | mexican | american | moroccan | turkish | levantine. Leave empty to return all available dishes.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Without annotations, the description carries the full burden of disclosure. It adequately describes the return value structure (Dictionary with canonical slugs and aliases), but omits operational traits like read-only safety guarantees, idempotency, or pagination behavior that would help an agent understand side effects and reliability.

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?

Extremely concise with two efficiently structured sentences. The first defines the operation and the second describes the return value. Every sentence earns its place with no redundant filler.

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 zero-parameter tool with implied output, the description covers the essential information: what the tool does and what it returns. It adequately defines the resource scope ('all available' from 'Guardian registry'), though it could benefit from explicit usage context regarding the sibling tool.

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?

The input schema contains zero parameters. Per scoring rules, zero-parameter tools receive a baseline score of 4.

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?

Specifically states the action (List), resource (dish slugs), and scope (Guardian registry). It expands beyond the tool name without being tautological, clearly identifying what resource is being accessed from which system.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this tool versus the sibling 'verify_recipe' or under what circumstances an agent should call it. Lacks explicit prerequisites, workflow sequence, or conditions for invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_recipeA
Read-onlyIdempotent
Inspect

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 vs score: verdict is policy-driven — any CRITICAL finding fails the recipe; more than 5 WARNINGs also fail. score/similarity_score is a similarity-to-master scalar (0–100). A recipe can score 94 and still FAIL if a CRITICAL finding is present. Always gate on verdict, not score.

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. score_breakdown dimension keys (technique, medium, etc.) should be translated before display: technique→"Cooking method", medium→"Cooking environment", timing→"Timing", temperature→"Temperature", ingredients→"Ingredients".

Returns a formatted text report or structured JSON (response_format="json"). In Oracle Mode (default), proprietary data is protected — exact values are replaced with directional hints.

ParametersJSON 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.
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: 'text' (default) or 'json'. Use 'json' for machine-actionable patches.text

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, description carries full burden and discloses: deterministic graph-based algorithm, verification scope (technique, temperature, timing, medium, ingredients), output format (formatted text report), and Oracle Mode behavior (proprietary data protection via directional hints).

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?

Four sentences with zero waste: purpose (sentence 1), methodology (sentence 2), output format (sentence 3), and special mode behavior (sentence 4). Information is properly front-loaded.

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?

Given 4 parameters with 100% schema coverage and existing output schema, description adequately covers behavioral specifics (Oracle Mode nuances) and output type without needing to describe return values in detail. Missing only edge case handling.

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%, establishing baseline 3. The main description mentions 'candidate recipe' generally but does not elaborate parameter specifics beyond what the schema already documents (e.g., Intent Spotlighting, backward compatibility aliases).

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?

Description provides specific verb ('Verify') and resource ('candidate recipe against a Guardian master recipe'). It clearly distinguishes from sibling tool list_dishes by describing the verification workflow and referencing it in the dish_name parameter description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Main description lacks explicit 'when to use' guidance or contrasts with alternatives. However, the dish_name parameter description implies workflow by stating 'Use list_dishes() to see all available recipes', suggesting a list-then-verify pattern.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.