Skip to main content
Glama

Price for a specific hotel (live cache)

charter_hotel
Read-onlyIdempotent

Cached price(s) for ONE hotel named by the user (e.g. "Granada Luxury Belek") — searches the full price cache (hundreds of hotels). ALWAYS pass the date and the party the user gave: the per-date cache is read for that EXACT party first (party_match=true = real total for that family), then the 2-adult file (party_match=false = reference price). exact_date_matches = real cached prices for the requested date; other_cached_offers belong to their OWN dates (availability_status=reference_other_date). When nothing is cached for the requested date, say so and give hotel_page (it prices any date live). Do NOT call this tool repeatedly to browse — use charter_offers (filters) or compare_hotels (2-6 named hotels) instead. For amenities use hotel_details. CACHED prices (from recent real searches on flytravel.al — not a live query; every row carries cached_at/age_minutes). Charter prices are PACKAGE TOTALS in EUR for the row's "party" (flight + hotel + transfers), NOT per person. party_match=false means the price is the 2-adult reference, not the total for the requested party — say so. A price belongs ONLY to its own "date": never present it as the price of another date.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoDesired departure date, format YYYY-MM-DD — exact-date cache is checked and the date is baked into the links.
hotelYesHotel name, or part of it.
adultsNoNumber of adults (default 2).
nightsNoTrip length in nights. Omit for the standard charter length (6 nights / 7 days). Most departures also sell 3-10 nights.
destinationNoOptional destination key ('antalya', 'bodrum') to narrow the search.
children_agesNoAge of each child AT DEPARTURE (0-14 = child; 15+ is counted as an adult automatically).

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only indicate read-only and idempotent behavior, but the description adds major behavioral nuance: the data is cached, not live; party_match semantics; exact_date_matches vs other_cached_offers; that prices are package totals in EUR, not per-person; and that a price belongs only to its own date. This far exceeds what the annotations reveal and prevents common misinterpretations.

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 dense and packed with necessary caveats, all of which earn their place. It could be better organized with bullet points, and there is minor repetition of the not-live/cached concept, but it remains well-structured with front-loaded scope and clear separators between key ideas.

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?

With no output schema, the description supplies the crucial output semantics: exact_date_matches, other_cached_offers, availability_status=reference_other_date, party_match flags, cached_at/age_minutes, and the hotel_page fallback. It also covers edge cases (no cached date, wrong party, wrong date) so an agent can correctly interpret and present results in every scenario.

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 instructing the agent to always pass the date and party given by the user, explaining that the exact party's cache is read first, and clarifying the 2-adult reference fallback. This behavioral mapping goes beyond the schema's per-field descriptions, though it is somewhat redundant with them.

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 states a specific verb and scope: it returns cached prices for ONE named hotel, and gives an example hotel name. It explicitly distinguishes itself from the siblings charter_offers (filters), compare_hotels (2-6 named hotels), and hotel_details (amenities), so an agent can immediately differentiate it.

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 gives explicit when-to-use guidance: call it when the user names one specific hotel, and do NOT call it repeatedly for browsing — instead use charter_offers or compare_hotels. It also prescribes a specific fallback behavior when nothing is cached: say so and provide hotel_page, which leaves no ambiguity.

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.4/5.0
Disambiguation4/5

Most tools have clearly distinct roles, and the charter_* family is carefully delineated (cheapest by destination, cheapest by date window, filtered discovery, single hotel, comparison). There is still some surface-level overlap between charter_cheapest, charter_flexible_dates, and charter_offers, though the descriptions do enough to prevent major misselection.

Naming Consistency4/5

The naming is generally consistent and readable: charter_* tools share a strong prefix, and hotel_details/compare_hotels/tours_list/tour_details follow predictable noun-based patterns. Minor deviations like booking_link (verb+noun) and prices_digest (noun+noun) do not create real confusion.

Tool Count5/5

Twelve tools is well within the ideal range for a travel-domain server, and each tool covers a distinct query pattern: discovery, cheapest pricing, flexible dates, specific hotels, comparisons, static details, tours, and booking links. The count feels justified rather than padded.

Completeness4/5

The surface covers the main user journey well: find charters, filter by budget/features, compare hotels, get hotel details, check tours, and obtain booking links. Minor gaps exist, such as no non-charter package filtering by date/budget and no standalone flight/transfer search, but agents can still complete realistic travel-planning tasks.

Resources