Skip to main content
Glama

search_hotels

Read-onlyIdempotent

Compare hotel prices and availability across Agoda, Booking.com, and Hotels.com in parallel, retrieving live rates, room details, reviews, and booking links.

Instructions

Search hotels across Agoda, Booking.com, and Hotels.com in parallel.

Retrieves live property rates, room categories, review scores, discounts, and booking links. Preserves rich platform-specific data such as room sizes (m²/ft²), crossed-out original prices, included perks (free cancellation, breakfast), and star ratings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum hotel results per provider. Default: 10.
queryYesDestination city, neighborhood, or hotel name (e.g. 'Myeongdong Seoul', 'Shinjuku Tokyo').
roomsNoNumber of required rooms. Default: 1.
adultsNoNumber of adult guests. Default: 2.
check_inYesCheck-in date in YYYY-MM-DD format (e.g. '2026-10-02').
childrenNoNumber of children guests. Default: 0.
providerNo'all' (queries all providers simultaneously) or specific ('agoda', 'booking.com', 'hotels.com'). Default: 'all'.all
check_outYesCheck-out date in YYYY-MM-DD format (e.g. '2026-10-06').
logged_inNoTrue to use browser member session cookies (VIP/Genius/OneKey rates) or False for public guest rates. Default: True.
max_priceNoMaximum nightly price in USD filter. Default: None.
min_priceNoMinimum nightly price in USD filter. Default: None.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

The annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=true, so the safety/retry profile is covered. The description adds value on top by disclosing that rates are 'live' (real-time, subject to change) and by describing the preserved platform-specific data (room sizes, crossed-out prices, perks, star ratings). It does not contradict the annotations — 'Search'/'Retrieves' align with readOnly and idempotent. Minor gap: pagination/overlap across providers is unaddressed, but the annotation stack lowers the bar.

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 tightly written sentences with no filler. The primary action and scope are front-loaded in sentence one, the retrieved data in sentence two, and the platform-specific richness in sentence three. Every sentence 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?

A complex tool with 11 parameters, all schema-documented, plus an output schema that removes the need to explain return values. The description still covers purpose, scope (three providers), and data richness. The only incremental gap is not pointing to follow-on tools (get_property_details, get_room_grid) for deeper inspection, but that is not required for correct invocation.

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 all 11 parameters are already documented (limit, query, rooms, adults, check_in, children, provider, check_out, logged_in, max_price, min_price). The description adds no parameter-level detail beyond the schema; it only enriches the expected output (room sizes, crossed-out prices, perks). With full schema coverage, the baseline 3 applies.

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 opens with a specific verb and resource — 'Search hotels across Agoda, Booking.com, and Hotels.com in parallel' — and clearly scopes the tool as a multi-provider discovery search. This distinguishes it from siblings like compare_hotel_prices, get_room_grid, and get_property_details, which handle side-by-side comparison and per-property detail, leaving no ambiguity about what this tool is for.

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 first sentence implies this is the discovery/search entry point and the 'live rates... booking links' phrasing suggests a pre-detail stage. However, it never explicitly states when to use this versus siblings such as compare_hotel_prices or the follow-on tools get_property_details/get_room_grid, nor gives exclusions. Usage context 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.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Skyline-9/hotels-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server