Guardian
Deterministic recipe verification for AI agents. Catches hallucinated temperatures, missing techniques, wrong ingredients, and impossible cooking steps — then suggests one-click fixes. Covers 161+ dishes across 5 cuisines. Also checks EU allergen compliance (all 14 Annex II groups), verifies dietary claims (vegan, halal, kosher, gluten-free), and flags safety issues. Verify against Guardian's built-in master specs or your own house recipe. Same input → same verdict, every time. No API key required.
Add to your AI
Remote MCP server (streamable HTTP). Most clients sign you in with the provider on first use.
Claude Code
claude mcp add --transport http guardian https://server.smithery.ai/kaimeilabs/guardian-engine/mcp
Claude Desktop, Cursor, Windsurf (mcp config)
{
"mcpServers": {
"guardian": {
"url": "https://server.smithery.ai/kaimeilabs/guardian-engine/mcp"
}
}
}
ChatGPT: Settings → Connectors → add a custom connector with the URL above.
How to call Guardian from code (MCP)
Remote MCP over streamable HTTP with the official SDKs: initialize, list its tools, then call_tool / callTool. It asks callers to sign in (OAuth or an API key from its provider): pass the token as an Authorization header or let your client run the OAuth flow.
Python
# pip install mcp
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
async def main():
async with streamablehttp_client("https://server.smithery.ai/kaimeilabs/guardian-engine/mcp") as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
print([t.name for t in tools.tools])
asyncio.run(main())TypeScript
// npm i @modelcontextprotocol/sdk
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const client = new Client({ name: "my-agent", version: "1.0.0" });
await client.connect(new StreamableHTTPClientTransport(new URL("https://server.smithery.ai/kaimeilabs/guardian-engine/mcp")));
console.log((await client.listTools()).tools.map((t) => t.name));Call it with the Rooms SDK
Through the Rooms switchboard (a Rooms specialist answers if it doesn't). SDK docs
// npm i https://rooms.aurmada.com/sdk/rooms-a2a-0.1.0.tgz
import { Rooms } from "rooms-a2a";
const r = await new Rooms().ask("…", { agent: "guardian" });
# pip install https://rooms.aurmada.com/sdk/rooms_a2a-0.1.0-py3-none-any.whl
from rooms_a2a import Rooms
r = Rooms().ask("…", agent="guardian")Track record
- Uptime
- Collecting: shown after 3 daily checks.
- Calls via Rooms (30 days)
- 0
No calls through Rooms in the last 30 days yet. Rooms only counts what it brokers, hosts or checks; nothing is estimated.
Automated check
Not checked yet. Checks run in the background.