Skip to main content
Glama

List today's hotel deals

list_hotel_deals
Read-only

List today's biggest observed hotel discounts: Agoda's live rate for a 1-night stay about two weeks ahead (2 adults, USD) compared with Agoda's own listed rate for the same room; only discounts of 5% or more are kept. Without arguments, returns the single best deal per city across major cities worldwide, biggest discount first. With city (a city name in Korean, Japanese, Chinese or English) or city_id, returns the current deals for that city (up to 6; an uncached city is fetched live at most once per 6 hours). Each deal includes booking_url, the Agoda page for that hotel and stay.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoOptional city, region or airport name, e.g. "Tokyo", "도쿄", "東京". Omit for the worldwide list.
limitNoMax deals to return (default 20).
city_idNoCatalog city id from a previous search_hotels or list_hotel_deals result. Overrides city.

TDQS

A4.7/5.0
Behavior5/5

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

With readOnlyHint and openWorldHint already set, the description goes further: only discounts >=5% are kept, uncached cities are fetched live at most once per 6 hours, no-arg calls return one best per city, and a city call caps at 6 results. 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.

Conciseness5/5

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

Three sentences pack the core purpose, filtering rule, argument-dependent behavior, caching, and a return-field note. It is dense but front-loaded with the most important verb+resource, and no sentence is filler.

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 three optional params, the schema descriptions, and the safety annotations, the description covers input modes, defaults and limiting, caching, and at least the key return field (booking_url). With no output schema, a fuller field-by-field return list would be nice, but nothing needed to invoke the tool correctly is missing.

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 the baseline is 3; the description adds value by specifying the no-argument world list behavior, the up-to-6 cap for city calls, the live-fetch/caching rule, and booking_url in results. It doesn't need to restate 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 opens with a specific verb and resource ('List today's biggest observed hotel discounts') and immediately fixes the comparison method (Agoda live rate vs Agoda's own listed rate, 5% threshold). This is enough to distinguish it from siblings like search_hotels or list_tracked_hotels, even without naming them.

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?

It gives clear invocation context: omit arguments for the worldwide one-best-per-city list, pass city or city_id for up to 6 current deals, and city_id overrides city. It doesn't explicitly name sibling alternatives or state when not to use the tool, so it isn't a perfect 5, but the conditions are unambiguous.

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.

TDQS

A4.5/5.0
Disambiguation5/5

Each tool has a distinct role: search_hotels finds hotels, track_hotel_price starts tracking, list_tracked_hotels shows active trackings, get_price_history details one tracking, and list_hotel_deals surfaces discounts. There is no meaningful overlap or ambiguity.

Naming Consistency5/5

All tool names follow the same imperative verb + noun pattern with snake_case: get_price_history, list_hotel_deals, list_tracked_hotels, search_hotels, track_hotel_price. The naming is predictable and consistent.

Tool Count5/5

Five tools is well-scoped for a hotel price tracker: hotel discovery, tracking creation, tracking listing, price history retrieval, and deal browsing. Each tool earns its place without redundancy.

Completeness4/5

The core workflow is well covered: search, track, list, and inspect history, plus a deals view. The main gap is the lack of an explicit way to stop/delete a tracking or update tracking parameters, though this may be intentionally unsupported for anonymous public trackings.

Resources