Tool tree
A synthetic WebMCP demo that compiles family requirements into comparable multi-room stay plans.
Implementation
gradeNot graded
gradeNot graded
set_family_requirementsAction
Set a complete synthetic family brief. Never searches external inventory or contacts a hotel.
View tool JSON
{
"name": "set_family_requirements",
"kind": "act",
"impl": "imperative",
"description": "Set a complete synthetic family brief. Never searches external inventory or contacts a hotel.",
"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
}
}find_family_stay_plansAnswer
Compile deterministic synthetic stay plans for the saved brief. Never retrieves live hotel data.
View tool JSON
{
"name": "find_family_stay_plans",
"kind": "answer",
"impl": "imperative",
"description": "Compile deterministic synthetic stay plans for the saved brief. Never retrieves live hotel data.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}preview_constraint_unlockAction
Preview exactly one allocative constraint change without changing the saved synthetic family brief.
View tool JSON
{
"name": "preview_constraint_unlock",
"kind": "act",
"impl": "imperative",
"description": "Preview exactly one allocative constraint change without changing the saved synthetic family brief.",
"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
}
}compare_family_stay_plansAnswer
Compare two synthetic plans by allocation, conditions, total, and verified promotion scope. It does not book.
View tool JSON
{
"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.",
"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
}
}audit_split_checkoutAnswer
Audit separately staged synthetic room checkouts against one saved family brief. It cannot open checkout, book, pay, send, or contact anyone.
View tool JSON
{
"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.",
"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
}
}prepare_decision_receiptAction
Prepare a review-only synthetic receipt. It cannot book, pay, reserve, send, or contact anyone.
View tool JSON
{
"name": "prepare_decision_receipt",
"kind": "act",
"impl": "imperative",
"description": "Prepare a review-only synthetic receipt. It cannot book, pay, reserve, send, or contact anyone.",
"inputSchema": {
"type": "object",
"properties": {
"planId": {
"type": "string",
"enum": [
"plan-a",
"plan-b",
"plan-c"
]
}
},
"required": [
"planId"
],
"additionalProperties": false
}
}