Skip to main content
Glama

Server Details

Search hotels, get live prices, and check out in chat. Guest search needs no sign-in.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 18 of 18 tools scored. Lowest: 3.5/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct action or resource, e.g., search vs search_hotels, get_booking vs get_my_booking. No overlapping functionality; descriptions clarify subtle differences.

Naming Consistency4/5

Most tools follow verb_noun pattern (add_trip_item, cancel_booking) or get_/list_ prefixes. One outlier ('fetch') breaks the pattern slightly, but overall naming is predictable.

Tool Count5/5

18 tools cover the hotel booking domain comprehensively without being excessive. Each tool has a clear role in the workflow from search to booking to modification.

Completeness5/5

Covers all key lifecycle stages: search, details, rooms, pricing, checkout (standard and one-click), booking management (list, get, cancel, modify), payment methods, and trip saving. No obvious gaps.

Available Tools

18 tools
add_trip_itemAdd trip itemAInspect

Add an item (hotel, flight, activity, etc.) to a saved trip on a given day.

ParametersJSON Schema
NameRequiredDescriptionDefault
dayYesDay number within the trip.
typeYesItem type.
titleYesItem title (1-255 chars).
sortOrderNoOrder within the day (default 0).
descriptionNoOptional notes (≤2000 chars).
itineraryPublicIdYesThe trip's public id (from `list_trips`/`save_trip`).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-readonly (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds no further behavioral detail (e.g., whether items can be duplicated, if day range is validated, or if overwriting occurs). It is minimal but consistent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, well-structured sentence that immediately conveys the action, target, and key constraint (day). No extraneous words or redundant information—every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (6 parameters, no output schema), the description adequately covers the core functionality. However, it omits details about the return value (e.g., confirmation or created item identifier), which could affect usability in chained operations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with descriptions for all parameters, so the baseline is 3. The description adds 'on a given day' and parenthetical types, but these are already implicit in the schema's field requirements and enum. No additional semantic depth is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Add') and resource ('item to a saved trip on a given day'), clearly distinguishing it from siblings like 'save_trip' (create trip) or 'list_trips' (list saved trips). It enumerates example item types (hotel, flight, activity), further clarifying scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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 vs alternatives like 'save_trip' or prerequisites (e.g., needing a trip's public ID from 'list_trips'). The description implies the tool adds to an existing trip but doesn't state when not to use it or provide selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cancel_bookingCancel bookingA
Destructive
Inspect

Cancel one of the signed-in user's bookings. Requires the 6-digit verificationCode from request_booking_action_code. This may be irreversible and can trigger a refund per policy.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoOptional cancellation reason (≤1000 chars).
publicIdYesThe booking's public id.
verificationCodeYes6-digit code from `request_booking_action_code`.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds value beyond annotations by explaining that cancellation may be irreversible and can trigger a refund. Annotations already mark destructiveHint=true, but description elaborates on consequences.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and requirement, no extraneous information. Concise and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema, the description covers the action, prerequisites, and consequences adequately. Could specify return format, but not critical for a cancel operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage for all three parameters. Description reiterates verificationCode source and optional reason, but does not add substantial meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'cancel' and resource 'bookings', specifying scope as 'signed-in user's bookings'. Distinguishes from sibling tools like modify_booking and get_booking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states prerequisite (requires verificationCode from request_booking_action_code) and provides caution about irreversibility and possible refund. Could mention when to avoid (e.g., if modification is desired) but does well.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_checkoutCreate checkoutA
Destructive
Inspect

Create a secure checkout for a chosen hotel room and return a getmyhotels.com URL where the guest completes payment. This does NOT charge the card — the guest pays on the hosted page. Confirm the hotel, room, dates, and price with the user before calling. Call get_checkout_quote first to confirm the live price.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoHotel `ref` from `search_hotels` (e.g. 'TBO:1402689'). Alternative to supplierCode + supplierHotelId.
priceYesTotal price to charge (use `grandTotal` from `get_checkout_quote`).
roomsNoRooms (default 1).
adultsNoAdults (default 2).
checkInYesCheck-in date, ISO 8601 (YYYY-MM-DD).
checkOutYesCheck-out date, ISO 8601 (YYYY-MM-DD).
childrenNoChildren (default 0).
currencyYesISO 4217 currency of `price`/`totalPrice` (e.g. 'USD').
roomNameYesRoom name (from the chosen room).
hotelNameYesHotel name (from `search_hotels`).
childrenAgesNoAge of each child.
supplierCodeNoSupplier code (from `search_hotels`). Required if `ref` is omitted.
supplierRoomIdYesBookable room/rate id from the chosen room in `search_hotels`.
supplierHotelIdNoSupplier hotel id (from `search_hotels`). Required if `ref` is omitted.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description clarifies that the tool does not charge the card, matching annotations (readOnlyHint=false, destructiveHint=true). It could mention checkout expiration or consequence of non-payment, but with annotations providing the safety profile, this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each serving a distinct purpose: purpose, behavior, precondition, and recommended preceding action. Front-loaded and no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the workflow: creation, redirection, and preconditions. However, it does not describe error cases or what happens if checkout expires, but given no output schema, this is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters. The description adds usage context (e.g., use price from get_checkout_quote) but does not add new semantic meaning beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a secure checkout for a hotel room and returns a URL for payment. It distinguishes from siblings like get_checkout_quote (price confirmation) and create_one_click_checkout (direct payment) by explicitly noting that it does not charge the card.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit preconditions: confirm hotel, room, dates, and price with the user, and call get_checkout_quote first. This gives clear steps and context for using the tool correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_one_click_checkoutCreate one-click checkoutA
Destructive
Inspect

Create a checkout for the signed-in user with a saved card pre-selected, and return a getmyhotels.com URL where they confirm + pay in one click. Does NOT charge the card — the user confirms on the hosted page. Get the savedPaymentMethodPublicId from list_payment_methods. Confirm the hotel, room, dates, and price with the user first.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoHotel `ref` from `search_hotels` (e.g. 'TBO:1402689').
priceYesTotal price (use `grandTotal` from `get_checkout_quote`).
roomsNoRooms (default 1).
adultsNoAdults (default 2).
checkInYesCheck-in date, ISO 8601.
checkOutYesCheck-out date, ISO 8601.
childrenNoChildren (default 0).
currencyYesISO 4217 currency (e.g. 'USD').
roomNameYesRoom name.
hotelNameYesHotel name.
supplierCodeNoSupplier code (if `ref` omitted).
supplierRoomIdYesBookable room/rate id from `search_hotels`.
supplierHotelIdNoSupplier hotel id (if `ref` omitted).
savedPaymentMethodPublicIdYesSaved card `publicId` from `list_payment_methods`.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate destructiveHint=true and readOnlyHint=false. The description adds that no charge occurs and a URL is returned, but does not fully disclose side effects like whether a pending booking is created or what happens on user non-confirmation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the core purpose, and every sentence provides essential information. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 14 parameters and no output schema, the description covers the tool's action, non-action (no charge), prerequisites, and flows. It lacks details on the exact URL format or response structure, but is generally complete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions. The description adds value by explaining the source for savedPaymentMethodPublicId (from list_payment_methods) and emphasizing the need to confirm price and dates, aiding correct parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a one-click checkout for a signed-in user with a saved card, returning a hosted URL. It distinguishes from siblings like create_checkout by emphasizing the one-click aspect and pre-selected card.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises confirming hotel details and price with the user first, and specifies that the tool does not charge (user confirms on hosted page). It also directs to get savedPaymentMethodPublicId from list_payment_methods. It lacks explicit when-not-to-use or alternatives, but provides clear context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetchFetchA
Read-only
Inspect

Fetch the full record for a result id returned by search (a hotel) or for a booking reference (prefixed 'bk_'). Returns a document with id, title, text, url, and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAn id from `search` results, or a 'bk_'-prefixed booking ref.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already readOnlyHint=true. Description adds return field details but no 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded, no wasted words. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple fetch tool with one well-described parameter and annotations, the description covers purpose, input, and output sufficiently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already describes the 'id' parameter with the same info as description. Description adds no new semantics beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it fetches full records for search result IDs or booking references (prefixed 'bk_'), and lists return fields. Distinguishes from siblings by specifying the input types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly tells when to use: after search or when having a booking reference. Does not explicitly state when not to use, but 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_bookingGet bookingA
Read-only
Inspect

Look up a hotel booking by its management token (sent in the confirmation email). Returns the booking status, hotel, dates, and guest details.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookingTokenYesThe booking management token from the confirmation email/URL.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, and the description adds return value details (status, hotel, dates, guest details). No contradictions or missing behavioral info beyond what's expected for a lookup.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no filler. Every part contributes to understanding the tool's purpose and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description completely covers what the tool does and its return values. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers the single parameter with a description, achieving 100% coverage. The tool description merely references the token without adding new info, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool looks up a hotel booking using a management token, specifying the source and what it returns. It distinguishes from sibling tools like get_my_booking (which uses authentication) and cancel_booking/modify_booking (different actions).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (when you have the management token from a confirmation email). It does not explicitly state when not to use it or list alternatives, but the context of sibling tools implies other lookup methods exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_checkout_quoteGet checkout quoteA
Read-only
Inspect

Re-price a specific room live against the supplier before checkout (no booking, no charge). Use the supplierRoomId and price/currency from search_hotels. Returns the authoritative grand total, a rateValidUntil timestamp, and any taxes/fees.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoHotel `ref` from `search_hotels` (e.g. 'TBO:1402689'). Alternative to supplierCode + supplierHotelId.
roomsNoRooms (default 1).
adultsNoAdults (default 2).
checkInYesCheck-in date, ISO 8601 (YYYY-MM-DD).
checkOutYesCheck-out date, ISO 8601 (YYYY-MM-DD).
childrenNoChildren (default 0).
currencyYesISO 4217 currency of `price`/`totalPrice` (e.g. 'USD').
promoCodeNoOptional promo code.
totalPriceYesThe room's price from `search_hotels` (used to detect price changes).
childrenAgesNoAge of each child.
supplierCodeNoSupplier code (from `search_hotels`). Required if `ref` is omitted.
supplierRoomIdYesBookable room/rate id from the chosen room in `search_hotels`.
supplierHotelIdNoSupplier hotel id (from `search_hotels`). Required if `ref` is omitted.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. Description adds that it returns authoritative grand total, rateValidUntil timestamp, and taxes/fees, which is useful behavioral context beyond 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences. First sentence states action and effect, second specifies inputs and outputs. No unnecessary words; every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters, 5 required, and no output schema, the description provides key input-output mapping (supplierRoomId, price/currency, grand total, rateValidUntil, taxes/fees). It could mention the alternative ref vs supplierCode+supplierHotelId grouping, but schema covers it. Overall sufficient for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so description doesn't need to explain each parameter. However, it adds meaning by mentioning key inputs (supplierRoomId, price/currency) and outputs, helping the agent understand which parameters are critical and what results to expect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool re-prices a room live before checkout without booking or charge. It distinguishes from siblings like create_checkout and search_hotels by specifying 'before checkout' and 'no booking, no charge'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use supplierRoomId and price/currency from search_hotels, indicating context after search and before checkout. No explicit exclusions, but the purpose is clear enough for an agent to infer appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_hotel_detailsGet hotel detailsA
Read-only
Inspect

Get full property details (description, amenities, photos, policies, location) for a hotel, identified by its ref from search_hotels (or its supplierCode + supplierHotelId).

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoThe hotel `ref` from search (e.g. 'tbo:1360717').
supplierCodeNoAlternative to `ref`: supplier code.
supplierHotelIdNoAlternative to `ref`: supplier hotel id.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the agent knows it's a safe read operation. The description adds value by listing the types of data returned (description, amenities, photos, policies, location), which goes beyond the annotations. No hidden behaviors or side effects are mentioned, but the description is consistent and informative.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence with no wasted words. It front-loads the purpose and includes critical details about identification. All information is essential and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only detail retrieval tool with no output schema, the description sufficiently explains what the tool returns (full property details with categories). It is complete enough given the tool's simplicity and the annotations that indicate safety and open-world behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter described (ref, supplierCode, supplierHotelId). The description adds semantic value by explaining the relationship: 'identified by its `ref` from search_hotels (or its supplierCode + supplierHotelId)' – clarifying that these are alternative identifiers. This helps the agent understand when to use each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves 'full property details' for a hotel, specifying the types of details (description, amenities, photos, policies, location). It distinguishes itself from sibling tools like search_hotels (which searches) and get_rooms (which likely gets room details) by focusing on a single hotel's comprehensive details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states the hotel is identified by its `ref` from `search_hotels` or by supplierCode + supplierHotelId, providing clear context for when to use this tool: after a search to get details for a specific result. It does not mention when not to use it or alternatives for related tools, but the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_my_bookingGet my bookingA
Read-only
Inspect

Get full details of one of the signed-in user's bookings by its public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
publicIdYesThe booking's public id.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description's statement of 'get full details' aligns but adds minimal new behavioral context 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, efficient sentence with no waste. Key information is front-loaded and every word is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 annotations. Minor gap: 'full details' is unspecified, but acceptable given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and describes the publicId parameter. The description merely mentions 'by its public id' without adding new meaning or usage details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'Get', resource 'booking', scope 'signed-in user's bookings', and identifier 'public id'. It effectively distinguishes from siblings like 'list_my_bookings' and 'get_booking'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a public id, but does not explicitly state when to use this vs. alternatives like 'get_booking' or provide any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_roomsGet hotel roomsA
Read-only
Inspect

List the bookable rooms for ONE hotel and date range. Each room's supplierRoomId is what you pass to get_checkout_quote / create_checkout. Use the hotel ref from search_hotels or search. Call this to see all of a chosen hotel's rooms, or to refresh availability before checkout.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoThe hotel `ref` from search (e.g. 'tbo:1360717').
roomsNoRooms (default 1).
adultsNoAdults (default 2).
checkInYesCheck-in date, ISO 8601 (YYYY-MM-DD).
checkOutYesCheck-out date, ISO 8601 (YYYY-MM-DD).
childrenNoChildren (default 0).
supplierCodeNoAlternative to `ref`: supplier code.
supplierHotelIdNoAlternative to `ref`: supplier hotel id.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and openWorldHint. Description adds that rooms are 'bookable' and that supplierRoomId is used downstream. No contradiction, adds useful behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose. No redundant words. Each sentence adds distinct value (purpose, downstream usage, when to call).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters and no output schema, description covers key usage: how to get ref, what output is used for, when to call. Schema handles parameter details, so overall complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so schema describes parameters. Description adds specific context for the 'ref' parameter (source from search) and the output usage of supplierRoomId. Provides value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and the resource 'bookable rooms for ONE hotel and date range'. It distinguishes from sibling tools like search_hotels and get_checkout_quote by specifying the scope and downstream use of supplierRoomId.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides when to use: after choosing a hotel (using ref from search_hotels or search) and before checkout. Mentions alternatives (get_checkout_quote, create_checkout). Lacks explicit when-not-to-use but sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_my_bookingsList my bookingsA
Read-only
Inspect

List the signed-in user's hotel bookings.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1).
limitNoPage size (default 20).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description's main contribution is clarifying the scope (signed-in user). No additional behavioral details like pagination behavior, rate limits, or data freshness are provided beyond what annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is concise and front-loaded with key action and scope. No unnecessary words or information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (only pagination parameters, no output schema, no nested objects), the description is largely complete. It could mention return format or default ordering, but the context signals suggest low complexity makes this acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter (page, limit) already has clear descriptions. The tool description adds no further semantic meaning beyond what the schema provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states 'List the signed-in user's hotel bookings', clearly specifying verb (List), resource (bookings), and scope (signed-in user). This distinguishes it from siblings like get_my_booking (singular) and search_hotels (broader search).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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 vs alternatives like get_my_booking or search_hotels. The description implies usage for listing all bookings of the signed-in user, but does not provide exclusions or when-not-to-use scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_payment_methodsList saved cardsA
Read-only
Inspect

List the signed-in user's saved payment cards (brand, last 4, expiry, default). Use the returned publicId with create_one_click_checkout to pre-select a card.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the tool is safe. Description adds behavioral context: it lists cards specific to the signed-in user and indicates the output includes identifiers for subsequent operations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with clear purpose, then actionable usage guidance. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only list tool, the description fully covers purpose, output content, and next-step usage. No missing information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has zero parameters and 100% coverage. Description adds meaning by explaining the return fields (brand, last 4, expiry, default) and how to use the 'publicId' result, which is not defined in any output schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'List' and resource 'signed-in user's saved payment cards', detailing what fields are included (brand, last 4, expiry, default). It also distinguishes from siblings by explicitly mentioning the use with 'create_one_click_checkout'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly states when to use: to get saved cards for the signed-in user. Provides explicit follow-up action: use the returned 'publicId' with 'create_one_click_checkout'. No alternative usage implied but strong guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tripsList saved tripsA
Read-only
Inspect

List the signed-in user's saved trips (itineraries).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as readOnlyHint=true, so the safety profile is clear. The description adds the behavioral context of scoping to 'signed-in user', but does not disclose any other traits (e.g., pagination, ordering, or response format).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the verb and resource. Every word earns its place with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and a readOnly hint, the description is sufficiently complete. It identifies the user scope and the resource type, and no output schema is needed for a list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and schema coverage is 100%, so there is no parameter information needed. The description correctly adds no redundant details, achieving the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'signed-in user's saved trips', with the parenthetical '(itineraries)' adding specificity. It distinguishes from sibling tools like 'save_trip' (creation) and 'add_trip_item' (modification).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage is to retrieve saved trips for the signed-in user, but lacks explicit guidance on when to use this over siblings like 'list_my_bookings' or 'search'. No when-not or alternative suggestions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

modify_bookingModify bookingA
Destructive
Inspect

Change one of the signed-in user's bookings. Requires the 6-digit verificationCode from request_booking_action_code. Special-request edits always apply. A DATE change is pushed to the hotel supplier as a cancel-and-rebook at current availability, so it only works for suppliers that support amendment — for others (and when no room is available for the new dates) it returns an error asking you to cancel and rebook instead. A date change can shift the price and issue a new confirmation; the result's supplierModifyStatus says whether the supplier reservation was actually changed (modified), simulated (simulated), or the edit stayed local (local_only, e.g. special requests only). Never promise a date change went through unless supplierModifyStatus is modified or simulated.

ParametersJSON Schema
NameRequiredDescriptionDefault
checkInNoNew check-in date, ISO 8601 (optional).
checkOutNoNew check-out date, ISO 8601 (optional).
publicIdYesThe booking's public id.
specialRequestsNoNew special requests (≤2000 chars, optional).
verificationCodeYes6-digit code from `request_booking_action_code`.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations marking destructiveHint=true, the description discloses critical behaviors: verification code requirement, special request application, date change mechanics (cancel-and-rebook), and the supplierModifyStatus field, warning against false promises.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph with front-loaded purpose and efficient sentences. It is slightly longer but every sentence adds value, making it appropriate for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description covers the result's supplierModifyStatus and date change behavior, providing sufficient context for a mutation tool with 5 parameters. Minor gap: no mention of other error cases, but acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3), but the description adds meaning by linking verificationCode to request_booking_action_code, explaining date change behavior for checkIn/checkOut, and clarifying specialRequests always apply.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool modifies a signed-in user's booking, using a specific verb and resource. It distinguishes from siblings like cancel_booking by defining its scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance, including when to cancel and rebook instead (for date changes on unsupported suppliers), and notes that special requests always apply, giving clear context for choosing this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_booking_action_codeRequest booking action codeA
Idempotent
Inspect

Email a 6-digit verification code to the booking owner, required before cancelling or modifying a booking. Step 1 of 2 — then call cancel_booking/modify_booking with the code.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesWhich action the code authorizes.
publicIdYesThe booking's public id.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond annotations: it sends an email with a 6-digit code, and it's a prerequisite step. No contradiction with idempotentHint=true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with purpose, no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is clear about purpose and next steps, but lacks explicit detail about the tool's return value (no output schema). However, the step-by-step guidance compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description does not add extra meaning beyond what the schema provides for the two parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it emails a verification code required before cancelling or modifying a booking, using specific verbs and distinguishing from siblings by positioning it as step 1 of a 2-step process.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (before cancelling/modifying) and provides exact next steps, naming the sibling tools to call with the code.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_tripSave a tripAInspect

Create a new saved trip (itinerary) for the signed-in user.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTrip title (1-255 chars).
budgetNoOptional total budget.
endDateYesTrip end, ISO 8601 (YYYY-MM-DD).
startDateYesTrip start, ISO 8601 (YYYY-MM-DD).
descriptionNoOptional notes (≤4000 chars).
budgetCurrencyNoISO 4217 currency for the budget (e.g. 'USD').
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate it is a write operation (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds that it operates on behalf of the signed-in user, but lacks details on authentication requirements, side effects, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that directly states the tool's purpose without unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the basic purpose but does not explain the return value (no output schema), validation rules (e.g., date order), or required permissions. Given the complexity of 6 parameters, more context would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents all parameters with descriptions. The description does not add any additional parameter-level information beyond what is in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create'), the resource ('new saved trip (itinerary)'), and the target ('signed-in user'), distinguishing it from sibling tools like list_trips and add_trip_item.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as add_trip_item or create_checkout. The description omits context about prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_hotelsSearch hotelsA
Read-only
Inspect

Search live hotel availability for a destination and date range. Returns a price-sorted list of hotels (JSON in the text), each with a ref and its cheapest bookable room's supplierRoomId. To book: pass a room's supplierRoomId + the hotel ref to get_checkout_quote then create_checkout. For a hotel's other rooms (or a hotel not in the list), call get_rooms. Narrow with keywords (a hotel name, area, or amenities).

ParametersJSON Schema
NameRequiredDescriptionDefault
roomsNoRooms (1-6). Default 1.
adultsNoAdults (1-10). Default 2.
checkInYesCheck-in date, ISO 8601 (YYYY-MM-DD).
checkOutYesCheck-out date, ISO 8601 (YYYY-MM-DD). Must be after check-in.
childrenNoChildren (0-6). Default 0.
keywordsNoOptional free-text preferences, e.g. 'beachfront pool spa'.
destinationYesCity, region, or place to search (e.g. 'Paris', 'Goa', 'Lower Manhattan').
childrenAgesNoAge of each child at check-in. Length should equal `children`.
guestNationalityNoISO 3166-1 alpha-2 guest nationality (e.g. 'US', 'GB'). Affects supplier pricing.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint and openWorldHint. The description adds behavioral context: returns live availability, price-sorted list, and JSON structure. It does not contradict annotations and explains the result format well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two well-structured sentences. The first states the purpose and output, the second explains narrowing and booking flow. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Handles 9 parameters adequately. No output schema, but description specifies what is returned (list with ref and supplierRoomId). Links appropriately to sibling tools for further actions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds context for 'keywords' and mentions destination/date range, but does not elaborate on each parameter beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search live hotel availability for a destination and date range.' It specifies the return format (price-sorted list with ref and supplierRoomId) and distinguishes from siblings like get_rooms and get_checkout_quote.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance (narrow with keywords) and when-not-to-use alternatives (for other rooms or hotels not in list, use get_rooms). Also outlines the booking workflow involving get_checkout_quote and create_checkout.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources