Skip to main content
Glama

PriceWin

Search Hotels Live

search_hotels_live

Starts a live hotel search for a city and date range. Prices come from Agoda, Booking.com and Traveloka, plus direct rates from OpenTravel partner hotels. Returns a session ID; poll_search_results returns the results as they arrive. Optional filters narrow the results by hotel name, area or total price for the stay. Prices depend on the party: it defaults to 2 adults in 1 room, and the result states the party searched and flags when it was defaulted. When the city or dates are missing, the result is a question for the user instead of a search; the stay dates searched are echoed back for confirmation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
areaNoOptional district, ward, or neighborhood filter within the city
cityNoCity or broad destination, e.g. 'Da Nang'. When omitted, the result asks the user for it.
roomsNoNumber of rooms (default 1).
adultsNoNumber of adults (default 2). Prices depend on it.
checkInNoCheck-in date (YYYY-MM-DD), today or later. When omitted, the result asks the user for it.
checkOutNoCheck-out date (YYYY-MM-DD), after checkIn. When omitted, the result asks the user for it.
childrenNoNumber of children sharing the room (default 0). OTA prices cannot include children; the result says so when children are given.
languageNoPreferred UI language (en/vi/de/ja/ko/zh/fr/es/ru/th/id).
priceMaxNoMaximum total price for the whole stay (not per night), in priceCurrency.
priceMinNoMinimum total price for the whole stay (not per night), in priceCurrency.
hotelNameNoOptional hotel-name filter when the user names a specific property
queryTextNoOptional short excerpt of the current request, used only to detect the UI language; it is not stored or forwarded.
priceCurrencyNoISO 4217 code of priceMin/priceMax (USD, EUR, VND, …); defaults to the currency of the UI language.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityYes
tierYes
limitYes
cachedNo
hotelsYes
nightsYes
offsetYes
statusYes
checkInYes
fxRatesYes
hasMoreYes
checkOutYes
languageNo
progressYes
sessionIdNo
agodaStatusYes
totalHotelsYes
bookingStatusYes
longStayNoticeNo
travelokaStatusYes
opentravelStatusYes
tier2AgodaStatusYes
opentravelResultsYes
tier2BookingStatusYes
tier2TravelokaStatusYes
opentravelIndicativeResultsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false and openWorldHint=true. The description adds rich behavioral detail beyond them: an asynchronous session-ID model requiring polling, multi-provider price aggregation (Agoda/Booking.com/Traveloka/direct partner rates), the default party of 2 adults in 1 room with defaulting flagged in the result, and the fallback of returning a question rather than a search when city or dates are missing.

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?

Front-loaded with the core action and kept to a handful of dense sentences; each sentence carries distinct information (purpose, providers, async polling, filters, party defaults, missing-input behavior). Slightly longer than strictly needed but with no filler.

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 13-parameter tool with an output schema, the description covers the essential behavior: the async session/polling model, provider sources, defaulting and its flagging, and edge-case handling for missing city/dates. Return values are delegated to the output schema, which is appropriate, leaving only minor unstated details.

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 description coverage is 100%, so the schema already documents each parameter (baseline 3). The description adds cross-parameter semantics the schema does not: filters narrow by hotel name/area/total price, the party defaults to 2 adults/1 room and defaulting is flagged in the output, and missing city/dates produce a clarifying question — meaningful value above the 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?

States a specific verb and resource ('Starts a live hotel search') with scope ('for a city and date range'), and distinguishes itself from siblings by naming poll_search_results as the companion for results. An agent can identify it as the hotel counterpart to search_flights_live without opening the schema.

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 gives clear workflow context: start a search, then poll_search_results to retrieve arriving results, and states what happens when city/dates are omitted (the result asks the user). It does not explicitly contrast against search_flights_live or get_hotel_detail, so the alternative-selection guidance is implied rather than stated.

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