ATA Travel
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
ATA Travel: agent-first direct booking for accommodations, hotels, and vacation rentals.
| Author | cloud.atatravel |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2122 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"ATA Travel": {
"url": "https://atatravel.cloud/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (25)
pingread-onlyCheck whether the ATA MCP server responds. Returns 'pong'; does not search properties or change quotes or bookings.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_network_discovery_contextread-onlyReturn a summary of ATA's current destinations, property types, capacity, amenities, views, and published suitability information. Use to identify supported discovery options when the traveler has not specified a property or destination. Does not check availability for specific dates.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
search_flexible_network_availabilityread-onlySearch participating ATA properties for availability and prices across a flexible date window. Defaults to a window 28–56 days from today, three nights, and two adults only when those values are missing; always return those defaults as explicit assumptions. Preferences are soft ranking signals, not a closed taxonomy.
Parameters:
views— array — Optional soft view preferences for flexible discovery.adults— integer — Adult guests. Defaults to 2.nights— integer — Length of stay. Defaults to 3 nights.children— integer — Child guests. Defaults to 0.location— string — Optional city, state, country, neighborhood, or building. Omit when the traveler is open to ATA's current destinations.maxPrice— number — Maximum total stay price.amenities— array — Optional soft amenity preferences for flexible discovery.maxResults— integer — Maximum priced stays to return. Defaults to 4.preferences— array — Open-ended soft preferences inferred from the traveler's own words or live network facets.propertyType— string — Optional soft property-type preference; it ranks results and is reported as a difference when unavailable.latestCheckIn— string — Latest acceptable check-in date. Defaults to 56 days from today.priceAudience— stringdisplayCurrency— string — Optional traveler-facing display currency.earliestCheckIn— string — Earliest acceptable check-in date. Defaults to 28 days from today.internalAgentKey— stringmaxPriceCurrency— string — Currency for maxPrice when filtering mixed native currencies.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_company_missionread-onlyRead ATA's published company mission and company description. Use for questions about ATA's purpose or services.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_traveler_memoriesread-onlyReturns active structured memories for a verified traveler. Use this when you need durable personalization beyond the context already provided.
Parameters:
travelerId(required) — string — Verified traveler ID from the private traveler context.travelerAssertion— string — Current signed ATA traveler assertion matching travelerId; required on shared transports.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
suggest_traveler_memorySave or update one durable traveler memory for personalization. Use only for stable, travel-relevant preferences or constraints explicitly stated by the traveler.
Parameters:
travelerId(required) — string — Verified traveler ID from the private traveler context.type(required) — string — Memory category.key(required) — string — Stable normalized memory key. Choose the closest allowed key.value(required) — Small JSON value, e.g. {"hasServiceDog":true} or {"typicalAdults":2,"typicalChildren":1}.summary(required) — string — Short practical note, without speculation or sensitive details.source— stringconfidence— number — Confidence in this memory. Use 1 for explicit user statements, lower for inferred patterns.visibility— stringtravelerAssertion— string — Current signed ATA traveler assertion matching travelerId; required on shared transports.
Hints: read-only no · destructive no · idempotent no · open-world yes
search_property_availabilityread-onlySearch specific dates and occupancy for a known property using its propertyToken.
Parameters:
propertyToken(required) — string — Exact public propertyToken returned by discovery or property context. Never add a prefix or invent a token.checkIn(required) — string — Check-in date (YYYY-MM-DD)checkOut(required) — string — Check-out date (YYYY-MM-DD)adults— numberbudget— object — Optional additional budget constraint. Clarify missing currency or basis before calling. Do not combine with legacy maxPrice/maxPriceCurrency.children— numberpriceAudience— stringdisplayCurrency— string — Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.internalAgentKey— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
search_network_availabilityread-onlyFind accommodations across the ATA Travel Network with real-time pricing. Use when dates are known. Supports filtering by amenities, views, property type, and free-text keyword to handle vague requests.
Parameters:
checkIn(required) — string — Check-in date (YYYY-MM-DD)checkOut(required) — string — Check-out date (YYYY-MM-DD)views— array — Filter by room views. e.g. ['Ocean', 'Mountain', 'Garden', 'City']adults— number — Number of adultsbudget— object — Optional additional budget constraint. Clarify missing currency or basis before calling. Do not combine with legacy maxPrice/maxPriceCurrency.keyword— string — Text matched against property name/description. Use for a required text match; use preferences for optional style preferences.children— number — Number of childrenlocation— string — Optional city, state, or country. Omit when the traveler knows dates but is open to ATA's current destinations.maxPrice— number — Maximum total price filteramenities— array — Filter by amenities on property or rooms. e.g. ['Pool', 'Gym', 'Pet Friendly', 'Spa']preferences— array — Open-ended soft ranking signals. These do not exclude otherwise valid stays.propertyType— string — e.g. 'Hotel', 'Apartment', 'Villa'priceAudience— stringdisplayCurrency— string — Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.internalAgentKey— stringmaxPriceCurrency— string — Currency for maxPrice when filtering across mixed property currencies. If omitted, maxPrice is compared to each property's native currency.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
search_buildingsread-onlyFind published ATA building/complex profiles by destination, neighborhood, tag, amenity, or free-text. Use this for questions about buildings, condo towers, complexes, gated communities, marina developments, or neighborhoods.
Parameters:
city— stringtags— arrayquery— string — Building name, neighborhood, city, or text query.amenities— arraymaxResults— numberneighborhood— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_building_detailsread-onlyGet a published ATA building/complex profile with assigned stays and map coordinates. Use slug from search_buildings or property search results.
Parameters:
slug(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_stays_in_buildingread-onlyReturn ATA stays assigned to a published building, optionally filtered by live dates and guest counts.
Parameters:
slug(required) — stringadults— numbercheckIn— stringcheckOut— stringchildren— numberpriceAudience— stringdisplayCurrency— string — Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.internalAgentKey— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
search_property_catalogread-onlyBrowse participating ATA properties without stay dates. Filter by location, property type, amenities, views, or keyword. Does not check date-specific availability or prices.
Parameters:
views— array — e.g. ['Ocean', 'Mountain', 'Garden']adults— integer — Optional adults for occupancy-safe catalog suggestions.keyword— string — Text matched against property name/description. Use for a required text match; use preferences for optional style preferences.children— integer — Optional children for occupancy-safe catalog suggestions.location— string — City, state, or country to filter by. Omit to search all participating ATA destinations.amenities— array — e.g. ['Pool', 'Spa', 'Pet Friendly', 'Gym']maxResults— number — Max number of properties to return (default 10)preferences— array — Open-ended soft ranking signals inferred from traveler language or current network facets.propertyType— string — e.g. 'Hotel', 'Villa', 'Apartment'
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_property_detailsread-onlyGet date-free property and room details, including traveler-facing amenities, property-authored direct-booking benefits, policies, Events & Weddings, room profiles, 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 unit, pass that wording as roomQuery before treating it as another property.
Parameters:
propertyToken(required) — stringroomQuery— string — Optional traveler-provided room or unit name, such as '5B Casita Vista'. No stay dates are required.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_support_contactsread-onlyGet published ATA support and optional property guest contact details. Use for human help, unanswered property questions, or booking support. Returns configured contact links only; does not send messages, create a case, or transfer the traveler to a person. Omit propertyToken for ATA support alone.
Parameters:
propertyToken— string — Property public token, when the traveler needs help from that property.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
list_property_extrasread-onlyList date-free published events, services, activities, day passes, experiences, dining, wellness, packages, transfers, and other extras for a known property. Returns read-only offer details and ATA purchase links when the property is published on ATA; it does not create an order.
Parameters:
propertyToken(required) — stringcategory— string — Optional exact offer category filter, such as DAY_PASS, EXPERIENCE, WELLNESS, TRANSPORT, or PACKAGE.standaloneOnly— boolean — When true, exclude offers that require a stay.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
start_traveler_verificationStart general traveler verification for this MCP session after the traveler confirms their email address. Uses the property’s configured verification method. This does not create a quote, enquiry, hold, or booking.
Parameters:
guestName(required) — stringguestEmail(required) — stringemailConfirmedByTraveler(required) — boolean — True only after the traveler confirms the exact email address.method— stringagentName— stringguestPhone— stringagentProvider— stringpropertyToken— string
Hints: read-only no · destructive no · idempotent no · open-world yes
verify_traveler_codeConsume the six-digit code for a challenge started in this MCP session. On success, ATA privately binds the verified traveler to this MCP session; no reusable bearer credential is returned.
Parameters:
challengeRef(required) — stringcode(required) — string
Hints: read-only no · destructive no · idempotent no · open-world yes
get_traveler_verification_statusread-onlyCheck whether a code or email-link challenge started in this MCP session has completed. A completed link binds the traveler privately to this MCP session.
Parameters:
challengeRef(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
start_traveler_handoffInternal approval step for quote or booking tools. Before calling, read guestEmail back to the traveler and confirm it is correct; then set emailConfirmedByTraveler=true. If an email is sent, tell the traveler only to check their inbox and click the secure ATA link. Do not mention handoffs/tool details to the traveler.
Parameters:
action(required) — string — Use BOOKING_HOLD before creating a reservation; BOOKING_READ grants only read access to an existing booking for questions.guestName(required) — string — Traveler name collected by the agent.guestEmail(required) — string — Traveler-provided email address for the action-specific ATA verification link.adults— numberroomId— stringcheckIn— stringquoteId— stringcheckOut— stringchildren— numberagentName— string — Agent/application display name when known.quoteHash— stringguestPhone— stringratePlanId— stringmcpSessionId— string — Optional client-side MCP/session correlation ID.agentProvider— string — Agent platform or provider name when known.intentSummary— string — Short traveler-facing summary of what ATA is verifying, without mentioning internal handoff/tool details.propertyToken— stringconfirmationCode— string — Required for BOOKING_READ: the ATA confirmation code printed on the booking confirmation.selectedRoomCount— numberemailConfirmedByTraveler— boolean — Set true only after reading guestEmail back to the traveler and they confirm it is correct.
Hints: read-only no · destructive no · idempotent no · open-world yes
get_traveler_handoff_statusread-onlyCheck the verification status and permitted next actions for an existing ATA traveler handoff. Use the handoffId returned by start_traveler_handoff. Does not send email or create a quote or booking.
Parameters:
handoffId(required) — string — ID returned by start_traveler_handoff.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_quote_detailsread-onlyRead 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.
Parameters:
quoteId— stringquoteUrl— string — Existing ATA /stays/quote/ link supplied by the traveler or returned by create_quote.quoteHash— stringpropertyToken— stringagentHandoffId— string — Still-valid USED QUOTE handoff that created this quote. Read-only access grants no additional writes; expired handoffs require fresh traveler verification.travelerAssertion— string — Current signed ATA traveler assertion for the quote owner.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_booking_detailsread-onlyRead an existing booking by its ATA confirmation code returned by a successful booking or supplied by the traveler. Never invent a code. Requires a current signed ATA traveler assertion, a verified legacy MCP session, or an approved BOOKING_READ handoff with matching booking email and code. For stateless third-party clients, use start_traveler_handoff with action BOOKING_READ and confirmationCode, then poll get_traveler_handoff_status. Returns booked stay, prices, payments and cancellation terms. Cannot modify, cancel, pay, or create inventory holds. Never use a confirmation code as holdId in get_reservation_status.
Parameters:
confirmationCode(required) — string — ATA confirmation code from the booking email.propertyToken— string — Known property public token; required to match a property-scoped connection.agentHandoffId— string — Approved BOOKING_READ handoff for this confirmation code. No write scope is accepted.travelerAssertion— string — Current signed ATA traveler verification assertion; never a typed email or model claim.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_reservation_statusread-onlyReturn the current status and exact stay, price, payment schedule, and cancellation terms for a reservation previously created through ATA. Requires the hold ID plus the same verified traveler context/assertion or the secure booking handoff that created it. This tool is read-only and cannot change, pay, cancel, check in, or check out a reservation.
Parameters:
holdId(required) — string — Hold ID returned by create_provisional_booking.guestEmail— string — Traveler email. Required when using travelerAssertion; populated automatically for a verified MCP session.propertyToken— string — Known public property token for this reservation; must match the hold property when supplied.agentHandoffId— string — Secure BOOKING_HOLD handoff ID that created this reservation.displayCurrency— string — Optional 3-letter currency for approximate display conversion. Native property currency remains authoritative.travelerAssertion— string — Current signed ATA traveler verification assertion for the reservation guest.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
create_provisional_bookingSecure a reservation or create a host-approval enquiry on behalf of a traveler. policyAcknowledged is required as an explicit boolean and must be true for financially binding flows after the exact total, payment schedule, and cancellation terms are shown; identity verification is not consent. A host-approval enquiry may pass false because payment is not due unless accepted. Also requires the traveler’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 traveler to confirm their email and follow the code or link instructions returned by verification. If instant book is enabled and payment is ready, creates an inventory-holding provisional booking and returns payment/manual-payment next steps. If instant book is disabled or Stripe checkout is not ready, creates an enquiry hold for host approval/payment follow-up.
Parameters:
propertyToken(required) — stringroomId(required) — stringcheckIn(required) — stringcheckOut(required) — stringguestName(required) — string — Traveler’s full name, as supplied by the traveler.guestEmail(required) — stringguestCountry(required) — string — 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.adults(required) — numberpolicyAcknowledged(required) — boolean — Explicit policy-consent state. Set true only after the traveler agrees to the exact price, payment schedule, and cancellation terms. Required before creating either an instant-book hold or a host-approval enquiry.notes— string — Optional traveler comments, questions, or requests for the host. Especially useful for host-approval enquiries.children— numberguestPhone— stringratePlanId— string — Rate plan ID. If omitted, the system auto-selects the default active rate plan per night, then the cheapest active auto-selectable fallback.priceAudience— stringagentHandoffId— string — Approved ATA traveler handoff ID from start_traveler_handoff/get_traveler_handoff_status. Required for third-party agents before inventory-holding booking actions.displayCurrency— string — Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.internalAgentKey— stringbookingAssistance— string — Internal Little John booking attribution; requires the internal agent credential.selectedRoomCount— number — For direct-booking room-count configurations, the number of rooms the traveler selected. Use defaultSelectedRoomCount from availability results.travelerAssertion— string — Signed traveler email verification assertion from ATA.
Hints: read-only no · destructive no · idempotent no · open-world yes
create_quoteGenerate a non-binding reference quote for a traveler. Requires guest name/email plus a current travelerAssertion or fresh approved internal QUOTE agentHandoffId. If verification is needed, keep internal tool details private; tell the traveler to confirm their email and follow the code or link instructions returned by verification. Quotes do not hold inventory or guarantee future availability.
Parameters:
propertyToken(required) — stringroomId(required) — stringcheckIn(required) — stringcheckOut(required) — stringguestName(required) — stringguestEmail(required) — stringadults(required) — numberchildren— numberguestPhone— stringratePlanId— string — Rate plan ID. Optional.guestCountry— string — Optional for a quote. If omitted, the traveler supplies it when completing the booking.priceAudience— stringagentHandoffId— string — Fresh approved ATA traveler handoff ID from start_traveler_handoff/get_traveler_handoff_status. Required for third-party quote creation without a current traveler assertion.displayCurrency— string — Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.internalAgentKey— stringselectedRoomCount— number — For direct-booking room-count configurations, the number of rooms the traveler selected. Use defaultSelectedRoomCount from availability results.travelerAssertion— string — Signed traveler email verification assertion from ATA.
Hints: read-only no · destructive no · idempotent no · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.