{"ok":true,"site":{"host":"family-stay-compiler.netlify.app","url":"https://family-stay-compiler.netlify.app/","type":"live","desc":"A synthetic WebMCP demo that compiles family requirements into comparable multi-room stay plans.","tools":[{"name":"set_family_requirements","kind":"act","impl":"imperative","description":"Set a complete synthetic family brief. Never searches external inventory or contacts a hotel.","annotations":{"readOnlyHint":false,"destructiveHint":false},"inputSchema":{"type":"object","properties":{"checkIn":{"type":"string","format":"date"},"checkOut":{"type":"string","format":"date"},"adults":{"type":"integer","minimum":1,"maximum":8},"childAges":{"type":"array","maxItems":12,"items":{"type":"integer","minimum":0,"maximum":17}},"maxRooms":{"type":"integer","enum":[1,2,3,4]},"requireAdultPerRoom":{"type":"boolean"},"youngestWithAdult":{"type":"boolean"},"prefersConnecting":{"type":"boolean"}},"required":["checkIn","checkOut","adults","childAges","maxRooms","requireAdultPerRoom","youngestWithAdult","prefersConnecting"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"find_family_stay_plans","kind":"answer","impl":"imperative","description":"Compile deterministic synthetic stay plans for the saved brief. Never retrieves live hotel data.","annotations":{"readOnlyHint":true,"destructiveHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"preview_constraint_unlock","kind":"act","impl":"imperative","description":"Preview exactly one allocative constraint change without changing the saved synthetic family brief.","annotations":{"readOnlyHint":true,"destructiveHint":false},"inputSchema":{"type":"object","properties":{"patch":{"type":"object","properties":{"maxRooms":{"type":"integer","enum":[1,2,3,4]},"requireAdultPerRoom":{"type":"boolean"},"youngestWithAdult":{"type":"boolean"}},"minProperties":1,"maxProperties":1,"additionalProperties":false}},"required":["patch"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compare_family_stay_plans","kind":"answer","impl":"imperative","description":"Compare two synthetic plans by allocation, conditions, total, and verified promotion scope. It does not book.","annotations":{"readOnlyHint":true,"destructiveHint":false},"inputSchema":{"type":"object","properties":{"planIds":{"type":"array","items":{"type":"string","enum":["plan-a","plan-b","plan-c"]},"minItems":2,"maxItems":2}},"required":["planIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"audit_split_checkout","kind":"answer","impl":"imperative","description":"Audit separately staged synthetic room checkouts against one saved family brief. It cannot open checkout, book, pay, send, or contact anyone.","annotations":{"readOnlyHint":true,"destructiveHint":false},"inputSchema":{"type":"object","properties":{"planId":{"type":"string","enum":["plan-a","plan-b","plan-c"]},"parts":{"type":"array","minItems":1,"maxItems":4,"items":{"type":"object","properties":{"partId":{"type":"string"},"roomLabel":{"type":"string"},"travelerIds":{"type":"array","items":{"type":"string"}},"checkIn":{"type":"string","format":"date"},"checkOut":{"type":"string","format":"date"},"quotedSubtotal":{"type":"integer","minimum":0},"promotionAmount":{"type":"integer","minimum":0},"promotionEvidence":{"type":"string","enum":["applied","excluded","none"]},"cancellation":{"type":"string","enum":["free","non_refundable"]},"proximity":{"type":"string","enum":["guaranteed","request_only","unavailable","unknown"]}},"required":["partId","roomLabel","travelerIds","checkIn","checkOut","quotedSubtotal","promotionAmount","promotionEvidence","cancellation","proximity"],"additionalProperties":false}}},"required":["planId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"prepare_decision_receipt","kind":"act","impl":"imperative","description":"Prepare a review-only synthetic receipt. It cannot book, pay, reserve, send, or contact anyone.","annotations":{"readOnlyHint":true,"destructiveHint":false},"inputSchema":{"type":"object","properties":{"planId":{"type":"string","enum":["plan-a","plan-b","plan-c"]}},"required":["planId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Travel & Events","favicon":"/favicons/family-stay-compiler.netlify.app.ico","apiSurface":"spec","toolCount":6}}