ATA Travel
Server Details
ATA Travel: agent-first direct booking for accommodations, hotels, and vacation rentals.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
22 toolscreate_provisional_bookingAInspect
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 guest name/email plus travelerAssertion or approved internal BOOKING_HOLD agentHandoffId. If verification is needed, keep internal tool details private; tell the traveler only to confirm their email, check their inbox, and click the secure ATA link. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Optional traveler comments, questions, or requests for the host. Especially useful for host-approval enquiries. | |
| adults | Yes | ||
| roomId | Yes | ||
| checkIn | Yes | ||
| checkOut | Yes | ||
| children | No | ||
| guestName | Yes | ||
| guestEmail | Yes | ||
| guestPhone | No | ||
| ratePlanId | No | Rate plan ID. If omitted, the system auto-selects the default active rate plan per night, then the cheapest active auto-selectable fallback. | |
| priceAudience | No | ||
| propertyToken | Yes | ||
| agentHandoffId | No | Approved ATA traveler handoff ID from start_traveler_handoff/get_traveler_handoff_status. Required for third-party agents before inventory-holding booking actions. | |
| displayCurrency | No | Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative. | |
| internalAgentKey | No | ||
| selectedRoomCount | No | For direct-booking room-count configurations, the number of rooms the traveler selected. Use defaultSelectedRoomCount from availability results. | |
| travelerAssertion | No | Signed traveler email verification assertion from ATA. | |
| policyAcknowledged | Yes | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only signal non-read-only, non-idempotent behavior. The description adds substantial behavioral context beyond that: identity verification is not consent, internal tool details must be kept private, the traveler should only be directed to confirm email/inbox/secure ATA link, and the tool either creates an inventory-holding provisional booking or an enquiry hold. This is exactly the kind of context an agent needs and does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the core purpose, and every sentence contributes a real prerequisite or behavioral nuance. It is one long paragraph with multiple conditionals, which could be restructured into bullets, but the length is justified by the complexity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 18-parameter mutating tool with no output schema, the description covers the main decision branches, consent requirements, privacy constraints, and what type of result to expect in each branch. It does not explain every required parameter or provide a return shape, but it gives an agent enough operational context to invoke the tool correctly in the primary flows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 39%, so the description carries extra responsibility. It adds strong semantics for policyAcknowledged, travelerAssertion/agentHandoffId, and guest name/email requirements. However, several required and behaviorally important parameters such as propertyToken, roomId, checkIn, checkOut, and adults are not explained in the description and rely on self-evident schema naming, so the description only partially compensates for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete, specific action: 'Secure a reservation or create a host-approval enquiry on behalf of a traveler.' It clearly distinguishes the two possible outcomes based on instant-book availability, making the tool's purpose unambiguous and separable from list/search/quote siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit decision context: when instant book is enabled and payment is ready, versus when instant book is disabled or Stripe checkout is not ready. It also specifies when policyAcknowledged may be false (host-approval enquiry) and names the required authentication prerequisites. It does not explicitly mention alternative sibling tools or list 'when not to use,' but the situational guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_quoteAInspect
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 only to confirm their email, check their inbox, and click the secure ATA link. Quotes do not hold inventory or guarantee future availability.
| Name | Required | Description | Default |
|---|---|---|---|
| adults | Yes | ||
| roomId | Yes | ||
| checkIn | Yes | ||
| checkOut | Yes | ||
| children | No | ||
| guestName | Yes | ||
| guestEmail | Yes | ||
| guestPhone | No | ||
| ratePlanId | No | Rate plan ID. Optional. | |
| priceAudience | No | ||
| propertyToken | Yes | ||
| agentHandoffId | No | 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 | No | Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative. | |
| internalAgentKey | No | ||
| selectedRoomCount | No | For direct-booking room-count configurations, the number of rooms the traveler selected. Use defaultSelectedRoomCount from availability results. | |
| travelerAssertion | No | Signed traveler email verification assertion from ATA. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, openWorldHint=true, and destructiveHint=false. The description adds context beyond annotations, explaining that quotes are non-binding, do not reserve inventory, and involve a verification process (secure ATA link, email confirmation). It does not explicitly mention side effects like sending emails, but the guidance to 'tell the traveler... check their inbox' implies external communication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loading the core purpose and essential requirements. Every sentence adds value: purpose, prerequisites, verification instructions, and a key constraint (no inventory hold). No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (16 parameters, 31% schema coverage, no output schema), the description is too brief. It omits details about return values (e.g., quote ID, pricing) and does not explain many parameters. With 7 required parameters, the description should provide more guidance on how to construct the request properly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema parameter description coverage is 31%, so the description must compensate. It adds meaning for key parameters like 'travelerAssertion' and 'agentHandoffId' by explaining their roles. However, it does not clarify other parameters such as 'propertyToken', 'roomId', 'checkIn/Out', 'priceAudience', 'selectedRoomCount', or 'displayCurrency'. The description partially compensates for low coverage but leaves many parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Generate a non-binding reference quote for a traveler.' It uses specific verbs and resources, and implicitly distinguishes from the sibling tool 'create_provisional_booking' by noting that quotes do not hold inventory or guarantee availability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies prerequisites: 'Requires guest name/email plus a current travelerAssertion or fresh approved internal QUOTE agentHandoffId.' It also provides guidance on how to handle verification scenarios (keep internal details private, direct traveler to confirm email). However, it does not explicitly compare with alternatives like 'create_provisional_booking' or other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_building_detailsARead-onlyIdempotentInspect
Get a published ATA building/complex profile with assigned stays and map coordinates. Use slug from search_buildings or property search results.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate safe read operation. Description adds value by specifying returned content (assigned stays, map coordinates). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Front-loaded purpose, then usage hint. Highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simplicity and no output schema, description adequately covers purpose and parameter usage. Mentions return content partially, sufficient for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter 'slug' with semantic guidance on where to obtain it. Adds meaning beyond the minimal schema definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get a published ATA building/complex profile with assigned stays and map coordinates.' Specific verb and resource, distinguishes from siblings like get_property_details and search_buildings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit source for slug ('Use slug from search_buildings or property search results'), but lacks explicit when-not-to-use guidance. Still clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_missionARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so the safety profile is fully covered. Description adds only that it returns 'official' content, but doesn't disclose any additional behavioral traits beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: one states purpose, one gives usage guidance. No wasted words, front-loaded with key action. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description could hint at return type (e.g., 'returns a string with the mission text'). However, for a simple informational query, the description is sufficient. No missing critical context for the agent to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has zero parameters. According to guidelines, baseline is 4 for no parameters. Description does not need to add parameter information, and schema coverage is 100% trivially.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it returns the official ATA company mission and description, with specific usage scenarios (user asks what ATA is, vision, company). Distinct from all siblings which are unrelated (bookings, quotes, properties, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to call: 'when a user asks what ATA is, what we do, our vision, or about the company.' Does not mention when not to call or alternatives, but no sibling provides similar functionality, so it's clear this is the only tool for company info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_network_discovery_contextARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive. The description adds 'live summary' context, complementing annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first explains what the tool does, second gives usage guidance. No redundancy or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero params and no output schema, the description lists sufficient return content (destinations, stay types, etc.). Annotations cover safety and idempotency. Adequate for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (0 params, 100% schema coverage). Baseline score of 4 is appropriate as description need not add param info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a 'compact, live summary' with specific content areas (destinations, stay types, etc.). It also distinguishes usage from siblings by advising to use this before offering discovery shortcuts or asking vague travelers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use it: 'before offering discovery shortcuts or asking a vague traveler to choose from options.' However, it does not mention when not to use or provide alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_property_detailsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| roomQuery | No | Optional traveler-provided room or unit name, such as '5B Casita Vista'. No stay dates are required. | |
| propertyToken | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds useful behavioral context beyond the annotations: it clarifies that no dates are involved, enumerates the kinds of details returned, and explains the semantic handling of roomQuery vs treating a name as another property. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. The first sentence front-loads the verb and resource while enumerating content categories; the second delivers a crucial usage caveat. Every clause earns its place, and the structure makes it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, read-only tool without an output schema, the description covers the essential call context: what is returned, the date-free nature, and the roomQuery disambiguation rule. It does not explain how to obtain a propertyToken or how the response is structured, but the content list and sibling tool ecosystem (e.g., search_property_catalog) make those gaps acceptable. Overall, the description is sufficient for correct invocation in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: roomQuery has a schema description, but propertyToken has none. The description adds meaningful meaning to roomQuery with the rule about passing traveler-provided room names there first, which goes beyond the schema. propertyToken remains implicitly defined by the tool name and first sentence, but this is a minor gap given the token naming convention evident in sibling tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb ('Get') and resource ('property and room details'), followed by a concrete list of content categories (amenities, direct-booking benefits, policies, Events & Weddings, room profiles, images, links). The phrase 'date-free' clearly distinguishes this from availability-oriented sibling tools such as search_property_availability, and the tool name itself separates it from get_building_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this when you need non-date-dependent property and room details, and it gives a specific conditional rule ('When the traveler names a room or unit, pass that wording as roomQuery before treating it as another property'). It does not explicitly name alternative sibling tools or state when not to use it, but the 'date-free' qualifier and roomQuery instruction establish practical usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reservation_statusARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| holdId | Yes | Hold ID returned by create_provisional_booking. | |
| guestEmail | No | Traveler email. Required when using travelerAssertion; populated automatically for a verified MCP session. | |
| agentHandoffId | No | Secure BOOKING_HOLD handoff ID that created this reservation. | |
| displayCurrency | No | Optional 3-letter currency for approximate display conversion. Native property currency remains authoritative. | |
| travelerAssertion | No | Current signed ATA traveler verification assertion for the reservation guest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, and the description reinforces this by enumerating actions it cannot perform. It also adds an important behavioral requirement: the need for hold ID plus the same verified traveler context/assertion or secure booking handoff, which goes beyond the annotation hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: what it returns, what it requires, and what it cannot do. The most decision-relevant information is front-loaded, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description sufficiently enumerates the return content (status, stay, price, payment schedule, cancellation terms) and the access prerequisites. It could mention error behavior or explicitly contrast with get_traveler_handoff_status, but given rich schema descriptions and annotations, the key information for correct invocation is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining how the parameters relate: hold ID plus either travelerAssertion/guestEmail or agentHandoffId is required for access, which clarifies the authentication model not fully apparent from individual schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Return') and a precise resource: the current status, stay, price, payment schedule, and cancellation terms for a reservation previously created through ATA. This clearly distinguishes it from creation tools like create_provisional_booking and from other getters like get_traveler_handoff_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use for reservations previously created through ATA, and it explicitly excludes mutation capabilities ('cannot change, pay, cancel, check in, or check out a reservation'). It does not name alternative sibling tools explicitly, but the precondition and read-only scope imply when to choose this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stays_in_buildingBRead-onlyIdempotentInspect
Return ATA stays assigned to a published building, optionally filtered by live dates and guest counts.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| adults | No | ||
| checkIn | No | ||
| checkOut | No | ||
| children | No | ||
| priceAudience | No | ||
| displayCurrency | No | Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative. | |
| internalAgentKey | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds minor context like 'published building' and filtering options, but does not elaborate on error handling, pagination, or what 'ATA stays' precisely means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words. Efficient but could be slightly more structured to separate purpose and optional filters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details on return format, error conditions, or behavior for missing buildings. With 8 parameters and no output schema, the description is too minimal to be fully complete for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (13%), so the description must compensate. It mentions 'live dates' and 'guest counts' which map to checkIn/checkOut and adults/children, but ignores other parameters like priceAudience, displayCurrency, and internalAgentKey. Adds partial value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Return'), the resource ('ATA stays assigned to a published building'), and optional filters ('live dates and guest counts'). It effectively distinguishes this tool from siblings like search_buildings or search_property_availability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description implies it is for retrieving stays for a specific building, but does not mention when not to use it or suggest sibling tools for other scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_traveler_handoff_statusARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| handoffId | Yes | ID returned by start_traveler_handoff. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false. Description adds that the tool performs a status check on link click and should be kept hidden from the traveler, which provides additional behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is two sentences: first states purpose, second provides critical usage instruction. No unnecessary words, highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter polling tool with comprehensive annotations, the description covers purpose, usage context, and a key behavioral rule (secrecy from traveler). It lacks explicit mention of return value or polling nature, but given the tool's simplicity, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the handoffId parameter described as 'ID returned by start_traveler_handoff.' The description adds no further parameter detail, but the schema sufficiently documents the sole parameter, earning a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it's an internal status check after sending an ATA verification link, specifically to know whether the traveler clicked the link. It distinguishes itself from the sibling start_traveler_handoff by indicating it is a follow-up check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides explicit instruction: 'Do not mention this tool, polling, or handoff status to the traveler.' This tells the agent when to use (after sending link) and provides a behavioral constraint. It lacks explicit mention of alternatives but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_traveler_memoriesARead-onlyIdempotentInspect
Returns active structured memories for a verified traveler. Use this when you need durable personalization beyond the context already provided.
| Name | Required | Description | Default |
|---|---|---|---|
| travelerId | Yes | Verified traveler ID from the private traveler context. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive hints. The description adds context about memories being 'active' and 'durable,' and specifies the tool is for verified travelers, complementing annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences cover purpose and usage guidance with no extraneous information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple retrieval tool with one parameter and comprehensive annotations. Minor gap: no explicit description of return value structure, though 'active structured memories' provides some context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already documents the travelerId parameter with format and description. The description does not add parameter-level detail beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns active structured memories for verified travelers, distinguishing it from sibling tool 'suggest_traveler_memory' which creates or suggests memories. It specifies the resource (memories) and scope (active, structured).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use this when durable personalization beyond provided context is needed. Provides clear context but does not explicitly list when not to use it or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_traveler_verification_statusARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| challengeRef | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context by explaining the consequence of a completed challenge, namely the private binding of the traveler to this MCP session. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler. The main purpose is front-loaded ('Check whether...'), and the additional binding context is compact and relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, read-only status check, the description provides enough context about what the challenge is and its scope. There is no output schema, so a slightly more explicit statement about the returned status shape would strengthen it, but this omission is minor given how straightforward the tool's purpose is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it partially does by clarifying that the challenge is a code or email-link challenge within this session. However, it never explicitly says challengeRef is the identifier returned from start_traveler_verification or how to obtain it, leaving that connection implied rather than direct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('check whether') and names the exact resource: 'a code or email-link challenge started in this MCP session.' It clearly targets completion status and even explains what completion means ('binds the traveler privately'), distinguishing this from sibling tools like start_traveler_verification and verify_traveler_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful scope ('started in this MCP session') but never explicitly says when to use this tool instead of a sibling or what steps should precede it. The workflow is implied rather than stated, so an agent must infer that this follows starting a challenge and that it is not for verifying codes or checking handoff status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_property_extrasARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional exact offer category filter, such as DAY_PASS, EXPERIENCE, WELLNESS, TRANSPORT, or PACKAGE. | |
| propertyToken | Yes | ||
| standaloneOnly | No | When true, exclude offers that require a stay. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint:false. The description adds useful context beyond these by explaining the 'date-free' scope, the 'published on ATA' condition, and explicitly stating it 'does not create an order.' This goes beyond simply restating the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. The first sentence states the primary function and scope; the second clarifies return details and non-mutation. Every phrase contributes to understanding without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with no output schema, the description adequately covers the return values (read-only details and ATA purchase links) and the key condition (published on ATA). It could mention pagination or sorting, but these are not critical for selection. The description is complete enough for an agent to decide when to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 67% (two of three parameters have descriptions). The description adds domain context like 'date-free' and 'for a known property,' which informally ties to parameters, but it does not explain the propertyToken parameter or any parameter-specific behavior beyond what is in the schema. The description is helpful but doesn't fully compensate for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb 'List' and specific resources (date-free published events, services, etc.) for a known property, with scope indicated by 'for a known property' and non-mutating behavior stated. This distinguishes it from sibling tools like search_property_catalog, though it doesn't name alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you have a known property) and mentions a condition (when the property is published on ATA), but it does not reference any alternative tools or exclusionary criteria. There is no explicit 'when not to use' or naming of siblings, so the guidance is clear but incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingARead-onlyIdempotentInspect
A simple ping tool
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, covering the main behavioral traits. The description adds no extra context but does not contradict annotations. For a simple tool with annotations, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that perfectly front-loads the purpose without any unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, clear annotations, standard ping behavior), the description is complete enough. No output schema is needed for a basic connectivity check.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so schema coverage is 100%. The description does not need to elaborate on parameters; the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name 'ping' and description 'A simple ping tool' clearly indicate a health-check or connectivity test. It is distinct from all sibling tools which focus on business operations like bookings and availability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use or when not to use this tool. However, the purpose is self-evident for a ping tool, and there are no alternative ping-like tools among siblings, so the ambiguity is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_buildingsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| tags | No | ||
| query | No | Building name, neighborhood, city, or text query. | |
| amenities | No | ||
| maxResults | No | ||
| neighborhood | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description doesn't need to restate safety. It adds context about the data source ('published ATA building/complex profiles') but doesn't discuss any other behavioral traits like pagination or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and usage. No wasted words; the structure is efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and 6 parameters, the description is adequate for a search tool but could be more complete by mentioning what the response contains (e.g., building IDs, names) or any result limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 17% schema description coverage, the description compensates by mapping search dimensions (destination, neighborhood, tag, amenity, free-text) to parameters, but it does not detail individual parameters or formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Find' and the resource 'published ATA building/complex profiles' and lists multiple search dimensions. However, it doesn't explicitly differentiate from sibling tools like get_building_details or search_property_catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context ('Use this for questions about buildings...') but does not specify when not to use or mention alternative tools for specific functions, such as get_building_details for detailed info on a single building.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_flexible_network_availabilityARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| views | No | Optional soft view preferences for flexible discovery. | |
| adults | No | Adult guests. Defaults to 2. | |
| nights | No | Length of stay. Defaults to 3 nights. | |
| children | No | Child guests. Defaults to 0. | |
| location | No | Optional city, state, country, neighborhood, or building. Omit when the traveler is open to ATA's current destinations. | |
| maxPrice | No | Maximum total stay price. | |
| amenities | No | Optional soft amenity preferences for flexible discovery. | |
| maxResults | No | Maximum priced stays to return. Defaults to 4. | |
| preferences | No | Open-ended soft preferences inferred from the traveler's own words or live network facets. | |
| propertyType | No | Optional soft property-type preference; it ranks results and is reported as a difference when unavailable. | |
| latestCheckIn | No | Latest acceptable check-in date. Defaults to 56 days from today. | |
| priceAudience | No | ||
| displayCurrency | No | Optional traveler-facing display currency. | |
| earliestCheckIn | No | Earliest acceptable check-in date. Defaults to 28 days from today. | |
| internalAgentKey | No | ||
| maxPriceCurrency | No | Currency for maxPrice when filtering mixed native currencies. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, openWorld, idempotent, and non-destructive. The description adds value by stating that defaults are returned as explicit assumptions and that preferences are soft ranking signals, not a closed taxonomy. This provides insight beyond the annotations, though it could mention how results are ordered or what happens with no matches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two sentences with no wasted words. It front-loads the main purpose and immediately provides crucial default behavior and the key concept of soft preferences. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (16 parameters, no output schema), the description covers the essential behavioral aspects (defaults, soft preferences). It could be improved by noting the result format or ordering, but the schema descriptions and annotations provide sufficient context for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 88%, so the schema already provides detailed parameter descriptions. The description adds context about default values (28-56 day window, 3 nights, 2 adults) and the soft nature of preferences, but does not need to repeat schema information. Baseline 3 is appropriate given high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it finds 'real, priced ATA stays when the traveler is flexible', distinguishing it from other search tools like search_network_availability that likely target exact dates. It specifies default parameters (window 28–56 days, 3 nights, 2 adults) and emphasizes that preferences are soft signals, not a closed taxonomy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool ('when the traveler is flexible') and explains that defaults are applied when values are missing. It does not directly mention alternatives, but the context from sibling tools implies other searches for exact dates. The description could be improved by explicitly stating when not to use it (e.g., for specific date searches).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_network_availabilityARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| views | No | Filter by room views. e.g. ['Ocean', 'Mountain', 'Garden', 'City'] | |
| adults | No | Number of adults | |
| checkIn | Yes | Check-in date (YYYY-MM-DD) | |
| keyword | No | Free-text keyword matched against property name/description. Great for vibe searches like 'boutique', 'beachside', 'romantic'. | |
| checkOut | Yes | Check-out date (YYYY-MM-DD) | |
| children | No | Number of children | |
| location | No | Optional city, state, or country. Omit when the traveler knows dates but is open to ATA's current destinations. | |
| maxPrice | No | Maximum total price filter | |
| amenities | No | Filter by amenities on property or rooms. e.g. ['Pool', 'Gym', 'Pet Friendly', 'Spa'] | |
| preferences | No | Open-ended soft ranking signals. These do not exclude otherwise valid stays. | |
| propertyType | No | e.g. 'Hotel', 'Apartment', 'Villa' | |
| priceAudience | No | ||
| displayCurrency | No | Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative. | |
| internalAgentKey | No | ||
| maxPriceCurrency | No | Currency for maxPrice when filtering across mixed property currencies. If omitted, maxPrice is compared to each property's native currency. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint) already declare safe, read-only behavior. Description adds useful context like real-time pricing and filtering without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and then usage guidance, with zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers key aspects for a search tool with many parameters, annotations, and no output schema. Minor omission: no mention of pagination or result limits, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (87%), so baseline is 3. Description adds value beyond schema for 'keyword' (vibe searches) and 'location' (omit when open to destinations), enhancing agent understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds accommodations across the ATA Travel Network with real-time pricing, using specific verbs and resource. It distinguishes from sibling search_flexible_network_availability by emphasizing date knowledge requirement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use when dates are known', providing clear context. Does not explicitly state when not to use or name alternatives, but context signals and sibling tools imply distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_property_availabilityARead-onlyIdempotentInspect
Search specific dates and occupancy for a known property using its propertyToken.
| Name | Required | Description | Default |
|---|---|---|---|
| adults | No | ||
| checkIn | Yes | Check-in date (YYYY-MM-DD) | |
| checkOut | Yes | Check-out date (YYYY-MM-DD) | |
| children | No | ||
| priceAudience | No | ||
| propertyToken | Yes | Public property token (e.g., pk_live_...) | |
| displayCurrency | No | Optional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative. | |
| internalAgentKey | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description adds minimal behavioral context beyond confirming it's a search. No new traits disclosed beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and contains zero waste. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters and no output schema, the description is minimal. Annotations provide safety context, but the description lacks details on return values or behavior, which is adequate but not complete for complex decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 50% schema description coverage, the description should compensate but only mentions 'dates and occupancy' and propertyToken. It does not explain key parameters like priceAudience, internalAgentKey, adults, children, or displayCurrency beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resource 'property availability' for a known property using propertyToken. It distinguishes from siblings like search_network_availability by specifying it's for a known property.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a propertyToken is known, but does not explicitly state when to use or avoid this tool versus alternatives like search_flexible_network_availability. No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_property_catalogARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| views | No | e.g. ['Ocean', 'Mountain', 'Garden'] | |
| adults | No | Optional adults for occupancy-safe catalog suggestions. | |
| keyword | No | Free-text matched against name/description. e.g. 'boutique', 'beachside', 'romantic' | |
| children | No | Optional children for occupancy-safe catalog suggestions. | |
| location | No | City, State, or Country to filter by. Omit for a global search. | |
| amenities | No | e.g. ['Pool', 'Spa', 'Pet Friendly', 'Gym'] | |
| maxResults | No | Max number of properties to return (default 10) | |
| preferences | No | Open-ended soft ranking signals inferred from traveler language or current network facets. | |
| propertyType | No | e.g. 'Hotel', 'Villa', 'Apartment' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds 'fast, lightweight — no availability or pricing check,' reinforcing the read-only nature and performance. No contradictions; adds useful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. The first sentence defines core behavior, the second gives use cases. All information is essential and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 optional parameters and no output schema, the description adequately covers purpose and usage. However, it does not hint at the return format (e.g., property names, IDs), which could be helpful for agents. Slight gap but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described. The description mentions filtering by type/amenity/view but does not add new semantic details beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Browse' and the resource 'ATA property catalog', explicitly noting that it does not require dates and performs no availability or pricing check. This distinguishes it from siblings like search_property_availability which require dates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies when to use: 'for vague exploration, browsing by type/amenity/view, or when the traveler has no dates yet.' It implicitly excludes use cases needing availability/pricing, providing clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_traveler_handoffAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | The action the traveler is being asked to approve. Use BOOKING_HOLD before create_provisional_booking. | |
| adults | No | ||
| roomId | No | ||
| checkIn | No | ||
| quoteId | No | ||
| checkOut | No | ||
| children | No | ||
| agentName | No | Agent/application display name when known. | |
| guestName | Yes | Traveler name collected by the agent. | |
| quoteHash | No | ||
| guestEmail | Yes | Traveler email. ATA sends the verification/approval link here. | |
| guestPhone | No | ||
| ratePlanId | No | ||
| mcpSessionId | No | Optional client-side MCP/session correlation ID. | |
| agentProvider | No | Agent platform or provider name when known. | |
| intentSummary | No | Short traveler-facing summary of what ATA is verifying, without mentioning internal handoff/tool details. | |
| propertyToken | No | ||
| selectedRoomCount | No | ||
| emailConfirmedByTraveler | No | Set true only after reading guestEmail back to the traveler and they confirm it is correct. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false (mutating) and openWorldHint=true. The description adds that an email is sent and the agent must confirm the email with the traveler. It also instructs to avoid mentioning internal details. This goes beyond annotations, but lacks disclosure of failure modes, rate limits, or what happens if the traveler doesn't respond.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise with two main sentences plus embedded instructions. It front-loads the purpose and key steps. However, the instructions are mixed with the purpose, and the structure could be improved with bullet points or clearer separation. Still, every sentence adds value, with no irrelevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 19 parameters and no output schema, the description covers only the immediate action and prerequisites. It fails to explain the response format, error handling, or what happens after the handoff is initiated. Important context like when the email is actually sent (possible async) or what the tool returns is missing, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at only 42%, the description should compensate but only explicitly addresses guestEmail and emailConfirmedByTraveler. It does not explain other critical parameters like action (though action has enum descriptions in schema), adults, checkIn/Out, etc. The meaning of many optional parameters remains unclear, making it hard for an agent to fill them correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is for 'Internal approval step for quote or booking tools' and specifies it involves sending an email for traveler confirmation. The name 'start_traveler_handoff' aligns with this purpose. It distinguishes from siblings like get_traveler_handoff_status (which retrieves status) and create_provisional_booking (which follows this step).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit instructions are given: read guestEmail back and confirm before calling, set emailConfirmedByTraveler=true, and tell the traveler to check inbox without mentioning handoff details. It also notes that for BOOKING_HOLD action, use before create_provisional_booking. However, it does not specify when not to use this tool (e.g., if email is already sent or traveler already confirmed).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_traveler_verificationAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| method | No | ||
| agentName | No | ||
| guestName | Yes | ||
| guestEmail | Yes | ||
| guestPhone | No | ||
| agentProvider | No | ||
| propertyToken | No | ||
| emailConfirmedByTraveler | Yes | True only after the traveler confirms the exact email address. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal this is not read-only and may have open-world effects. The description adds useful context by noting the default six-digit email code and stating that no quote, enquiry, hold, or booking is created. However, it does not disclose the actual postcondition, such as sending a code or creating a verification session.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the main purpose and precondition, then add a useful boundary statement. There is no filler or redundant restating of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential invocation context, but with no output schema and no mention of what the caller should do after starting verification, an agent is left uncertain about return values and the follow-up path (e.g., using verify_traveler_code). This is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 13%, so the description carries most of the burden for parameter meaning, but it only clarifies the default method and the email-confirmation precondition. It adds no detail on propertyToken, agentProvider, guestPhone, or agentName, and only lightly covers method beyond the default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Start general traveler verification for this MCP session.' It also gives a clear precondition ('after the traveler confirms their email address') and distinguishes itself from booking-related siblings by explicitly saying it does not create a quote, enquiry, hold, or booking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear trigger condition: use after the traveler confirms their email address. It also clarifies what the tool is not for, which helps disambiguate from booking/quote tools, though it does not explicitly name or route to the obviously related sibling verify_traveler_code.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_traveler_memoryAInspect
Save or update one durable traveler memory for personalization. Use only for stable, travel-relevant preferences or constraints explicitly stated by the traveler.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Stable normalized memory key. Choose the closest allowed key. | |
| type | Yes | Memory category. | |
| value | Yes | Small JSON value, e.g. {"hasServiceDog":true} or {"typicalAdults":2,"typicalChildren":1}. | |
| source | No | USER_STATED | |
| summary | Yes | Short practical note, without speculation or sensitive details. | |
| confidence | No | Confidence in this memory. Use 1 for explicit user statements, lower for inferred patterns. | |
| travelerId | Yes | Verified traveler ID from the private traveler context. | |
| visibility | No | AGENT_ONLY |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value by indicating that the memory is durable and used for personalization, and that it can both save and update. However, it lacks details on side effects such as conflict resolution, overwrite behavior, or concurrency, which are important given the non-idempotent annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two sentences that efficiently convey the purpose and constraints. There is no superfluous information, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, 5 required, no output schema), the description is adequate but omits important context such as return values, error handling, or idempotency behavior. It covers the essential purpose but not all operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not elaborate on any parameters beyond what the input schema already covers. With schema coverage at 75%, the description adds no extra value for parameter understanding, warranting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Save or update') and the resource ('durable traveler memory') for personalization. It also specifies the scope ('only for stable, travel-relevant preferences or constraints explicitly stated'), distinguishing it from related tools like get_traveler_memories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use the tool: only for stable, explicitly stated preferences. However, it does not explicitly mention alternatives or when not to use it, though the context of sibling tools implies this is the sole writing tool for memories.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_traveler_codeAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| challengeRef | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark this as a mutation (readOnlyHint=false) and non-destructive. The description adds valuable behavioral detail: 'On success, ATA privately binds the verified traveler to this MCP session; no reusable bearer credential is returned.' This explains the side effect (session binding) and the absence of a token, which is critical for an agent. However, it does not describe failure behavior or what happens if the code is invalid, so it's not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The primary action and side effect are front-loaded, and the security note about no bearer token is a single concise sentence. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation with no output schema, so the description should ideally mention what is returned or emitted. It notes that no reusable credential is returned, implying a success indication, but does not specify the return format or error conditions. The flow context (part of traveler verification) is partially covered via the session-bound challenge, but the agent lacks guidance on failure handling and expected response, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description must compensate for parameter meanings. It does connect challengeRef to 'a challenge started in this MCP session' and identifies code as 'six-digit,' which aligns with the schema patterns. But it does not explain how to obtain the challengeRef, what constitutes a valid code beyond the pattern, or error semantics. The added context is helpful but minimal for a 0% coverage scenario.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Consume the six-digit code for a challenge started in this MCP session.' It names the specific resource (challenge) and the context (this session), and clarifies the outcome (binds traveler to session). This distinguishes it from sibling tools like start_traveler_verification and get_traveler_verification_status by focusing on the code consumption step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool is used after a challenge is started in the same MCP session, which selects it from the verification flow. However, it does not explicitly state when to use it versus alternatives (e.g., 'after start_traveler_verification') or when not to use it. The context is clear but exclusions are absent, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Vacation rental discovery, direct booking, and property protection for AI agents.
Host-owned vacation-rental direct booking via VRP. Signed offers, 0% commission. Not an OTA.
Travel & commerce intelligence for AI agents: search, book & price-track hotels, events, retail.
Booking.com, Airbnb, TripAdvisor unified — for AI travel concierges and trip planners.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceBook hotels worldwide — search, price, prebook & book across 249 countries. 65 tools for hotel search, flights, loyalty, analytics. Zero API keys needed. at best prices for hotels 3 M+ property221MIT
- AlicenseNot gradedqualityCmaintenanceLuxury hotel intelligence and secure checkout handoff for AI travel agents.1Apache 2.0

Dida Hotel MCPofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to search and book hotels globally with real-time pricing and inventory from over 2 million properties.81MIT- AlicenseCqualityDmaintenanceThe only MCP server with AI guest risk scoring and extortion detection. Search properties, book instantly, protect hosts. 41 tools across 5 layers. Instant API key, 10 free credits.6MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Multiple search tools (search_buildings, search_property_catalog, search_network_availability) and detail tools (get_building_details, get_property_details, get_stays_in_building) have overlapping boundaries, though descriptions clarify date and availability distinctions. The verification/handoff tools are more clearly separated but still numerous.
All tools follow a consistent snake_case verb_noun pattern (create_*, get_*, search_*, start_*, verify_*). There are no mixed casing conventions or vague generic verbs, making the set predictable and easy to scan.
With 22 tools, the server is on the heavy end of a typical MCP scope, though each tool has a defined purpose. Several narrow status and discovery helpers inflate the count, but the overall count is not yet extreme.
The booking lifecycle is incomplete: create_quote and create_provisional_booking exist, but there is no cancel, update, or explicit payment action, and get_reservation_status explicitly cannot change or cancel a reservation. Search and verification are well covered, but missing booking mutations will cause agent dead ends.