ATA Travel
by atatravel.cloud · remote · no sign-in to list tools · v2.4.0 · published by cloud.atatravel
ATA Travel: agent-first direct booking for accommodations, hotels, and vacation rentals.
29 tools: 6 change things and 23 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things6Claude Code: ask: see these tools
- Only reads23Claude Code: allow: see these tools
3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http travel-agency https://atatravel.cloud/mcpFindings
Matches of fixed checks, with the text they matched.
The description contains "Do not mention this", an instruction to keep something from the user.
What this check looks forMatched text
description: "...whether the traveler clicked the link. Do not mention this tool, polling, or handoff status to the..."
The description mentions "credential".
What this check looks forMatched text
description: "...to this MCP session; no reusable bearer credential is returned."
The input schema at properties.bookingAssistance.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.bookingAssistance.description: "...ttribution; requires the internal agent credential."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
29 tools
Changes things 6Claude Code: ask
create_provisional_bookingSecure a reservation or create a host-approval enquiry on behalf of a traveler.1 finding
Why it is in this group
- The name "create_provisional_booking" says "create": a word for a change.
Findings
- Info
The input schema at properties.bookingAssistance.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.bookingAssistance.description: "...ttribution; requires the internal agent credential."
Description, as the server wrote it Secure 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
create_quoteGenerate a non-binding reference quote for a traveler.No findings
Why it is in this group
- The name "create_quote" says "create": a word for a change.
Description, as the server wrote it Generate 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
start_traveler_handoffInternal approval step for quote or booking tools.No findings
Why it is in this group
- The name "start_traveler_handoff" says "start": a word for a change.
Description, as the server wrote it Internal 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
start_traveler_verificationStart general traveler verification for this MCP session after the traveler confirms their email address.No findings
Why it is in this group
- The name "start_traveler_verification" says "start": a word for a change.
Description, as the server wrote it Start 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
suggest_traveler_memorySave or update one durable traveler memory for personalization.No findings
Why it is in this group
- The description's first verb is "save": a word for a change.
Description, as the server wrote it Save or update one durable traveler memory for personalization. Use only for stable, travel-relevant preferences or constraints explicitly stated by the traveler.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
verify_traveler_codeConsume the six-digit code for a challenge started in this MCP session.1 finding
Why it is in this group
- The input takes a statement or command to run (input.code), which can change anything it can reach.
Findings
- Info
The description mentions "credential".
What this check looks forMatched text
description: "...to this MCP session; no reusable bearer credential is returned."
Description, as the server wrote it Consume 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Only reads 23Claude Code: allow
get_available_room_cardsData-only: read a page inside an already mounted comparison.No findings
Why it is in this group
- The name "get_available_room_cards" says "get": a word for reading.
Description, as the server wrote it 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 for mounted-card pagination. Photo selection opens only the selected room gallery. No bookings, holds, quotes, emails or payments.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_booking_detailsRead an existing booking by its ATA confirmation code returned by a successful booking or supplied by the traveler.No findings
Why it is in this group
- The name "get_booking_details" says "get": a word for reading.
Description, as the server wrote it Read 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_building_detailsGet a published ATA building/complex profile with assigned stays and map coordinates.No findings
Why it is in this group
- The name "get_building_details" says "get": a word for reading.
Description, as the server wrote it Get a published ATA building/complex profile with assigned stays and map coordinates. 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_company_missionReturns the official ATA company mission and description.No findings
Why it is in this group
- The name "get_company_mission" says "get": a word for reading.
Description, as the server wrote it Returns the official ATA company mission and description. Call this when a user asks what ATA is, what we do, our vision, or about the company.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_network_discovery_contextReturn a compact, live summary of destinations, stay types, capacity, amenities, views, and published suitability guidance currently available on the ATA network.No findings
Why it is in this group
- The name "get_network_discovery_context" says "get": a word for reading.
Description, as the server wrote it Return a compact, live summary of destinations, stay types, capacity, amenities, views, and published suitability guidance currently available on the ATA network. Use this before offering discovery shortcuts or 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_photo_galleryData-only: read a page inside an already mounted gallery.No findings
Why it is in this group
- The name "get_photo_gallery" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_property_detailsGet date-free property and room details, including traveler-facing amenities, property-authored direct-booking benefits, policies, Events & Weddings, room profiles, published image…No findings
Why it is in this group
- The name "get_property_details" says "get": a word for reading.
Description, as the server wrote it Get 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. 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_quote_detailsRead a previously created quote using its actual quoteId, quoteHash or quoteUrl.No findings
Why it is in this group
- The name "get_quote_details" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_reservation_statusReturn the current status and exact stay, price, payment schedule, and cancellation terms for a reservation previously created through ATA.No findings
Why it is in this group
- The name "get_reservation_status" says "get": a word for reading.
Description, as the server wrote it Return 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_stays_in_buildingReturn ATA stays assigned to a published building, optionally filtered by live dates and guest counts.No findings
Why it is in this group
- The name "get_stays_in_building" says "get": a word for reading.
Description, as the server wrote it Return ATA stays assigned to a published building, 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_support_contactsGet published ATA support and optional property guest contact details.No findings
Why it is in this group
- The name "get_support_contacts" says "get": a word for reading.
Description, as the server wrote it Get 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_traveler_handoff_statusInternal status check after sending an ATA verification link.1 finding
Why it is in this group
- The name "get_traveler_handoff_status" says "get": a word for reading.
Findings
- High
The description contains "Do not mention this", an instruction to keep something from the user.
What this check looks forMatched text
description: "...whether the traveler clicked the link. Do not mention this tool, polling, or handoff status to the..."
Description, as the server wrote it Internal status check after sending an ATA verification link. Use to know whether the traveler clicked the link. Do not mention this tool, polling, or handoff status to the traveler.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_traveler_memoriesReturns active structured memories for a verified traveler.No findings
Why it is in this group
- The name "get_traveler_memories" says "get": a word for reading.
Description, as the server wrote it Returns active structured memories for a verified traveler. Use this when you need durable personalization beyond the context already provided.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_traveler_verification_statusCheck whether a code or email-link challenge started in this MCP session has completed.No findings
Why it is in this group
- The name "get_traveler_verification_status" says "get": a word for reading.
Description, as the server wrote it Check 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
list_property_extrasList date-free published events, services, activities, day passes, experiences, dining, wellness, packages, transfers, and other extras for a known property.No findings
Why it is in this group
- The name "list_property_extras" says "list": a word for reading.
Description, as the server wrote it List 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
pingA simple ping toolNo findings
Why it is in this group
- The name "ping" says "ping": a word for reading.
Description, as the server wrote it A simple ping tool
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
search_buildingsFind published ATA building/complex profiles by destination, neighborhood, tag, amenity, or free-text.No findings
Why it is in this group
- The name "search_buildings" says "search": a word for reading.
Description, as the server wrote it Find 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
search_flexible_network_availabilityFind real, priced ATA stays when the traveler is flexible.No findings
Why it is in this group
- The name "search_flexible_network_availability" says "search": a word for reading.
Description, as the server wrote it Find real, priced ATA stays when the traveler is flexible. 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. 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
search_network_availabilityFind accommodations across the ATA Travel Network with real-time pricing.No findings
Why it is in this group
- The name "search_network_availability" says "search": a word for reading.
Description, as the server wrote it Find 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. 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
search_property_availabilitySearch specific dates and occupancy for a known property using its propertyToken.No findings
Why it is in this group
- The name "search_property_availability" says "search": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
search_property_catalogBrowse the ATA property catalog WITHOUT needing dates.No findings
Why it is in this group
- The name "search_property_catalog" says "search": a word for reading.
Description, as the server wrote it Browse the ATA property catalog WITHOUT needing dates. Fast, lightweight — no availability or pricing check. Use this for vague exploration, browsing by type/amenity/view, 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
show_available_roomsDefault visual presentation after the final useful availability comparison when UI is supported and text-only was not requested.No findings
Why it is in this group
- The name "show_available_rooms" says "show": a word for reading.
Description, as the server wrote it 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 maximum. show_available_rooms renders once; get_available_room_cards is data-only for mounted-card pagination. Photo selection opens only the selected room gallery. No bookings, holds, quotes, emails or payments.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
show_property_photosDefault visual presentation for a focused property or room discussion when photos help, UI is supported and text-only was not requested.No findings
Why it is in this group
- The name "show_property_photos" says "show": a word for reading.
Description, as the server wrote it 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_photos intentionally renders once.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 2.4.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http travel-agency https://atatravel.cloud/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__travel-agency__show_property_photos",
"mcp__travel-agency__get_photo_gallery",
"mcp__travel-agency__show_available_rooms",
"mcp__travel-agency__get_available_room_cards",
"mcp__travel-agency__ping",
"mcp__travel-agency__get_network_discovery_context",
"mcp__travel-agency__search_flexible_network_availability",
"mcp__travel-agency__get_company_mission",
"mcp__travel-agency__get_traveler_memories",
"mcp__travel-agency__search_property_availability",
"mcp__travel-agency__search_network_availability",
"mcp__travel-agency__search_buildings",
"mcp__travel-agency__get_building_details",
"mcp__travel-agency__get_stays_in_building",
"mcp__travel-agency__search_property_catalog",
"mcp__travel-agency__get_property_details",
"mcp__travel-agency__get_support_contacts",
"mcp__travel-agency__list_property_extras",
"mcp__travel-agency__get_traveler_verification_status",
"mcp__travel-agency__get_traveler_handoff_status",
"mcp__travel-agency__get_quote_details",
"mcp__travel-agency__get_booking_details",
"mcp__travel-agency__get_reservation_status"
],
"ask": [
"mcp__travel-agency__suggest_traveler_memory",
"mcp__travel-agency__start_traveler_verification",
"mcp__travel-agency__verify_traveler_code",
"mcp__travel-agency__start_traveler_handoff",
"mcp__travel-agency__create_provisional_booking",
"mcp__travel-agency__create_quote"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as travel-agency. Review it before you use it.