이 MCP로 할 수 있는 일
Searches accommodations and properties, provides availability and quotes, and supports verified traveler bookings, reservation status, extras, and travel support.
도구
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['propertyToken', 'roomId', 'checkIn', 'checkOut', 'guestName', 'guestEmail', 'guestCountry', 'adults', 'policyAcknowledged'], 'properties': {'notes': {'type': 'string', 'description': 'Optional traveler comments, questions, or requests for the host. Especially useful for host-approval enquiries.'}, 'adults': {'type': 'number'}, 'roomId': {'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])))$'}, 'children': {'type': 'number', 'default': 0}, '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'}, 'ratePlanId': {'type': 'string', 'description': 'Rate plan ID. If omitted, the system auto-selects the default active rate plan per night, then the cheapest active auto-selectable fallback.'}, 'guestCountry': {'type': 'string', 'maxLength': 80, 'minLength': 1, '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.'}, 'priceAudience': {'enum': ['PUBLIC', 'VERIFIED_TRAVELER'], 'type': 'string'}, 'propertyToken': {'type': 'string'}, 'agentHandoffId': {'type': 'string', 'description': 'Approved ATA traveler handoff ID from start_traveler_handoff/get_traveler_handoff_status. Required for third-party agents before inventory-holding booking actions.'}, 'displayCurrency': {'type': 'string', 'description': 'Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.'}, 'internalAgentKey': {'type': 'string'}, 'selectedRoomCount': {'type': 'number', 'description': 'For direct-booking room-count configurations, the number of rooms the traveler selected. Use defaultSelectedRoomCount from availability results.'}, 'travelerAssertion': {'type': 'string', 'description': 'Signed traveler email verification assertion from ATA.'}, '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.'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['propertyToken', 'roomId', 'checkIn', 'checkOut', 'guestName', 'guestEmail', 'adults'], 'properties': {'adults': {'type': 'number'}, 'roomId': {'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])))$'}, 'children': {'type': 'number', 'default': 0}, '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'}, 'ratePlanId': {'type': 'string', 'description': 'Rate plan ID. Optional.'}, 'guestCountry': {'type': 'string', 'maxLength': 80, 'description': 'Optional for a quote. If omitted, the traveler supplies it when completing the booking.'}, 'priceAudience': {'enum': ['PUBLIC', 'VERIFIED_TRAVELER'], 'type': 'string'}, 'propertyToken': {'type': 'string'}, 'agentHandoffId': {'type': 'string', '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.'}, 'displayCurrency': {'type': 'string', 'description': 'Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.'}, 'internalAgentKey': {'type': 'string'}, 'selectedRoomCount': {'type': 'number', 'description': 'For direct-booking room-count configurations, the number of rooms the traveler selected. Use defaultSelectedRoomCount from availability results.'}, 'travelerAssertion': {'type': 'string', 'description': 'Signed traveler email verification assertion from ATA.'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['confirmationCode'], 'properties': {'propertyToken': {'type': 'string', 'description': 'Known property public token; required to match a property-scoped connection.'}, 'agentHandoffId': {'type': 'string', 'description': 'Approved BOOKING_READ handoff for this confirmation code. No write scope is accepted.'}, 'confirmationCode': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'ATA confirmation code from the booking email.'}, 'travelerAssertion': {'type': 'string', 'description': 'Current signed ATA traveler verification assertion; never a typed email or model claim.'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['propertyToken'], 'properties': {'roomQuery': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': "Optional traveler-provided room or unit name, such as '5B Casita Vista'. No stay dates are required."}, 'propertyToken': {'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'quoteId': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'quoteUrl': {'type': 'string', 'format': 'uri', 'maxLength': 2048, 'description': 'Existing ATA /stays/quote/ link supplied by the traveler or returned by create_quote.'}, 'quoteHash': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'propertyToken': {'type': 'string'}, 'agentHandoffId': {'type': 'string', 'description': 'Still-valid USED QUOTE handoff that created this quote. Read-only access grants no additional writes; expired handoffs require fresh traveler verification.'}, 'travelerAssertion': {'type': 'string', 'description': 'Current signed ATA traveler assertion for the quote owner.'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['holdId'], 'properties': {'holdId': {'type': 'string', 'minLength': 1, 'description': 'Hold ID returned by create_provisional_booking.'}, '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. Required when using travelerAssertion; populated automatically for a verified MCP session.'}, 'propertyToken': {'type': 'string', 'description': 'Known public property token for this reservation; must match the hold property when supplied.'}, 'agentHandoffId': {'type': 'string', 'description': 'Secure BOOKING_HOLD handoff ID that created this reservation.'}, 'displayCurrency': {'type': 'string', 'description': 'Optional 3-letter currency for approximate display conversion. Native property currency remains authoritative.'}, 'travelerAssertion': {'type': 'string', 'description': 'Current signed ATA traveler verification assertion for the reservation guest.'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}, 'adults': {'type': 'number', 'default': 1}, '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])))$'}, 'children': {'type': 'number', 'default': 0}, 'priceAudience': {'enum': ['PUBLIC', 'VERIFIED_TRAVELER'], 'type': 'string'}, 'displayCurrency': {'type': 'string', 'description': 'Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.'}, 'internalAgentKey': {'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'propertyToken': {'type': 'string', 'description': 'Property public token, when the traveler needs help from that property.'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['handoffId'], 'properties': {'handoffId': {'type': 'string', 'description': 'ID returned by start_traveler_handoff.'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['travelerId'], '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.'}, 'travelerAssertion': {'type': 'string', 'description': 'Current signed ATA traveler assertion matching travelerId; required on shared transports.'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['challengeRef'], '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)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['propertyToken'], 'properties': {'category': {'type': 'string', 'description': 'Optional exact offer category filter, such as DAY_PASS, EXPERIENCE, WELLNESS, TRANSPORT, or PACKAGE.'}, 'propertyToken': {'type': 'string'}, 'standaloneOnly': {'type': 'boolean', 'default': False, 'description': 'When true, exclude offers that require a stay.'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'city': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'query': {'type': 'string', 'description': 'Building name, neighborhood, city, or text query.'}, 'amenities': {'type': 'array', 'items': {'type': 'string'}}, 'maxResults': {'type': 'number', 'default': 10}, 'neighborhood': {'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'views': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional soft view preferences for flexible discovery.'}, 'adults': {'type': 'integer', 'maximum': 40, 'minimum': 1, 'description': 'Adult guests. Defaults to 2.'}, 'nights': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Length of stay. Defaults to 3 nights.'}, 'children': {'type': 'integer', 'maximum': 40, 'minimum': 0, 'description': 'Child guests. Defaults to 0.'}, 'location': {'type': 'string', 'description': "Optional city, state, country, neighborhood, or building. Omit when the traveler is open to ATA's current destinations."}, 'maxPrice': {'type': 'number', 'minimum': 0.01, 'description': 'Maximum total stay price.'}, 'amenities': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional soft amenity preferences for flexible discovery.'}, 'maxResults': {'type': 'integer', 'maximum': 6, 'minimum': 1, 'description': 'Maximum priced stays to return. Defaults to 4.'}, 'preferences': {'type': 'array', 'items': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'maxItems': 6, 'description': "Open-ended soft preferences inferred from the traveler's own words or live network facets."}, 'propertyType': {'type': 'string', 'description': 'Optional soft property-type preference; it ranks results and is reported as a difference when unavailable.'}, 'latestCheckIn': {'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': 'Latest acceptable check-in date. Defaults to 56 days from today.'}, 'priceAudience': {'enum': ['PUBLIC', 'VERIFIED_TRAVELER'], 'type': 'string'}, 'displayCurrency': {'type': 'string', 'description': 'Optional traveler-facing display currency.'}, 'earliestCheckIn': {'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': 'Earliest acceptable check-in date. Defaults to 28 days from today.'}, 'internalAgentKey': {'type': 'string'}, 'maxPriceCurrency': {'type': 'string', 'description': 'Currency for maxPrice when filtering mixed native currencies.'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['checkIn', 'checkOut'], 'properties': {'views': {'type': 'array', 'items': {'type': 'string'}, 'description': "Filter by room views. e.g. ['Ocean', 'Mountain', 'Garden', 'City']"}, 'adults': {'type': 'number', 'default': 1, 'description': 'Number of adults'}, '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)'}, 'keyword': {'type': 'string', 'description': "Free-text keyword matched against property name/description. Great for vibe searches like 'boutique', 'beachside', 'romantic'."}, '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)'}, 'children': {'type': 'number', 'default': 0, 'description': 'Number of children'}, 'location': {'type': 'string', 'description': "Optional city, state, or country. Omit when the traveler knows dates but is open to ATA's current destinations."}, 'maxPrice': {'type': 'number', 'description': 'Maximum total price filter'}, 'amenities': {'type': 'array', 'items': {'type': 'string'}, 'description': "Filter by amenities on property or rooms. e.g. ['Pool', 'Gym', 'Pet Friendly', 'Spa']"}, 'preferences': {'type': 'array', 'items': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'maxItems': 6, 'description': 'Open-ended soft ranking signals. These do not exclude otherwise valid stays.'}, 'propertyType': {'type': 'string', 'description': "e.g. 'Hotel', 'Apartment', 'Villa'"}, 'priceAudience': {'enum': ['PUBLIC', 'VERIFIED_TRAVELER'], 'type': 'string'}, 'displayCurrency': {'type': 'string', 'description': 'Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.'}, 'internalAgentKey': {'type': 'string'}, 'maxPriceCurrency': {'type': 'string', 'description': "Currency for maxPrice when filtering across mixed property currencies. If omitted, maxPrice is compared to each property's native currency."}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['propertyToken', 'checkIn', 'checkOut'], 'properties': {'adults': {'type': 'number', 'default': 1}, '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)'}, 'children': {'type': 'number', 'default': 0}, 'priceAudience': {'enum': ['PUBLIC', 'VERIFIED_TRAVELER'], 'type': 'string'}, 'propertyToken': {'type': 'string', 'description': 'Exact public propertyToken returned by discovery or property context. Never add a prefix or invent a token.'}, 'displayCurrency': {'type': 'string', 'description': 'Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.'}, 'internalAgentKey': {'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'views': {'type': 'array', 'items': {'type': 'string'}, 'description': "e.g. ['Ocean', 'Mountain', 'Garden']"}, 'adults': {'type': 'integer', 'maximum': 40, 'minimum': 1, 'description': 'Optional adults for occupancy-safe catalog suggestions.'}, 'keyword': {'type': 'string', 'description': "Free-text matched against name/description. e.g. 'boutique', 'beachside', 'romantic'"}, 'children': {'type': 'integer', 'maximum': 40, 'minimum': 0, 'description': 'Optional children for occupancy-safe catalog suggestions.'}, 'location': {'type': 'string', 'description': 'City, State, or Country to filter by. Omit for a global search.'}, 'amenities': {'type': 'array', 'items': {'type': 'string'}, 'description': "e.g. ['Pool', 'Spa', 'Pet Friendly', 'Gym']"}, 'maxResults': {'type': 'number', 'default': 10, 'description': 'Max number of properties to return (default 10)'}, 'preferences': {'type': 'array', 'items': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'maxItems': 6, 'description': 'Open-ended soft ranking signals inferred from traveler language or current network facets.'}, 'propertyType': {'type': 'string', 'description': "e.g. 'Hotel', 'Villa', 'Apartment'"}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['action', 'guestName', 'guestEmail'], 'properties': {'action': {'enum': ['QUOTE', 'BOOKING_HOLD', 'BOOKING_READ'], 'type': 'string', 'description': 'Use BOOKING_HOLD before creating a reservation; BOOKING_READ grants only read access to an existing booking for questions.'}, 'adults': {'type': 'number'}, 'roomId': {'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])))$'}, 'quoteId': {'type': 'string'}, '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])))$'}, 'children': {'type': 'number', 'default': 0}, 'agentName': {'type': 'string', 'description': 'Agent/application display name when known.'}, 'guestName': {'type': 'string', 'description': 'Traveler name collected by the agent.'}, 'quoteHash': {'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,}$", 'description': 'Traveler email. ATA sends the verification/approval link here.'}, 'guestPhone': {'type': 'string'}, 'ratePlanId': {'type': 'string'}, 'mcpSessionId': {'type': 'string', 'description': 'Optional client-side MCP/session correlation ID.'}, 'agentProvider': {'type': 'string', 'description': 'Agent platform or provider name when known.'}, 'intentSummary': {'type': 'string', 'description': 'Short traveler-facing summary of what ATA is verifying, without mentioning internal handoff/tool details.'}, 'propertyToken': {'type': 'string'}, 'confirmationCode': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'Required for BOOKING_READ: the ATA confirmation code printed on the booking confirmation.'}, 'selectedRoomCount': {'type': 'number'}, 'emailConfirmedByTraveler': {'type': 'boolean', 'description': 'Set true only after reading guestEmail back to the traveler and they confirm it is correct.'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['guestName', 'guestEmail', 'emailConfirmedByTraveler'], 'properties': {'method': {'enum': ['EMAIL_CODE', 'EMAIL_LINK', 'SMS_CODE', 'WHATSAPP_CODE'], 'type': 'string'}, 'agentName': {'type': 'string'}, '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,}$"}, 'guestPhone': {'type': 'string'}, 'agentProvider': {'type': 'string'}, 'propertyToken': {'type': 'string'}, 'emailConfirmedByTraveler': {'type': 'boolean', 'description': 'True only after the traveler confirms the exact email address.'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['travelerId', 'type', 'key', 'value', 'summary'], 'properties': {'key': {'enum': ['accessibility', 'budget', 'children', 'diet', 'guest_count', 'language', 'occasion', 'pace', 'pets', 'room_features', 'service_animal', 'stay_length', 'travel_party', 'travel_purpose', 'view'], 'type': 'string', 'description': 'Stable normalized memory key. Choose the closest allowed key.'}, 'type': {'enum': ['PREFERENCE', 'PROFILE_FACT', 'TRAVEL_STYLE', 'SERVICE_NOTE'], 'type': 'string', 'description': 'Memory category.'}, 'value': {'description': 'Small JSON value, e.g. {"hasServiceDog":true} or {"typicalAdults":2,"typicalChildren":1}.'}, 'source': {'enum': ['USER_STATED', 'INFERRED', 'BOOKING_HISTORY', 'AGENT_NOTE'], 'type': 'string', 'default': 'USER_STATED'}, 'summary': {'type': 'string', 'maxLength': 240, 'minLength': 8, 'description': 'Short practical note, without speculation or sensitive details.'}, 'confidence': {'type': 'number', 'default': 0.8, 'maximum': 1, 'minimum': 0, 'description': 'Confidence in this memory. Use 1 for explicit user statements, lower for inferred patterns.'}, '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.'}, 'visibility': {'enum': ['AGENT_ONLY', 'STAFF_VISIBLE', 'USER_VISIBLE'], 'type': 'string', 'default': 'AGENT_ONLY'}, 'travelerAssertion': {'type': 'string', 'description': 'Current signed ATA traveler assertion matching travelerId; required on shared transports.'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['challengeRef', 'code'], 'properties': {'code': {'type': 'string', 'pattern': '^\\d{6}$'}, '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)$'}}}
최근 도구 변경
유사한 MCP 서버
Itaim Bibi
Provides an Itaim Bibi neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, t…
Tatuapé
Provides a Tatuapé neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticke…
Agenda SP
Provides São Paulo cultural agenda and local directory features, including events, venues, restaurants, offers, bookings, reserva…
Vila Buarque
Provides a neighborhood directory for local places, restaurants, menus, events, offers, services, reservations, bookings, and pur…
Centro
Provides a Centro neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticket…
Bela Vista
Provides a Bela Vista neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ti…
Jardins
Provides a Jardins neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticke…
Aclimação
Provides a neighborhood directory for Aclimação with local places, restaurant menus, events, offers, services, bookings, reservat…