Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Added "get_available_room_cards", "get_photo_gallery", "show_available_rooms" and 1 more; changed the definition of "get_building_details", "get_network_discovery_context", "get_property_details" and 5 more (25 tools before, 29 now)
⟨12 unchanged words⟩ Use slug from search_buildings or property search results. For ordinary stay comparisons, get live availability then default to one show_available_rooms comparison. For focused property/room discussion, get details then show_property_photos when useful. Respect text-only/unsupported clients and avoid repeated widgets.
⟨29 unchanged words⟩ asking a vague traveler to choose from options. For ordinary stay comparisons, get live availability then default to one show_available_rooms comparison. For focused property/room discussion, get details then show_property_photos when useful. Respect text-only/unsupported clients and avoid repeated widgets.
⟨49 unchanged words⟩ as roomQuery before treating it as another property. For a focused property/room discussion, proactively use show_property_photos when published photos help. Use PROPERTY or the uniquely matched ROOM; preserve room identity. Skip missing/ambiguous photos, unsupported UI, text-only preferences and already-shown galleries. Image links are fallback references, not a replacement for the supported viewer.
⟨8 unchanged words⟩ optionally filtered by live dates and guest counts. For ordinary stay comparisons, get live availability then default to one show_available_rooms comparison. For focused property/room discussion, get details then show_property_photos when useful. Respect text-only/unsupported clients and avoid repeated widgets.
⟨37 unchanged words⟩ are soft ranking signals, not a closed taxonomy. Default next step for a useful comparison: show_available_rooms with returned IDs and unchanged criteria; do not wait for a photo request or repeat this search just to render. One view after final results; skip unsupported UI, text-only preferences, no priced offers, legacy maxPrice caps and already-visible comparisons.
⟨21 unchanged words⟩ type, and free-text keyword to handle vague requests. Default next step for a useful comparison: show_available_rooms with returned IDs and unchanged criteria; do not wait for a photo request or repeat this search just to render. One view after final results; skip unsupported UI, text-only preferences, no priced offers, legacy maxPrice caps and already-visible comparisons.
Search specific dates and occupancy for a known property using its propertyToken.
Default next step for a useful comparison: show_available_rooms with returned IDs and unchanged criteria; do not wait for a photo request or repeat this search just to render. One view after final results; skip unsupported UI, text-only preferences, no priced offers, legacy maxPrice caps and already-visible comparisons.⟨24 unchanged words⟩ or when the traveler has no dates yet. For ordinary stay comparisons, get live availability then default to one show_available_rooms comparison. For focused property/room discussion, get details then show_property_photos when useful. Respect text-only/unsupported clients and avoid repeated widgets.
Read available room cards — Data-only: read a page inside an already mounted comparison. For initial presentation use show_available_rooms; do not page this tool to assemble Markdown thumbnails. Read-only room comparison presentation. First search availability, then select returned property/room/rate/count IDs and preserve the exact dates, guests, budget and display currency. Rechecks the existing property availability tool for current authoritative stay totals; never accepts prices or quote data. Up to3 properties,4 cards/page,60 offers maximum. show_available_rooms renders once; get_available_room_cards is data-only f…
Read photo gallery page — Data-only: read a page inside an already mounted gallery. For initial presentation use show_property_photos; do not page this tool to assemble Markdown image grids. Read only: show a PROPERTY-only or ROOM-only gallery of actual published photos. Default ROOM when roomId/roomQuery is supplied, PROPERTY otherwise. A room never includes property photos. Use exact room IDs from availability or a unique room name; no substitutions. Pages contain at most12 photos. No dates required. get_photo_gallery is data-only for in-card pagination; show_property_photos intentionally renders once.
Show available room cards — Default visual presentation after the final useful availability comparison when UI is supported and text-only was not requested. Render once without waiting for a photo request; narrate ordinary follow-ups without repeating searches or widgets. Read-only room comparison presentation. First search availability, then select returned property/room/rate/count IDs and preserve the exact dates, guests, budget and display currency. Rechecks the existing property availability tool for current authoritative stay totals; never accepts prices or quote data. Up to3 properties,4 cards/page,60 offers maxim…
Show property or room photos — Default visual presentation for a focused property or room discussion when photos help, UI is supported and text-only was not requested. Render once; reuse the same returned room identity for explicit retries. Read only: show a PROPERTY-only or ROOM-only gallery of actual published photos. Default ROOM when roomId/roomQuery is supplied, PROPERTY otherwise. A room never includes property photos. Use exact room IDs from availability or a unique room name; no substitutions. Pages contain at most12 photos. No dates required. get_photo_gallery is data-only for in-card pagination; show_property_pho…
Changed the definition of "get_property_details", "search_network_availability" and "search_property_availability"
⟨12 unchanged words⟩ policies, Events & Weddings, room profiles,images,published image links and up to two bounded image previews (property and uniquely matched room). Missing previews retain links. When the traveler names a room or ⟨12 unchanged words⟩
⟨30 unchanged words⟩ :"string"},"type":"array"},"budget":{"additionalProperties":false,"description":"Optional additional budget constraint. Clarify missing currency or basis before calling. Do not combine with legacy maxPrice/maxPriceCurrency.","properties":{"amount":{"description":"Maximum amount in the explicitly supplied currency and basis.","exclusiveMinimum":0,"type":"number"},"basis":{"description":"Required explicit basis. Per-night means a stay-average allowance, not a ceiling on each night. Per-person means every adult and child equally; clarify other interpretations.","enum":["TOTAL_STAY","PER_NIGHT","PER_PERSON_STAY","PER_PERSON_PER_NIGHT"],"type":"string"},"currency":{"description":"Required 3-letter budget currency. Never infer from location or displayCurrency.","pattern":"^[A-Za-z]{3}$","type":"string"},"scope":{"default":"PRICED_STAY","description":"PRICED_STAY compares the accommodation total including configured taxes/fees. ALL_IN requires complete mandatory charges; currently ATA cannot verify completeness and will return labeled alternatives only.","enum":["PRICED_STAY","ALL_IN"],"type":"string"}},"required":["amount","currency","basis"],"type":"object"},"
Changed the definition of "create_provisional_booking"
⟨22 unchanged words⟩ booking actions.","type":"string"},"bookingAssistance":{"description":"Internal Little John booking attribution; requires the internal agent credential.","enum":["AI_ASSIST"],"type":"string"},"checkIn":{"format":"date","pattern": ⟨354 unchanged words⟩
Added "get_quote_details"; changed the definition of "get_booking_details", "get_reservation_status", "get_traveler_memories" and 3 more (24 tools before, 25 now)
Read an existing booking by its ATA confirmation code(forreturnedexamplebyBK-A28N9L).a successful booking or supplied by the traveler. Never invent a code. Requires a current signed ATA traveler assertion, ⟨55 unchanged words⟩
⟨73 unchanged words⟩ "minLength":1,"type":"string"},"
Certificate changed, valid to 2026-12-17
Changed the definition of "create_provisional_booking" and "create_quote"
⟨51 unchanged words⟩ payment is not due unless accepted. Also requiresguestthename/emailtraveler’s full name, email, and country (guestCountry, required for bookings; optional for quotes) plus travelerAssertion or approved internal BOOKING_HOLD agentHandoffId. If verification is needed, keep internal tool details private; tell the traveleronlyto confirm their email,checkandtheirfollowinbox,theandcode
Certificate recorded, valid to 2026-10-23
Authorization not required
First tool surface recorded: 24 tools (server version 2.4.0)
Showing the latest 9 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨5 unchanged words⟩ "default":1,"type":"number"},"budget":{"additionalProperties":false,"description":"Optional additional budget constraint. Clarify missing currency or basis before calling. Do not combine with legacy maxPrice/maxPriceCurrency.","properties":{"amount":{"description":"Maximum amount in the explicitly supplied currency and basis.","exclusiveMinimum":0,"type":"number"},"basis":{"description":"Required explicit basis. Per-night means a stay-average allowance, not a ceiling on each night. Per-person means every adult and child equally; clarify other interpretations.","enum":["TOTAL_STAY","PER_NIGHT","PER_PERSON_STAY","PER_PERSON_PER_NIGHT"],"type":"string"},"currency":{"description":"Required 3-letter budget currency. Never infer from location or displayCurrency.","pattern":"^[A-Za-z]{3}$","type":"string"},"scope":{"default":"PRICED_STAY","description":"PRICED_STAY compares the accommodation total including configured taxes/fees. ALL_IN requires complete mandatory charges; currently ATA cannot verify completeness and will return labeled alternatives only.","enum":["PRICED_STAY","ALL_IN"],"type":"string"}},"required":["amount","currency","basis"],"type":"object"},"checkIn":{"description":"Check-in date (YYYY-MM-DD) ⟨187 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"travelerAssertion":{"description":"Current signed ATA traveler assertion matching travelerId; required on shared transports.","type":"string"},"travelerId":{"description":"Verified traveler ID from ⟨32 unchanged words⟩
⟨173 unchanged words⟩ :"string"},"propertyToken":{"description":"PublicExact public propertyToken returned by discovery or propertytokencontext.(e.g.,Neverpk_live_...)add a prefix or invent a token.","type":"string"}},"required": ⟨5 unchanged words⟩
⟨7 unchanged words⟩ session after the traveler confirms their email address.The defaultUsesistheaproperty’ssix-digitconfiguredcode.method. This does not create a quote, enquiry, hold, or booking.
⟨79 unchanged words⟩ "minLength":8,"type":"string"},"travelerAssertion":{"description":"Current signed ATA traveler assertion matching travelerId; required on shared transports.","type":"string"},"travelerId":{"description":"Verified traveler ID from ⟨73 unchanged words⟩
Read a previously created quote using its actual quoteId, quoteHash or quoteUrl. Requires a current signed traveler assertion, verified legacy session, or the still-valid USED QUOTE handoff that created this exact quote. A quote is not a booking or inventory hold. Returns stored prices and payment terms; never substitute another room's payment schedule.
⟨170 unchanged words⟩ remains authoritative.","type":"string"},"guestCountry":{"description":"Required traveler country, as supplied by the traveler. Ask only if missing. Do not infer it from the property location, language, currency, or phone number. Quotes do not require country.","maxLength":80,"minLength":1,"type":"string"},"guestEmail":{"format":"email","pattern": ⟨14 unchanged words⟩ ,"type":"string"},"guestName":{"description":"Traveler’s full name, as supplied by the traveler.","minLength":1,"type":"string"},"guestPhone":{"type" ⟨127 unchanged words⟩ ","checkIn","checkOut","guestName","guestEmail","guestCountry","adults","policyAcknowledged"],"type":"object"}
⟨25 unchanged words⟩ keep internal tool details private; tell the traveleronlyto confirm their email,checkandtheirfollowinbox,theandcodeclickorthelinksecureinstructionsATAreturnedlink.by verification. Quotes do not hold inventory or guarantee future availability.