{"ok":true,"site":{"host":"five-of-23-webmcp.lafuixi.chatgpt.site","url":"https://five-of-23-webmcp.lafuixi.chatgpt.site/","type":"live","desc":"A working form demo that shares five approved profile fields, returns an 18+ result instead of a birth date, and keeps final review outside WebMCP.","tools":[{"name":"get_application_state","kind":"answer","impl":"imperative","description":"Read form progress, the remaining five-field limit, consent version, and review status. Does not return profile values.","title":"Read form status","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_requirements","kind":"answer","impl":"imperative","description":"List the six form questions and the smallest accepted source for each. Use the private age check when available.","title":"List form questions","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_missing_items","kind":"answer","impl":"imperative","description":"List unanswered questions and the field IDs or private checks that can answer them. No profile values.","title":"List missing answers","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"evaluate_vault_predicate","kind":"act","impl":"imperative","description":"Check whether the demo profile is over 18. Returns yes/no, never the birth date.","title":"Check age privately","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"predicate":{"type":"string","enum":["is_adult"],"description":"The only predicate accepted by this demo application."}},"required":["predicate"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"stage_eligibility_claim","kind":"act","impl":"imperative","description":"Add the 18+ result to the form without revealing the birth date.","title":"Add age check to form","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"predicate":{"type":"string","enum":["is_adult"],"description":"The only predicate accepted by this demo application."}},"required":["predicate"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"request_disclosure","kind":"act","impl":"imperative","description":"Create visible requests for specific profile fields and explain why each is needed. This does not grant access or return values.","title":"Ask to use profile fields","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"fieldIds":{"type":"array","minItems":1,"maxItems":6,"uniqueItems":true,"items":{"type":"string","enum":["full_name","country","city","contact_email","phone","household_size"]},"description":"Application-relevant vault field IDs to request."},"purpose":{"type":"string","minLength":8,"maxLength":80,"description":"Why these exact fields are needed for this application."}},"required":["fieldIds","purpose"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"preview_disclosure","kind":"act","impl":"imperative","description":"Show requested and approved field labels, reasons, risks, and the remaining limit. No profile values.","title":"Preview field requests","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"revoke_disclosure","kind":"act","impl":"imperative","description":"Stop using one shared field and remove its value from the form. Any reviewed form is invalidated.","title":"Remove shared field","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"fieldId":{"type":"string","enum":["full_name","country","city","contact_email","phone","household_size"],"description":"The field whose active disclosure should be revoked."},"reason":{"type":"string","minLength":8,"maxLength":80,"description":"Short reason recorded without the field value."}},"required":["fieldId","reason"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"AI & Agents","favicon":"/favicons/five-of-23-webmcp.lafuixi.chatgpt.site.png","apiSurface":"spec","toolCount":8}}