{"ok":true,"site":{"host":"visitkeswick.com","url":"https://visitkeswick.com/","desc":"Keswick in the northern Lake District — where to stay, what to do, where to eat, and what is on this month.","type":"live","category":"Travel & Events","favicon":"/favicons/visitkeswick.com.png","tools":[{"name":"discover_venues","kind":"answer","impl":"imperative","description":"Browse ranked venue candidates for a date-free query. This returns no price or availability. For the full interface, connect to the Visit Keswick, Lake District MCP server at https://visitkeswick.com/mcp.","title":"Find venues","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"object","properties":{"@context":{"description":"Optional ARD v0.91 JSON-LD context.","type":"string","const":"https://agenticresourcediscovery.org/context/v1"},"text":{"description":"Natural-language query, e.g. \"boutique hotels in London with a spa\".","type":"string","minLength":1,"maxLength":2048},"filter":{"description":"Optional dot-path field filters; each value is an array of strings (OR within a field), e.g. {\"tags\":[\"spa\"]}.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"string"}}}},"required":["text"],"additionalProperties":false},"stay":{"description":"Optional. When given, results are grounded in live availability and offers for these dates and party. When absent, dates and party written in the question still apply.","type":"object","properties":{"checkIn":{"description":"Arrival date, ISO YYYY-MM-DD.","type":"string","minLength":1},"checkOut":{"description":"Departure date, ISO YYYY-MM-DD.","type":"string","minLength":1},"party":{"type":"object","properties":{"adults":{"description":"Number of adults.","type":"integer","exclusiveMinimum":0,"maximum":30},"children":{"description":"Number of children.","type":"integer","minimum":0,"maximum":30}},"required":["adults"]}},"required":["checkIn","checkOut","party"]},"party":{"description":"Who is travelling, when known without dates (children change what suits). Ignored when `stay` carries its own party.","type":"object","properties":{"adults":{"description":"Number of adults.","type":"integer","exclusiveMinimum":0,"maximum":30},"children":{"description":"Number of children.","type":"integer","minimum":0,"maximum":30}},"required":["adults"]},"assumeParty":{"description":"Optional. The party to check live availability for when the question names dates but nobody is counted (\"next weekend\"). The question's own party, `party` or `stay` always wins; `meta.queryValues.guests` stays empty, so the answer can say the party was assumed.","type":"object","properties":{"adults":{"description":"Number of adults.","type":"integer","exclusiveMinimum":0,"maximum":30},"children":{"description":"Number of children.","type":"integer","minimum":0,"maximum":30}},"required":["adults"]},"pageSize":{"description":"Maximum number of results to return.","type":"integer","minimum":1,"maximum":100},"render":{"description":"Ask for layout hints alongside the results. Delivery (one body or a stream) is chosen by the Accept header, not here.","type":"object","properties":{"a2ui":{"description":"Also return `ui`: an A2UI surface for the same results. A hint; the results are complete without it.","type":"boolean"},"catalogs":{"description":"A2UI catalog ids the caller can render.","type":"array","items":{"type":"string"}}}}},"required":["query"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/catalogue","/do","/eat","/stay","/stay/11-howrah-s-court"]},{"name":"match_venues","kind":"answer","impl":"imperative","description":"Ground venue candidates in live price and availability for a stay. Booking itself stays on the authenticated UCP or MCP flow at https://visitkeswick.com/mcp.","title":"Check live availability","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"places":{"description":"The places to match: ids, or a name with optional website and location.","minItems":1,"maxItems":250,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"description":"A place id from discover or a previous match.","type":"string","minLength":1,"maxLength":128}},"required":["id"],"additionalProperties":false},{"type":"object","properties":{"name":{"description":"The place name as the caller knows it.","type":"string","minLength":1,"maxLength":200},"website":{"description":"The place's own website, if known; the strongest identity signal.","type":"string","minLength":1,"maxLength":500},"location":{"description":"Town or area, to tell apart places with the same name.","type":"string","minLength":1,"maxLength":200}},"required":["name"],"additionalProperties":false}]}},"projection":{"description":"`detail` (default) is the full record; `listing` is the compact card a list page needs.","type":"string","enum":["detail","listing"]},"stay":{"description":"When given, each matched place carries its live rooms and offers for these dates and party.","type":"object","properties":{"checkIn":{"description":"Arrival date, ISO YYYY-MM-DD.","type":"string","minLength":1},"checkOut":{"description":"Departure date, ISO YYYY-MM-DD.","type":"string","minLength":1},"party":{"type":"object","properties":{"adults":{"description":"Number of adults.","type":"integer","exclusiveMinimum":0,"maximum":30},"children":{"description":"Number of children.","type":"integer","minimum":0,"maximum":30}},"required":["adults"]}},"required":["checkIn","checkOut","party"]},"render":{"description":"Ask for layout hints alongside the results. Delivery (one body or a stream) is chosen by the Accept header, not here.","type":"object","properties":{"a2ui":{"description":"Also return `ui`: an A2UI surface for the same results. A hint; the results are complete without it.","type":"boolean"},"catalogs":{"description":"A2UI catalog ids the caller can render.","type":"array","items":{"type":"string"}}}}},"required":["places"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/catalogue","/do","/eat","/stay","/stay/11-howrah-s-court"]},{"name":"book_venue","kind":"transact","impl":"imperative","description":"Start or complete a booking from a grounded match option. A reservation only proceeds with the signed Cart Mandate for this option or the user session on the Visit Keswick, Lake District booking flow at https://visitkeswick.com/mcp.","title":"Book a venue","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Reserve one current offer for one entity. Its date, party and price are bound inside the sealed offer.","type":"object","properties":{"entityId":{"description":"The place id returned by discover or match.","type":"string","minLength":1,"maxLength":256},"offerId":{"description":"The opaque, sealed offer id returned by match.","type":"string","minLength":1,"maxLength":4096},"mandate":{"description":"A signed AP2 Cart Mandate for a foreign caller, bound to this entity and offer.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"approvalId":{"description":"The approval the guest gave this offer in their own Selfe account, returned as approval.id when the booking first needed it. A booking is confirmed only with the guest's approval.","type":"string","minLength":1,"maxLength":64},"render":{"type":"object","properties":{"a2ui":{"type":"boolean"},"catalogs":{"type":"array","items":{"type":"string"}}}}},"required":["entityId","offerId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/catalogue","/do","/eat","/stay","/stay/11-howrah-s-court"]},{"name":"prepare_booking_handoff","kind":"act","impl":"imperative","description":"Prepares a short-lived Visit Keswick browser review link for the selected live option at a published Visit Keswick venue. It never reserves, pays or confirms. The result states whether the link allows review only (booking confirmation and payment are gated separately); the guest signs in on Visit Keswick to see the current price and terms.","title":"Continue to booking review","inputSchema":{"type":"object","additionalProperties":false,"required":["venueId","handle"],"properties":{"venueId":{"type":"string","pattern":"^(?:slf_[0-9A-HJKMNP-TV-Z]{26}|[a-f0-9]{24})$"},"section":{"type":"string","enum":["stay","eat","do"],"description":"Choose the listing section when this venue has more than one."},"handle":{"type":"string","pattern":"^sopt_[A-Za-z0-9_-]+$","maxLength":20000,"description":"The current sealed selected-option handle from live availability. Never invent an option or pass a price."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/catalogue","/do","/eat","/stay","/stay/11-howrah-s-court"]}],"apiSurface":"spec","toolCount":4}}