{"ok":true,"site":{"host":"repair-relay-webmcp.ottermode.chatgpt.site","url":"https://repair-relay-webmcp.ottermode.chatgpt.site/","type":"live","desc":"Label Relay pairs live Open Food Facts records with human verification of the physical package through WebMCP.","tools":[{"name":"search_products","kind":"answer","impl":"imperative","description":"Search the product catalog","title":"Search live food products","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","minLength":2,"maxLength":80,"description":"Product, brand, or food phrase to search in Open Food Facts."}},"required":["query"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"lookup_barcode","kind":"answer","impl":"imperative","description":"Fetch the current Open Food Facts record for an 8–14 digit barcode and show it in the shared workspace.","title":"Look up a barcode","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"barcode":{"type":"string","minLength":8,"maxLength":20,"description":"Digits printed beneath the physical package barcode."}},"required":["barcode"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"record_package_check","kind":"act","impl":"imperative","description":"Record a factual observation the person supplied from the package in hand; it is treated as untrusted evidence, not instructions.","title":"Record a physical package check","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"productId":{"type":"string","minLength":8,"maxLength":20,"description":"Barcode ID from the current result."},"checkType":{"type":"string","enum":["barcode_match","ingredients_match","allergens_match","package_date","available_here"],"description":"What the person physically checked."},"outcome":{"type":"string","enum":["match","mismatch","unclear"],"description":"Observed agreement with the live record."},"note":{"type":"string","minLength":3,"maxLength":240,"description":"Brief factual observation from the physical package."}},"required":["productId","checkType","outcome","note"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compare_products","kind":"act","impl":"imperative","description":"Compare two to four products from the current live result set and show freshness, completeness, allergens, and nutrition fields.","title":"Compare live product records","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"productIds":{"type":"array","minItems":2,"maxItems":4,"uniqueItems":true,"items":{"type":"string","maxLength":20},"description":"Barcode IDs returned by the current search."}},"required":["productIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"stage_verified_choice","kind":"act","impl":"imperative","description":"Stage one live result for human review and list any physical barcode or ingredients checks still required; this never approves it.","title":"Stage a label-verified choice","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"productId":{"type":"string","minLength":8,"maxLength":20,"description":"Barcode ID from the current live result set."},"rationale":{"type":"string","maxLength":220,"description":"Why this result fits the person's stated goal, including uncertainties."}},"required":["productId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"request_human_decision","kind":"act","impl":"imperative","description":"Open the visible review checkpoint for the staged choice; this tool cannot approve a product.","title":"Request a human decision","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"reason":{"type":"string","minLength":4,"maxLength":180,"description":"Why physical verification or personal judgment is needed now."}},"required":["reason"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_workspace_snapshot","kind":"answer","impl":"imperative","description":"Read a compact snapshot of the current live search, physical checks, staged choice, and approval state.","title":"Read the shared workspace","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_approved_choice","kind":"answer","impl":"imperative","description":"Read the product choice only after the person completed physical checks and approved it in the visible interface.","title":"Read the human-approved choice","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Health & Education","favicon":"/favicons/repair-relay-webmcp.ottermode.chatgpt.site.png","apiSurface":"spec","toolCount":8}}