{"name":"cloud.atatravel/travel-agency","slug":"atatravel-travel-agency","title":"ATA Travel","description":"ATA Travel: agent-first direct booking for accommodations, hotels, and vacation rentals.","url":"https://mcp.market/server/atatravel-travel-agency","rating":null,"grade":"C","score":60,"certified":false,"status":"active","category":"ai","tags":["ai","maps"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":20,"ok":20,"last_checked_at":"2026-09-24T05:46:03.445Z","last_ok_at":"2026-09-24T05:46:03.445Z","latency_ms":329},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://atatravel.cloud/for-agents","version":"2.4.0","remotes":[{"type":"streamable-http","url":"https://atatravel.cloud/mcp"}],"packages":[],"tools":[{"name":"create_provisional_booking","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"propertyToken":{"type":"string"},"roomId":{"type":"string"},"ratePlanId":{"description":"Rate plan ID. If omitted, the system auto-selects the default active rate plan per night, then the cheapest active auto-selectable fallback.","type":"string"},"selectedRoomCount":{"description":"For direct-booking room-count configurations, the number of rooms the traveler selected. Use defaultSelectedRoomCount from availability results.","type":"number"},"checkIn":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"checkOut":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"guestName":{"type":"string","minLength":1,"description":"Traveler’s full name, as supplied by the traveler."},"guestEmail":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"guestPhone":{"type":"string"},"guestCountry":{"type":"string","minLength":1,"maxLength":80,"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."},"notes":{"description":"Optional traveler comments, questions, or requests for the host. Especially useful for host-approval enquiries.","type":"string"},"adults":{"type":"number"},"children":{"default":0,"type":"number"},"policyAcknowledged":{"type":"boolean","description":"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."},"displayCurrency":{"description":"Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.","type":"string"},"travelerAssertion":{"description":"Signed traveler email verification assertion from ATA.","type":"string"},"agentHandoffId":{"description":"Approved ATA traveler handoff ID from start_traveler_handoff/get_traveler_handoff_status. Required for third-party agents before inventory-holding booking actions.","type":"string"},"priceAudience":{"type":"string","enum":["PUBLIC","VERIFIED_TRAVELER"]},"internalAgentKey":{"type":"string"}},"required":["propertyToken","roomId","checkIn","checkOut","guestName","guestEmail","guestCountry","adults","policyAcknowledged"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"create_quote","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"propertyToken":{"type":"string"},"roomId":{"type":"string"},"ratePlanId":{"description":"Rate plan ID. Optional.","type":"string"},"selectedRoomCount":{"description":"For direct-booking room-count configurations, the number of rooms the traveler selected. Use defaultSelectedRoomCount from availability results.","type":"number"},"checkIn":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"checkOut":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"guestName":{"type":"string"},"guestEmail":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"guestPhone":{"type":"string"},"guestCountry":{"description":"Optional for a quote. If omitted, the traveler supplies it when completing the booking.","type":"string","maxLength":80},"adults":{"type":"number"},"children":{"default":0,"type":"number"},"displayCurrency":{"description":"Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.","type":"string"},"travelerAssertion":{"description":"Signed traveler email verification assertion from ATA.","type":"string"},"agentHandoffId":{"description":"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.","type":"string"},"priceAudience":{"type":"string","enum":["PUBLIC","VERIFIED_TRAVELER"]},"internalAgentKey":{"type":"string"}},"required":["propertyToken","roomId","checkIn","checkOut","guestName","guestEmail","adults"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_booking_details","description":"Read an existing booking by its ATA confirmation code (for example BK-A28N9L). 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"confirmationCode":{"type":"string","minLength":1,"maxLength":64,"description":"ATA confirmation code from the booking email."},"propertyToken":{"description":"Known property public token; required to match a property-scoped connection.","type":"string"},"travelerAssertion":{"description":"Current signed ATA traveler verification assertion; never a typed email or model claim.","type":"string"},"agentHandoffId":{"description":"Approved BOOKING_READ handoff for this confirmation code. No write scope is accepted.","type":"string"}},"required":["confirmationCode"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_building_details","description":"Get a published ATA building/complex profile with assigned stays and map coordinates. Use slug from search_buildings or property search results.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"type":"string"}},"required":["slug"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_company_mission","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_network_discovery_context","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_property_details","description":"Get date-free property and room details, including traveler-facing amenities, property-authored direct-booking benefits, policies, Events & Weddings, room profiles, images, and links. When the traveler names a room or unit, pass that wording as roomQuery before treating it as another property.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"propertyToken":{"type":"string"},"roomQuery":{"description":"Optional traveler-provided room or unit name, such as '5B Casita Vista'. No stay dates are required.","type":"string","minLength":1,"maxLength":160}},"required":["propertyToken"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_reservation_status","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"holdId":{"type":"string","minLength":1,"description":"Hold ID returned by create_provisional_booking."},"guestEmail":{"description":"Traveler email. Required when using travelerAssertion; populated automatically for a verified MCP session.","type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"travelerAssertion":{"description":"Current signed ATA traveler verification assertion for the reservation guest.","type":"string"},"agentHandoffId":{"description":"Secure BOOKING_HOLD handoff ID that created this reservation.","type":"string"},"displayCurrency":{"description":"Optional 3-letter currency for approximate display conversion. Native property currency remains authoritative.","type":"string"}},"required":["holdId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_stays_in_building","description":"Return ATA stays assigned to a published building, optionally filtered by live dates and guest counts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"type":"string"},"checkIn":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"checkOut":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"adults":{"default":1,"type":"number"},"children":{"default":0,"type":"number"},"displayCurrency":{"description":"Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.","type":"string"},"priceAudience":{"type":"string","enum":["PUBLIC","VERIFIED_TRAVELER"]},"internalAgentKey":{"type":"string"}},"required":["slug"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_support_contacts","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"propertyToken":{"description":"Property public token, when the traveler needs help from that property.","type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_traveler_handoff_status","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"handoffId":{"type":"string","description":"ID returned by start_traveler_handoff."}},"required":["handoffId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_traveler_memories","description":"Returns active structured memories for a verified traveler. Use this when you need durable personalization beyond the context already provided.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"travelerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Verified traveler ID from the private traveler context."}},"required":["travelerId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_traveler_verification_status","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"challengeRef":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["challengeRef"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_property_extras","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"propertyToken":{"type":"string"},"category":{"description":"Optional exact offer category filter, such as DAY_PASS, EXPERIENCE, WELLNESS, TRANSPORT, or PACKAGE.","type":"string"},"standaloneOnly":{"default":false,"description":"When true, exclude offers that require a stay.","type":"boolean"}},"required":["propertyToken"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"ping","description":"A simple ping tool","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_buildings","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"description":"Building name, neighborhood, city, or text query.","type":"string"},"city":{"type":"string"},"neighborhood":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"amenities":{"type":"array","items":{"type":"string"}},"maxResults":{"default":10,"type":"number"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_flexible_network_availability","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"location":{"description":"Optional city, state, country, neighborhood, or building. Omit when the traveler is open to ATA's current destinations.","type":"string"},"earliestCheckIn":{"description":"Earliest acceptable check-in date. Defaults to 28 days from today.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"latestCheckIn":{"description":"Latest acceptable check-in date. Defaults to 56 days from today.","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"nights":{"description":"Length of stay. Defaults to 3 nights.","type":"integer","minimum":1,"maximum":30},"adults":{"description":"Adult guests. Defaults to 2.","type":"integer","minimum":1,"maximum":40},"children":{"description":"Child guests. Defaults to 0.","type":"integer","minimum":0,"maximum":40},"propertyType":{"description":"Optional soft property-type preference; it ranks results and is reported as a difference when unavailable.","type":"string"},"amenities":{"description":"Optional soft amenity preferences for flexible discovery.","type":"array","items":{"type":"string"}},"views":{"description":"Optional soft view preferences for flexible discovery.","type":"array","items":{"type":"string"}},"preferences":{"description":"Open-ended soft preferences inferred from the traveler's own words or live network facets.","maxItems":6,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"maxPrice":{"description":"Maximum total stay price.","type":"number","minimum":0.01},"maxPriceCurrency":{"description":"Currency for maxPrice when filtering mixed native currencies.","type":"string"},"displayCurrency":{"description":"Optional traveler-facing display currency.","type":"string"},"maxResults":{"description":"Maximum priced stays to return. Defaults to 4.","type":"integer","minimum":1,"maximum":6},"priceAudience":{"type":"string","enum":["PUBLIC","VERIFIED_TRAVELER"]},"internalAgentKey":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_network_availability","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"location":{"description":"Optional city, state, or country. Omit when the traveler knows dates but is open to ATA's current destinations.","type":"string"},"checkIn":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","description":"Check-in date (YYYY-MM-DD)"},"checkOut":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","description":"Check-out date (YYYY-MM-DD)"},"adults":{"default":1,"description":"Number of adults","type":"number"},"children":{"default":0,"description":"Number of children","type":"number"},"maxPrice":{"description":"Maximum total price filter","type":"number"},"maxPriceCurrency":{"description":"Currency for maxPrice when filtering across mixed property currencies. If omitted, maxPrice is compared to each property's native currency.","type":"string"},"displayCurrency":{"description":"Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.","type":"string"},"amenities":{"description":"Filter by amenities on property or rooms. e.g. ['Pool', 'Gym', 'Pet Friendly', 'Spa']","type":"array","items":{"type":"string"}},"views":{"description":"Filter by room views. e.g. ['Ocean', 'Mountain', 'Garden', 'City']","type":"array","items":{"type":"string"}},"propertyType":{"description":"e.g. 'Hotel', 'Apartment', 'Villa'","type":"string"},"keyword":{"description":"Free-text keyword matched against property name/description. Great for vibe searches like 'boutique', 'beachside', 'romantic'.","type":"string"},"preferences":{"description":"Open-ended soft ranking signals. These do not exclude otherwise valid stays.","maxItems":6,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"priceAudience":{"type":"string","enum":["PUBLIC","VERIFIED_TRAVELER"]},"internalAgentKey":{"type":"string"}},"required":["checkIn","checkOut"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_property_availability","description":"Search specific dates and occupancy for a known property using its propertyToken.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"propertyToken":{"type":"string","description":"Public property token (e.g., pk_live_...)"},"checkIn":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","description":"Check-in date (YYYY-MM-DD)"},"checkOut":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","description":"Check-out date (YYYY-MM-DD)"},"adults":{"default":1,"type":"number"},"children":{"default":0,"type":"number"},"displayCurrency":{"description":"Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.","type":"string"},"priceAudience":{"type":"string","enum":["PUBLIC","VERIFIED_TRAVELER"]},"internalAgentKey":{"type":"string"}},"required":["propertyToken","checkIn","checkOut"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_property_catalog","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"location":{"description":"City, State, or Country to filter by. Omit for a global search.","type":"string"},"propertyType":{"description":"e.g. 'Hotel', 'Villa', 'Apartment'","type":"string"},"amenities":{"description":"e.g. ['Pool', 'Spa', 'Pet Friendly', 'Gym']","type":"array","items":{"type":"string"}},"views":{"description":"e.g. ['Ocean', 'Mountain', 'Garden']","type":"array","items":{"type":"string"}},"keyword":{"description":"Free-text matched against name/description. e.g. 'boutique', 'beachside', 'romantic'","type":"string"},"preferences":{"description":"Open-ended soft ranking signals inferred from traveler language or current network facets.","maxItems":6,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"adults":{"description":"Optional adults for occupancy-safe catalog suggestions.","type":"integer","minimum":1,"maximum":40},"children":{"description":"Optional children for occupancy-safe catalog suggestions.","type":"integer","minimum":0,"maximum":40},"maxResults":{"default":10,"description":"Max number of properties to return (default 10)","type":"number"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"start_traveler_handoff","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"action":{"type":"string","enum":["QUOTE","BOOKING_HOLD","BOOKING_READ"],"description":"Use BOOKING_HOLD before creating a reservation; BOOKING_READ grants only read access to an existing booking for questions."},"confirmationCode":{"description":"Required for BOOKING_READ: the ATA confirmation code printed on the booking confirmation.","type":"string","minLength":1,"maxLength":64},"guestName":{"type":"string","description":"Traveler name collected by the agent."},"guestEmail":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Traveler email. ATA sends the verification/approval link here."},"emailConfirmedByTraveler":{"description":"Set true only after reading guestEmail back to the traveler and they confirm it is correct.","type":"boolean"},"guestPhone":{"type":"string"},"propertyToken":{"type":"string"},"roomId":{"type":"string"},"ratePlanId":{"type":"string"},"selectedRoomCount":{"type":"number"},"checkIn":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"checkOut":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"adults":{"type":"number"},"children":{"default":0,"type":"number"},"quoteId":{"type":"string"},"quoteHash":{"type":"string"},"agentProvider":{"description":"Agent platform or provider name when known.","type":"string"},"agentName":{"description":"Agent/application display name when known.","type":"string"},"mcpSessionId":{"description":"Optional client-side MCP/session correlation ID.","type":"string"},"intentSummary":{"description":"Short traveler-facing summary of what ATA is verifying, without mentioning internal handoff/tool details.","type":"string"}},"required":["action","guestName","guestEmail"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"start_traveler_verification","description":"Start general traveler verification for this MCP session after the traveler confirms their email address. The default is a six-digit email code. This does not create a quote, enquiry, hold, or booking.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"guestName":{"type":"string","minLength":1},"guestEmail":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"emailConfirmedByTraveler":{"type":"boolean","description":"True only after the traveler confirms the exact email address."},"guestPhone":{"type":"string"},"propertyToken":{"type":"string"},"method":{"type":"string","enum":["EMAIL_CODE","EMAIL_LINK","SMS_CODE","WHATSAPP_CODE"]},"agentProvider":{"type":"string"},"agentName":{"type":"string"}},"required":["guestName","guestEmail","emailConfirmedByTraveler"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"suggest_traveler_memory","description":"Save or update one durable traveler memory for personalization. Use only for stable, travel-relevant preferences or constraints explicitly stated by the traveler.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"travelerId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Verified traveler ID from the private traveler context."},"type":{"type":"string","enum":["PREFERENCE","PROFILE_FACT","TRAVEL_STYLE","SERVICE_NOTE"],"description":"Memory category."},"key":{"type":"string","enum":["accessibility","budget","children","diet","guest_count","language","occasion","pace","pets","room_features","service_animal","stay_length","travel_party","travel_purpose","view"],"description":"Stable normalized memory key. Choose the closest allowed key."},"value":{"description":"Small JSON value, e.g. {\"hasServiceDog\":true} or {\"typicalAdults\":2,\"typicalChildren\":1}."},"summary":{"type":"string","minLength":8,"maxLength":240,"description":"Short practical note, without speculation or sensitive details."},"confidence":{"default":0.8,"description":"Confidence in this memory. Use 1 for explicit user statements, lower for inferred patterns.","type":"number","minimum":0,"maximum":1},"source":{"default":"USER_STATED","type":"string","enum":["USER_STATED","INFERRED","BOOKING_HISTORY","AGENT_NOTE"]},"visibility":{"default":"AGENT_ONLY","type":"string","enum":["AGENT_ONLY","STAFF_VISIBLE","USER_VISIBLE"]}},"required":["travelerId","type","key","value","summary"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"verify_traveler_code","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"challengeRef":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"code":{"type":"string","pattern":"^\\d{6}$"}},"required":["challengeRef","code"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":60,"grade":"C","scanned_at":"2026-09-22T21:27:14.882Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-22T21:27:14.897Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 524ms"]},"poisoning":{"score":15,"max":15,"notes":["24 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 2 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://atatravel.cloud/mcp","reachable":true,"authRequired":false,"latencyMs":524,"serverInfo":{"name":"ATA Agentic Travel Agency","version":"2.4.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://atatravel.cloud/icon.png","source":"registry","width":1024,"height":1024},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}