{"ok":true,"site":{"host":"fluffy-croquembouche-b4a03f.netlify.app","url":"https://fluffy-croquembouche-b4a03f.netlify.app/","type":"live","desc":"Teach a website a reliable WebMCP tool by demonstrating the task twice.","tools":[{"name":"get_workflow_evidence","kind":"answer","impl":"imperative","description":"Read the human demonstrations and their contrastive diff before proposing a new site tool.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"includeRawEvents":{"type":"boolean","description":"Include complete before/after event state."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"propose_tool_contract","kind":"act","impl":"imperative","description":"Submit a constrained, reviewable tool contract inferred from the recorded demonstrations.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"contract":{"type":"object","additionalProperties":false,"required":["name","description","parameters","steps","postcondition","requiresHumanApproval"],"properties":{"name":{"type":"string","pattern":"^[a-z][a-z0-9_]{2,48}$"},"description":{"type":"string","minLength":12,"maxLength":240},"parameters":{"type":"array","maxItems":8,"items":{"type":"object","additionalProperties":false,"required":["name","type","description","required"],"properties":{"name":{"type":"string","pattern":"^[a-z][a-zA-Z0-9_]*$"},"type":{"type":"string","enum":["string","number","integer","boolean"]},"description":{"type":"string"},"required":{"type":"boolean"}}}},"steps":{"type":"array","minItems":1,"maxItems":12,"items":{"type":"object","additionalProperties":false,"required":["action","args"],"properties":{"action":{"type":"string","enum":["search_catalog","set_category","set_max_price","select_best_match","add_to_cart"]},"args":{"type":"object","description":"Literal values or input bindings in the form {\"$input\": \"parameterName\"}.","additionalProperties":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["$input"],"properties":{"$input":{"type":"string"}}}]}}}}},"postcondition":{"type":"object","additionalProperties":false,"required":["kind","minimumQuantity"],"properties":{"kind":{"const":"cart_line_added"},"minimumQuantity":{"type":"integer","minimum":1}}},"requiresHumanApproval":{"const":true}}}},"required":["contract"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"run_candidate_tests","kind":"act","impl":"imperative","description":"Execute a candidate contract in isolated deterministic shop states and report postcondition results.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"contract":{"type":"object","additionalProperties":false,"required":["name","description","parameters","steps","postcondition","requiresHumanApproval"],"properties":{"name":{"type":"string","pattern":"^[a-z][a-z0-9_]{2,48}$"},"description":{"type":"string","minLength":12,"maxLength":240},"parameters":{"type":"array","maxItems":8,"items":{"type":"object","additionalProperties":false,"required":["name","type","description","required"],"properties":{"name":{"type":"string","pattern":"^[a-z][a-zA-Z0-9_]*$"},"type":{"type":"string","enum":["string","number","integer","boolean"]},"description":{"type":"string"},"required":{"type":"boolean"}}}},"steps":{"type":"array","minItems":1,"maxItems":12,"items":{"type":"object","additionalProperties":false,"required":["action","args"],"properties":{"action":{"type":"string","enum":["search_catalog","set_category","set_max_price","select_best_match","add_to_cart"]},"args":{"type":"object","description":"Literal values or input bindings in the form {\"$input\": \"parameterName\"}.","additionalProperties":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["$input"],"properties":{"$input":{"type":"string"}}}]}}}}},"postcondition":{"type":"object","additionalProperties":false,"required":["kind","minimumQuantity"],"properties":{"kind":{"const":"cart_line_added"},"minimumQuantity":{"type":"integer","minimum":1}}},"requiresHumanApproval":{"const":true}}},"cases":{"type":"array","maxItems":8,"items":{"type":"object","additionalProperties":true}}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"request_tool_publish","kind":"act","impl":"imperative","description":"Request human approval to publish a tested candidate. This never publishes by itself.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"toolName":{"type":"string"}},"required":["toolName"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"AI & Agents","favicon":"/favicons/fluffy-croquembouche-b4a03f.netlify.app.svg","apiSurface":"spec","toolCount":4}}