Search / dev.kaimeilabs/guardian-engine
Guardian Engine
R0· no sign-inDeterministic recipe verification engine — validates AI-generated recipes against master SOPs.
v1.0.0 · active · repository · descriptor JSON · versions
Search / dev.kaimeilabs/guardian-engine
R0· no sign-inDeterministic recipe verification engine — validates AI-generated recipes against master SOPs.
v1.0.0 · active · repository · descriptor JSON · versions
{
"mcpServers": {
"guardian-engine": {
"type": "http",
"url": "https://api.kaimeilabs.dev/mcp"
}
}
}claude mcp add --transport http guardian-engine https://api.kaimeilabs.dev/mcp[mcp_servers.guardian-engine]
url = "https://api.kaimeilabs.dev/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"guardian-engine": {
"type": "remote",
"url": "https://api.kaimeilabs.dev/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"guardian-engine": {
"type": "http",
"url": "https://api.kaimeilabs.dev/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=guardian-engine&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLmthaW1laWxhYnMuZGV2L21jcCJ9"
}{
"servers": {
"guardian-engine": {
"type": "http",
"url": "https://api.kaimeilabs.dev/mcp"
}
}
}{
"mcpServers": {
"guardian-engine": {
"httpUrl": "https://api.kaimeilabs.dev/mcp"
}
}
}extensions:
"guardian-engine":
enabled: true
name: "guardian-engine"
type: streamable_http
uri: "https://api.kaimeilabs.dev/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_length1 tools have descriptions over 1,024 characters, which crowds the contexttools.schemasevery tool has an object input schematools.annotations7 of 7 tools declare readOnlyHint or destructiveHinttools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: verify_recipe (destructiveHint, openWorldHint); fix_recipe (destructiveHint, openWorldHint); check_safety (destructiveHint, openWorldHint); …tools.token_costabout 3,292 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +dns-namespace +reachable +uptime-96% -stale-235d
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://api.kaimeilabs.dev/mcp streamable-http | none | yes | 96% | 466 ms | 2025-11-25 | 2026-10-20 |
check_allergensread-only | Check ingredients for EU FIC 1169/2011 allergen compliance. Returns a detailed audit trace mapping each ingredient to its EU Annex II allergen group with entry numbers and labels. The safety verdict is deterministic — no LLM involvement in the decision — and is pinned by the returned ``kb_version_hash``. Use check_all_eu_allergens=True for food labelling (detect all allergens). Use restrictions=['dairy', 'gluten'] to check for specific user allergies. Supplying neither runs the full 14-group Annex II scan and sets ``defaulted_to_full_scan`` — the tool never reports "safe" without checking. ``is_safe`` answers "was a supplied restriction violated?"; ``declared_allergens`` answers "what is actually present?". Read both. |
check_safetyread-only | Run master-independent safety checks on a candidate recipe. Works for ANY recipe — no dish resolution, no master SOP required. Checks poultry internal-temperature safety and scans all ingredients for the 14 EU FIC 1169/2011 Annex II allergen groups. The verdict is a deterministic function of (candidate, kb_version_hash) — no LLM involvement. Use this when verify_recipe has no matching master for the dish: the safety layer still applies to every recipe. Returns: Safety envelope: verdict (PASSED/FAILED per the zero-critical policy gate), safe flag, issues found, and the pinned kb_version_hash. |
fix_recipe | 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. |
get_masterread-only | Return the canonical master recipe for a dish (read-only, no LLM). Enables compare-then-verify agentic loops: fetch the master, diff it against the user's recipe, then call verify_recipe — instead of verifying blind. Pure knowledge-base lookup, no LLM in the hot path. Master content is transparent by default (ADR-009 / ADR-010): exact temperatures, timings, and EU FIC 1169/2011 allergen codes are returned verbatim, never obfuscated. No score is included (ADR-013) — this is reference data, not a verdict. Returns ingredients, steps (technique/temperature/timing/medium), and the EU FIC allergens derived from the required ingredients. Unknown dishes return a structured UNKNOWN_DISH error. |
list_dishesread-only | List all available master dishes with rich metadata. This is a browse/discovery step, not the verification itself — after picking a dish, call verify_recipe(dish_name=<slug>, candidate_json=<your recipe>) to actually check a candidate against it (or fix_recipe to auto-repair it). Returns: Dictionary with `schema_version`, a `dishes` list (slug, title, cuisine, region, aliases, complexity per dish), and a `next_step` hint describing how to proceed to verification. |
verify_dietary_claimread-only | Verify that a recipe satisfies a dietary claim (vegan, halal, gluten-free, ...). Reuses the existing allergen-detection logic plus a curated forbidden-ingredient map (apps/guardian/knowledge/dietary_claims.yaml). Returns a structured verdict with the specific offending ingredients and a short justification — never a vague paraphrase. |
verify_reciperead-only | 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. |
Schemas: list_tools.
{
"name": "dev.kaimeilabs/guardian-engine",
"title": "Guardian Engine",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://api.kaimeilabs.dev/mcp",
"type": "streamable-http"
}
],
"version": "1.0.0",
"repository": {
"url": "https://github.com/kaimeilabs/guardian-api-docs",
"source": "github"
},
"description": "Deterministic recipe verification engine — validates AI-generated recipes against master SOPs."
}