Guardian Engine について
Guardian Engine は、生成されたレシピをマスターレシピや独自 SOP と照合する、エージェント向けのホスト型・決定論的検証サービスです。LLM による批評に頼らず、再現可能な判定と構造化された修正案を返します。
主な機能
- 01マスタースペックに基づくレシピ検証
- 02独自レシピや SOP の指定
- 03再現可能な合否判定
- 04決定論的なレシピ修正パッチ
- 05鶏肉の温度とアレルゲンの確認
活用シーン
- 01調理前の AI 生成レシピの検証
- 02独自 SOP によるレシピ確認
- 03構造化されたレシピの誤りを修正して再検証
MCP 対応
Guardian Engine は Streamable HTTP に対応したホスト型 MCP サーバーです。レシピの検証、検索、修正、安全確認のための 7 つのツールを公開します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.kaimeilabs.dev/mcpclaude mcp add --transport http dev-kaimeilabs-guardian-engine https://api.kaimeilabs.dev/mcp{"mcpServers":{"dev-kaimeilabs-guardian-engine":{"type":"http","url":"https://api.kaimeilabs.dev/mcp"}}}Cursor で開く{"servers":{"dev-kaimeilabs-guardian-engine":{"type":"http","url":"https://api.kaimeilabs.dev/mcp"}}}VS Code で開く{"mcpServers":{"dev-kaimeilabs-guardian-engine":{"type":"http","url":"https://api.kaimeilabs.dev/mcp"}}}{"mcpServers":{"dev-kaimeilabs-guardian-engine":{"serverUrl":"https://api.kaimeilabs.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
7| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| dish | any | いいえ | dish_name の別名です。旧バージョンの本番クライアントとの互換性のために使用します。 |
| dish_name | string | いいえ | 検証する料理の名前(例:'carbonara'、'rendang'、'roast-chicken'、'confit'、'cheesecake'、'kung-pao'、'fried-chicken'、'brisket'、'wellington'、'cheese-souffle')。利用可能なレシピとその別名を確認するには list_dishes() を使用してください。 |
| session_id | any | いいえ | 複数回の試行にわたるエージェントの改善プロセスを追跡するための任意のセッション ID。 |
| master_json | any | いいえ | 照合検証に使用する、ユーザー提供のマスター SOP(BYO master、ADR-018)。任意項目です。カタログのマスターと同じスキーマ(dish_name、steps[]、required_ingredients[])を使用した JSON 文字列またはオブジェクトで指定します。実際の例は get_master() を参照してください。指定すると、組み込みカタログは使用されず、候補はユーザーの仕様に照らして検証されます。また、dish_name は省略できます。レスポンスには master_hash (sha256) と master_source='user' が記録され、判定を再現できます。 |
| operator_id | any | いいえ | 呼び出し元オペレーターの任意の監査識別子(英字、数字、ハイフン、最大64文字)。改ざん防止ログとコンプライアンス記録に、この識別子を付けて検証を記録します。デフォルトは 'anonymous' です。 |
| candidate_json | any | いいえ | 候補レシピ全体を JSON 文字列またはオブジェクトで指定します。想定されるスキーマ:{"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_prompt | any | いいえ | 最良の結果を得るために推奨されます。ユーザーの元の調理リクエストを含めてください。このレシピの作成につながったユーザーのメッセージをそのままコピーします(例:'Make me a spicy vegan rendang'、'Generate a traditional carbonara, but healthier')。このパラメーターがない場合:Guardian は具体的な食材名と技法の詳細を含む、実行可能な指摘を返します。多くのレシピはこれで修正できます。このパラメーターがある場合:Guardian は安全に関するコンテキスト認識(例:乳児に蜂蜜、妊婦に生卵を警告)も有効にし、食事上のニーズや味の好みに合わせたフィードバックを行います。ユーザーのコンテキストが安全性やパーソナライズに関係する場合は含めてください。 |
| response_format | string | いいえ | レスポンス形式:'json'(デフォルト。機械処理可能な判定、指摘、パッチを含む)または 'text'(人が読めるレポート)。 |
詳細
Guardian Engine — API・MCP 統合ガイド
エージェントの生成→検証ループに組み込む決定論的なオラクルです。 LLM がレシピを作成し、Guardian が判定します。Guardian Engine は、幻覚による温度、欠落している調理技法、誤った食材、実行不可能な調理手順がフライパンにたどり着く前に検出し、エージェントが問題を正確に修正できるよう、機械で処理可能なパッチを返します。最初の対象分野はレシピですが、正確性が重要となるあらゆる手順的な領域に、同じ決定論的なアプローチを一般化できます。
別の LLM による批評ではなく、なぜオラクルなのでしょうか? LLM による批評はサンプルであり、実行するたびに異なる見落としが生じます。Guardian の記号エンジンは、生成モデルでは構造上実現できない保証を提供します。
- 網羅的なチェック — サンプルではなく、すべてのルールを呼び出しのたびに評価します。
- 確証のある否定 — 「EU Annex II のアレルゲン源は検出されませんでした」は、LLM にはできない不在の断定です。
- 再現可能な判定 — 同じ入力+同じ仕様+同じナレッジベースのバージョンなら、バイト単位で同一の出力になります。すべての応答に
kb_version_hashとmaster_hashが記録されるため、あらゆる判定を監査記録として再現できます。 - 機械で処理可能な修正 — 検出結果には構造化された
patchesが付属します(また、fix_recipeで決定論的に適用できます)。エージェントは残りを作成して再検証します。 - 独自の仕様を使用可能 — 同梱カタログだけでなく、
master_jsonを使って独自の家庭用レシピや SOP に照らして検証できます。
エンドポイント: https://api.kaimeilabs.dev/mcp
トランスポート: Streamable HTTP(MCP)
認証: なし — 早期アクセス期間中は無料です(公正利用が適用されます)
⚠️ 安全性と責任に関する通知
Guardian Engine は、レシピを自動で検証する情報提供ツールです。食品安全、医療、栄養、規制遵守に関する権威ではなく、出力は専門家の助言ではありません。
- アレルゲン情報は保証されません。 アレルゲンに関する警告(
check_safety、check_allergens、すべての検証レスポンスのallergensフィールドを含む)は、不完全または誤っている可能性のある自動ナレッジベースに基づいています。判定がPASSEDであっても、またはアレルゲンのリストが空であっても、レシピにアレルゲンが含まれていないことや、誰にとっても安全であることを保証するものではありません。食物アレルギーまたは不耐症のある人にとって食品が安全かどうかを判断するために、Guardian に決して頼らないでください。必ず実際の原材料・製品の表示を確認し、資格のある専門家に相談してください。- 食事や宗教に関する表示は、認証ではありません。
verify_dietary_claimの結果(ビーガン、ベジタリアン、グルテンフリー、乳製品不使用、ナッツ不使用、ハラール、コーシャ)は、原材料レベルでの自動チェックです。認知された食事または宗教関連の機関による認証の代わりにはなりません。- 修正されたレシピは、安全性が認証されていません。
fix_recipeの出力は、調理、提供、公開する前に人間が確認する必要があります。アレルゲンに関する検出結果は自動修正されず、修正後のレシピも検証に失敗する場合があります。- 調理の安全性に関する検出結果は情報提供を目的としたものであり、認証済みのガイダンス(例:USDA、EU FIC、または地域の食品安全機関)に代わるものではありません。
- 保証なし。 本サービスは「現状有姿」で提供され、いかなる種類の保証もありません。法律で認められる最大限の範囲において、Kaimei Labs は Guardian の出力の利用、またはそれへの依存から生じる損失、傷害、損害について一切の責任を負いません。
API を利用すると、Terms of Service(保証の否認、責任の制限、補償)全体に同意したものとみなされます。
エージェントを接続する
Guardian はホスト型の MCP サーバーです。インストールも、API キーも、Docker も必要ありません。クライアントを選び、設定を貼り付けてください。
Claude Desktop
claude_desktop_config.json に追加します。
{
"mcpServers": {
"guardian": {
"url": "https://api.kaimeilabs.dev/mcp",
"transport": "streamable-http"
}
}
}
Claude Desktop を再起動します。確認するには、「Guardian Engine で利用可能な料理を一覧表示して」と尋ねてください。
Cursor
Settings → MCP Servers → Add new MCP server を開き、次を貼り付けます。
{
"guardian": {
"url": "https://api.kaimeilabs.dev/mcp",
"transport": "streamable-http"
}
}
VS Code(GitHub Copilot)
.vscode/mcp.json(またはユーザーの settings.json の "mcp" 配下)に追加します。
{
"servers": {
"guardian": {
"type": "http",
"url": "https://api.kaimeilabs.dev/mcp"
}
}
}
Windsurf
Windsurf の MCP 設定に追加します。
{
"mcpServers": {
"guardian": {
"serverUrl": "https://api.kaimeilabs.dev/mcp"
}
}
}
Smithery(ワンクリック)
— Claude Desktop、Cursor などを自動設定します。
警告
Smithery プロキシの制限: デフォルトの Smithery プロキシ URL(
guardian-engine--kaimeilabs.run.tools)はStreaming HTTP をサポートしておらず、エラーが表示されないまま失敗します。インストール後、MCP 設定を編集し、必ず直接エンドポイントhttps://api.kaimeilabs.dev/mcpを使用してください。
Glama.ai
Guardian Engine は Glama.ai にも掲載されています。Glama ディレクトリから MCP サーバーを見つけて接続できます。
任意の MCP クライアント(Python SDK)
import asyncio
from mcp.client.session import ClientSession
from mcp.client.streamable_http import streamable_http_client
from httpx import AsyncClient
async def main():
async with AsyncClient(timeout=30.0) as http:
async with streamable_http_client("https://api.kaimeilabs.dev/mcp", http_client=http) as streams:
read_stream, write_stream, _ = streams
async with ClientSession(read_stream, write_stream) as session:
await session.initialize()
result = await session.call_tool("list_dishes", arguments={"cuisine_filter": "french"})
print(result)
asyncio.run(main())
pip install mcp>=1.2.1 httpx>=0.27.0
ツール
MCP サーバーは 7 つのツールを公開しています。verify_recipe が中核となる処理です。それ以外のツールは、比較 → 検証 → 修正のサイクルと、マスターに依存しない安全性チェックを支援します。
verify_recipe
Guardian のマスタースペックに照らして候補レシピを検証します。厳密な PASSED/FAILED 判定(スコアなし)と、違反したルールをそれぞれ明記する詳細な指摘事項を含む、構造化レポートを返します。判定はポリシーに基づきます。CRITICAL の指摘事項が1件でもある場合、レシピは不合格です。また、WARNING が5件を超える場合も不合格です。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
dish_name | string | はい* | 料理名または別名(例:"carbonara"、"rendang"、"kung-pao"、"bourguignon")。後方互換性のため、dish も別名として使用できます。*master_json が指定されている場合は省略可能 |
candidate_json | string | object | はい | JSON 形式のレシピ全体。詳細は schema.md を参照してください。最大500 KB |
master_json | string | object | いいえ | 独自のマスターを指定 — カタログのマスターと同じスキーマを使用して、検証対象となる自宅のレシピや SOP を指定します。同梱カタログを使わず、レスポンスでは master_hash(sha256)と master_source: "user" によってスペックを特定します |
original_prompt | string | いいえ | レシピの生成に使用した、ユーザーの元のリクエスト |
response_format | string | いいえ | "text"(デフォルト)または "json"。エージェントによる自己修正ループで、機械処理可能なパッチを取得するには "json" を使用してください |
session_id | string | いいえ | 複数回の試行にわたるエージェントの改善ループを追跡します |
operator_id | string | いいえ | 検証ログおよびコンプライアンス記録に付与する監査識別子(英字、数字、ハイフンを使用。最大64文字) |
ヒント — パーソナライズされたフィードバックには元のプロンプトを含めてください: original_prompt(例:「辛いヴィーガンのレンダンを作って」)を含めると、Guardian は指摘事項をユーザーが明示した食事上の要件や味の好みに合わせ、対象者に応じた安全性チェック(乳児向けレシピの蜂蜜や、妊娠中のユーザー向けレシピの生卵の検出など)を有効にします。含めない場合でも、Guardian はすべての指摘事項を含む完全な判定を返します。
不明な料理の場合: 料理がカタログにない場合、UNKNOWN_DISH エラーには safety_fallback 判定が含まれます。マスターに依存しない安全レイヤー(鶏肉の温度とアレルゲンのスキャン)は引き続き実行されるため、エージェントは常に確定的な結果を得られます。
フィールドの対象読者: issue はプログラムによる処理に使う機械可読コードです。エンドユーザーには表示しないでください。ユーザー向けのフィールドには title と suggested_correction を使用してください。
fix_recipe
候補レシピをマスタースペックに照らして決定論的に修正します。検証を行い、シンボリックエンジンが生成した機械処理可能なパッチをすべて適用して(不足している食材、分量、温度、時間、調理媒体、置き換えなど)、再検証します。LLM は使用しません。修正は候補レシピとルールセットに基づく決定論的な処理です。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
dish_name | string | はい* | 修正の照合対象となる料理(dish も別名として使用できます)。*master_json が指定されている場合は省略可能 |
candidate_json | string | object | はい | verify_recipe と同じスキーマ |
master_json | string | object | いいえ | 修正の照合対象となる、独自のマスター。パッチ(suggested_step テンプレートを含む)は指定したスペックに基づいて作成されます |
original_prompt | string | いいえ | 検証中の安全性コンテキストの把握にのみ使用します |
response_format | string | いいえ | "text"(デフォルト)または "json"。完全な fixed_recipe オブジェクトを取得するには "json" を使用してください |
レスポンスには、verdict_before → verdict_after、fully_fixed、patches_applied、patches_skipped、unresolved_findings、および fixed_recipe が含まれます。レシピ作成上の判断が必要な変更(調理工程全体の追加、手順の書き換え、比率の再調整など)は自動適用されません。patches_skipped に返されます。そのうち add_step パッチには、マスターに基づく suggested_step テンプレートが含まれます。エージェントはこれを使って、レシピ独自の文体で手順を作成し、再検証してください。アレルゲンに関する指摘事項は自動修正されません。 修正後のレシピが合格するとは限らないため、verdict_after を確認してください。
list_dishes
Guardian が照合できるすべてのマスターレシピを、詳細なメタデータ(スラッグ、タイトル、料理の種類、地域、別名、複雑さ)とともに一覧表示します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
cuisine_filter | string | いいえ | 大文字と小文字を区別しない料理の種類によるフィルター(例:"french"、"chinese"、"thai") |
get_master
料理の正規マスターレシピを返します。LLM を使わない、ナレッジベースの純粋な検索です。比較してから検証するループを実現できます。マスターを取得し、レシピとの差分を確認してから、何も確認せずに検証するのではなく verify_recipe を呼び出します。マスターの内容はデフォルトで透過的です。正確な温度、時間、EU FIC 1169/2011 のアレルゲンコードがそのまま返されます。また、独自のマスターを用意する際の master_json スキーマのライブリファレンスとしても利用できます。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
dish_name | string | はい | 料理の名前または別名 |
response_format | string | いいえ | "json"(デフォルト)または "text" |
check_safety
あらゆるレシピを対象とする、マスターに依存しない安全性チェックです。料理の特定やマスター仕様は必要ありません。鶏肉の内部温度の安全性(≥ 74 °C)を確認し、すべての食材を EU FIC 1169/2011 Annex II の14のアレルゲングループと照合します。verify_recipe に一致するマスターがない場合に使用します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
candidate_json | string | はい | 候補レシピ全体を JSON 文字列で指定します |
check_allergens
食材リストに EU FIC 1169/2011 のアレルゲンが含まれているかを確認し、各食材を Annex II のアレルゲングループに対応付けた詳細な監査トレースを返します(項目番号とラベルも含まれます)。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
ingredients | list[string] | はい | 食材名。自由形式または正規名を指定します(例:["butter", "wheat_flour", "peanut_butter"]) |
restrictions | list[string] | いいえ | ユーザーの制限と照合するアレルゲングループ ID:gluten、crustaceans、eggs、fish、peanuts、soy、dairy、tree_nuts、celery、mustard、sesame、sulphites、lupin、molluscs |
dish_name | string | いいえ | 報告時のコンテキスト |
check_all_eu_allergens | boolean | いいえ | true の場合、restrictions に関係なく Annex II の全14グループを検査します。ラベル表示のように「検出されたものをすべて申告」するチェックに使用します |
response_format | string | いいえ | "text"(デフォルト)または "json" |
verify_dietary_claim
レシピが食事に関する主張を満たしているかを検証し、問題となる具体的な食材を含む構造化された判定を返します。曖昧な言い換えは行いません。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
candidate_json | string | はい | レシピの JSON(食材リストのみ必須) |
claim | string | はい | 次のいずれか:vegan、vegetarian、gluten_free、dairy_free、nut_free、halal、kosher |
response_format | string | いいえ | "text"(デフォルト)または "json" |
独自のマスターを使用する(master_json)
同梱のカタログは参考用ライブラリです。主な本番利用パターンは、独自の仕様(自社のレシピ、フランチャイズの標準作業手順、テストキッチンの正式版など)との照合です。verify_recipe または fix_recipe に master_json を渡してください(カタログのマスターと同じスキーマです。実際の例は get_master を呼び出して確認できます。フィールドは title、serves、ingredients[]、代替品の優先順位を含む required_ingredients[]、調理法/温度/時間/調理媒体を含む steps[] です)。
master_jsonを指定した場合、dish_nameは省略でき、カタログは完全に使用されません。候補は独自の仕様に照らして確認されます。- レスポンスには仕様を特定する情報が含まれます。
master_source: "user"とmaster_hash(正規化されたマスターの sha256)です。これらとkb_version_hashを組み合わせることで、すべての判定を再現可能にできます。同じ候補、仕様、KB バージョンがあれば、誰でもバイト単位で同一の結果を再現できます。 - マスターの形式が不正な場合は、サーバーエラーではなく、構造化された
INVALID_MASTERエラーが返されます。最大 500 KB です。
利用可能なレシピ(161 品、5 地域)
| 地域 | 料理 |
|---|---|
| ヨーロッパ | Basque Cheesecake · Beef Bourguignon · Beef Wellington · Butternut Squash Soup · Cacio e Pepe · Caprese Salad · Cassoulet · Cheese Soufflé · Chicken Cacciatore · Chicken Marsala · Chicken Piccata · Chocolate Soufflé · Confit de Canard · Coq au Riesling · Coq au Vin · Crème Brûlée · Crêpes · Fettuccine Alfredo · Fish & Chips · Florentine Biscuits · Focaccia Barese · French Omelette · French Onion Soup · Frittata · Gazpacho · Gnocchi di Patate · Goulash · Greek Salad · Köttbullar · Mille-Feuille · Minestrone · Niçoise Salad · Osso Buco · Pasta alla Norma · Pasta Carbonara · Pasta Pomodoro · Patatas Bravas · Penne alla Vodka · Pesto alla Genovese · Pierogi · Pissaladière · Potato-Leek Soup · Ratatouille · Risotto alla Milanese · Roast Chicken · Sauerbraten · Shepherd's Pie · Spanakopita · Spaghetti Aglio e Olio · Spaghetti all'Amatriciana · Spaghetti Bolognese · Spanish Paella · Steak Frites · Stollen · Tarte Tatin · Tiramisu · Tomato Soup · Tortilla Española |
| アジア・東南アジア | Banh Mi · Beef Rendang · Biryani · Bulgogi · Butter Chicken · Cantonese Steamed Fish · Char Kway Teow · Chicken Tikka Masala · Chow Mein · Dan Dan Noodles · Jianbing · Khao Soi · Kimchi Fried Rice · Kung Pao Chicken · Laksa · Lo Mein · Massaman Curry · Nasi Goreng · Nasi Lemak · Okonomiyaki · Pad See Ew · Pad Thai · Palak Paneer · Rogan Josh · Som Tum · Sushi Rice · Sweet & Sour Chicken · Teriyaki Chicken · Thai Green Curry · Tonkatsu · Tonkotsu Ramen · Yakisoba |
| 中東・北アフリカ | Falafel · Hummus · Koshary · Lentil Soup · Moroccan Lamb Tagine · Mutabal · Pita Bread · Shakshuka · Shish Taouk · Tabbouleh |
| 南北アメリカ | Angel Food Cake · Baked Potato · Baked Salmon · Baked Ziti · Banana Bread · BBQ Ribs · Biscuits & Gravy · Buttermilk Pancakes · Caesar Salad · Carnitas · Ceviche · Cheese Quesadilla · Chicken Fajitas · Chicken Noodle Soup · Chicken Parmesan · Chili con Carne · Chocolate Chip Cookies · Classic Chocolate Cake · Cobb Salad · Crab Cakes · Creamed Spinach · Eggs Benedict · Fish Tacos · French Dip Sandwich · French Toast · Fudge Brownies · Garlic Butter Shrimp · Ground Beef Tacos · Italian-American Meatballs · Jerk Chicken · Key Lime Pie · Lobster Roll · Lomo Saltado · Macaroni & Cheese · Mashed Potatoes · Mole Poblano · Pan-Seared Pork Chops · Pan-Seared Scallops · Pão de Queijo · Pastel de Choclo · Pecan Pie · Philly Cheesesteak · Pot Roast · Pozole · Pulled Pork · Roasted Brussels Sprouts · Roasted Cauliflower · Sautéed Mushrooms · Shrimp Scampi · Southern Fried Chicken · Tamales · Texas Smoked Brisket · Turkey Meatballs · Vanilla Cupcakes · Vegetable Fried Rice · Waldorf Salad |
| アフリカ | Bunny Chow · Efo Riro · Melktert · Muamba de Galinha · Suya |
すべてのレシピには複数の別名が用意されています(例:"rendang"、"tikka-masala"、"risotto"、"bourguignon"、"carbonara")。最新のカタログ全体を確認するには、list_dishes を使用してください。
料理が見つかりませんか?
カタログは定期的に拡充されています。現在対応していない料理について、エージェントによる確認が必要な場合は、リクエストとして GitHub でイシューを作成してください。開発者からの要望に基づいて、追加の優先順位を決定しています。
検証結果の例
Guardian の検証レポートは、実際にはどのようなものでしょうか?エージェントがベーコンとクリームを使い、フライパンを加熱しすぎて作ったカルボナーラを送信したときの、response_format: "json" の構造を簡略化して示します。
{
"api_version": "0.7.1",
"schema_version": "1.0",
"response_format_version": "v3",
"kb_version_hash": "7dda40a3b646",
"verdict": "FAILED",
"matched_against": "Pasta alla Carbonara (Master)",
"master_source": "catalog",
"master_hash": "3357e0929021c0003fea0b79015e2c53cf9ef50d70f0d507605788ad9741fd29",
"coverage_percentage": 100.0,
"summary": {"CRITICAL": 4, "WARNING": 0, "INFO": 3},
"findings": [
{
"step_index": 2,
"issue": "TEMPERATURE_MISMATCH",
"severity": "critical",
"justification": "Temperature is significantly outside the required range.",
"title": "rendering",
"details": {"expected": "100.0-130.0", "observed": "180"},
"dimension": "temperature"
},
{
"step_index": null,
"issue": "INGREDIENT_SUBSTITUTED",
"severity": "critical",
"justification": "'bacon' is in the same group ('cured_pork') as 'guanciale' but is not the canonical ingredient for this recipe.",
"title": "You used bacon, expected guanciale",
"details": {"expected": "guanciale", "observed": "bacon"},
"dimension": "ingredients"
}
],
"allergens": [
"Allergen detected: Pork-derived ingredients (halal/kosher compliance)",
"Allergen detected: Milk and products thereof (including lactose)",
"Allergen detected: Cereals containing gluten (wheat, rye, barley, oats, spelt, kamut)"
],
"patches": [
{"action": "set_temperature", "step_index": 2, "value": "100.0-130.0"},
{"action": "replace_ingredient", "remove": "bacon", "add": "guanciale"}
]
}
各指摘には、severity、料理科学に基づくjustification、機械可読なdetailsが含まれます。また、patches配列には、修正可能な各指摘を解消するために必要な変更が正確に示されるため、エージェントは再生成して推測するのではなく、問題のある箇所だけを修正できます。kb_version_hashとmaster_hashには、判定の算出に使用したナレッジベースと仕様の正確なバージョンが記録されるため、監査記録として結果を再現できます。
パッチのアクション:add_ingredient、replace_ingredient、set_quantity、adjust_quantity、set_temperature、set_duration、set_medium、add_step(エージェントが作成し、その後再検証するための suggested_stepテンプレートを含みます)。
このリポジトリ内のファイル
| ファイル | 用途 |
|---|---|
schema.md | verify_recipeに必要なcandidate_jsonの完全な構造 |
client.py | Python の例:検証用レシピを送信 |
test_integration.py | 公開 API に対するライブ接続テスト |
smithery.yaml | Smithery MCP レジストリの設定 |
glama.json | Glama.ai MCP サーバーの申請設定 |
データとプライバシー
- 個人を特定できる情報(PII)は収集しません — ユーザー名、メールアドレス、API キーは保存しません。基盤となるクラウドインフラでは、ルーティングのために IP アドレスが一時的に処理される場合があります。
- データとコンピューティングリソースの交換 — この無料サービスは、利用データの提供を条件に提供されます。送信されたレシピは、検証精度の向上と匿名化された派生データセットの作成に使用されます。利用規約をご覧ください。
- レシピのペイロードに個人を特定できる情報(PII)を含めないでください。
- 公平な利用を促すため、コンピューティングリソースの上限によるクォータを適用します。
注意
食品安全に関する知識の代わりにはなりません
Guardian Engine は、安全な温度を下回る温度で鶏肉を提供するなど、明らかに危険な AI の幻覚を検出しますが、レシピの安全性を 100% 保証することはできません。病原体の不活化は、テキストベースの AI モデルでは完全に制御できない時間、質量、器具などの要因に左右されます。検証結果は参考情報であり、必ず人間の常識や標準的なキッチンの安全対策と併用してください。
サポートとお問い合わせ
AI 料理アシスタント、スマートキッチンプラットフォーム、またはエージェント型フードテック製品を開発していますか?ぜひご連絡ください。
- メール:[email protected]
- ウェブサイト:kaimeilabs.dev
- GitHub:github.com/kaimeilabs
ライセンス
このリポジトリ内のクライアントコード(client.py、test_integration.py)は、MIT ライセンスの下で公開されています。Guardian Engine の検証ロジックとマスターレシピのデータセットは独占的なものです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。