Skip to main content
Glama

PriceWin

Hotel Detail by Name (one specific hotel)

get_ota_hotel_detail

Full detail (rooms, live prices, facilities, photos, reviews) from Booking.com for one named hotel over a date range, for requests about a single hotel rather than a whole city (search_hotels_live lists a city). The name is resolved through the city's listings, so it takes the hotel name together with its city; a Booking.com URL from an earlier result skips that lookup. OpenTravel direct listings are covered by get_hotel_detail. The fetch is live and takes up to about two minutes; under heavy load it can return not-found.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoCity of the hotel, used to resolve the name, e.g. 'Da Nang'. Required with hotelName.
roomsNoNumber of rooms (default 1)
adultsNoNumber of adults (default 2)
checkInYesCheck-in date YYYY-MM-DD. Must be today or later.
checkOutYesCheck-out date YYYY-MM-DD. Must be after checkIn.
languageNoOptional UI language. Indonesian (id) cannot be detected from text, so for Indonesian this is how the language is set.
hotelNameNoName of the hotel, e.g. 'Mercure Danang French Village Bana Hills'. Required unless propertyUrl is given.
queryTextNoShort excerpt (one sentence at most) of the guest's latest message in their own words, used only to detect the reply language; it is not stored or forwarded. It carries no names, contact details or other parts of the conversation.
propertyUrlNoBooking.com property URL from an earlier result (hotel.prices.booking.url); skips the name lookup.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Beyond the annotations (which only mark openWorldHint=true and destructiveHint=false), the description discloses that the fetch is live, can take about two minutes, and may return not-found under heavy load. That is meaningful operational context. It stops short of covering auth or why readOnlyHint is false, so it is strong but not exhaustive.

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?

Content is front-loaded with what the tool returns and its scope distinction, then resolution mechanics, alternatives, and latency. Every sentence carries information, though the sentence packing several ideas plus the OpenTravel aside is dense enough that it is not maximally tight.

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?

Despite no output schema and nine parameters, the description covers the return payload, the naming/resolution requirement, the URL shortcut, sibling routing, and the latency/failure behavior. An agent has everything needed to call it correctly.

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 baseline is 3, but the description adds relational meaning: the hotel name is resolved through the city's listings (so hotelName and city are used together), and propertyUrl bypasses that lookup. This clarifies parameter interaction beyond the per-field schema text.

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 names a specific verb+resource (fetch full hotel detail for one named hotel over a date range) and enumerates the returned payload (rooms, live prices, facilities, photos, reviews). It explicitly differentiates scope from the sibling 'search_hotels_live' (city-wide) so the agent can route without opening either schema.

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?

It states when to use this tool (requests about a single hotel) and contrasts it against both a sibling for city searches (search_hotels_live) and a sibling for OpenTravel direct listings (get_hotel_detail). It also tells the agent how to skip the name lookup via a Booking.com URL from an earlier result.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources