{"ok":true,"site":{"host":"k-naman-t.github.io","url":"https://k-naman-t.github.io/webmcp-allergen/","type":"live","desc":"Allergen Gate","tools":[{"name":"get_ticket","kind":"answer","impl":"imperative","description":"Return the current ticket: guest card, all dish lines with states and reasons, and pass status.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-allergen/"},{"name":"get_dish_graph","kind":"answer","impl":"imperative","description":"Return a dish's ingredients, equipment, shared equipment edges, and notes.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"dishId":{"type":"string","description":"The dish id (e.g. pad_thai, french_fries)"}},"required":["dishId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-allergen/"},{"name":"list_allergens","kind":"answer","impl":"imperative","description":"Return the allergen ontology the engine understands.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-allergen/"},{"name":"get_approvals","kind":"answer","impl":"imperative","description":"Return pending human approvals (lineId + token + reason) the agent must present to apply_block. Tokens are created only when the chef clicks BLOCK in the UI.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-allergen/"},{"name":"interpret_card","kind":"act","impl":"imperative","description":"Stage structured allergens from free-text guest card. Does NOT change lines — only enriches the guest card for the engine.","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"allergens":{"type":"array","items":{"type":"string"},"description":"Allergens identified from free text (e.g. [\"peanut\", \"milk\"])"}},"required":["allergens"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-allergen/"},{"name":"propose_block","kind":"act","impl":"imperative","description":"Stage an amber FLAG on a dish line with a reason. Does NOT block — chef must approve in the UI.","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"lineId":{"type":"string","description":"The dish id to flag (e.g. pad_thai)"},"reason":{"type":"string","description":"Why this dish is flagged"}},"required":["lineId","reason"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-allergen/"},{"name":"apply_block","kind":"act","impl":"imperative","description":"Apply a BLOCK to a FLAGGED line. Requires the exact approval token returned by get_approvals — that token is only created when the chef clicks BLOCK in the UI.","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"lineId":{"type":"string"},"token":{"type":"string","description":"Approval token from chef UI"}},"required":["lineId","token"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-allergen/"},{"name":"propose_substitute","kind":"act","impl":"imperative","description":"Add a replacement dish to the ticket. The dish must be on the menu and not already on the ticket.","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"dishId":{"type":"string","description":"The substitute dish id (e.g. rice_bowl)"}},"required":["dishId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-allergen/"},{"name":"issue_pass","kind":"act","impl":"imperative","description":"Issue a guest pass. Succeeds only if no BLOCKED or FLAGGED lines remain.","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp-allergen/"}],"category":"Productivity & Business","apiSurface":"spec","toolCount":9}}