Skip to main content
Glama

get_prices_calendar

Read-onlyIdempotent

Compare fares by day or month for a known route to identify low-cost travel dates, one fare per day or month. Use it before booking to see which travel dates cost less.

Instructions

Get grouped calendar prices for a route, one fare per day or per month.

Use when the user asks which day or month is cheapest to fly a known route. For fares on one specific date use search_flights; for a few days either side of dates already chosen use get_flexible_date_prices. Codes are IATA; use lookup_cities to resolve a name first.

Prices are per adult (cached); passenger parameters are encoded into each booking_link.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
adultsNoNumber of adult passengers, 1-9 (default 1).
marketNo2-letter market whose price cache to read (e.g. "us", "ru"). Defaults to the server's configured market.
originYesOrigin IATA code.
infantsNoNumber of infants under 2, 0-8 (default 0). Cannot exceed the number of adults; the excess is trimmed.
childrenNoNumber of children 2-11 years, 0-8 (default 0). Adults plus children cannot exceed 9; the excess is trimmed.
currencyNoPrice currency (3 letters). Defaults to the server's currency.
group_byNoGroup results by "departure_at" or "month" (default "departure_at").departure_at
return_atNoReturn month (YYYY-MM). Optional.
trip_classNo"economy", "comfort", "business" or "first" (default "economy").economy
destinationYesDestination IATA code.
departure_atNoDeparture month (YYYY-MM). Optional.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.3

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: prices are cached, quoted per adult, and passenger counts are encoded into the booking_link rather than affecting the returned fare. It stops short of describing coverage limits or freshness of the cache, so it is not a 5.

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 short blocks: what it returns, when to use it versus siblings, and pricing/param caveats. The routing rules are front-loaded before the caveats, and no sentence is redundant.

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?

With an output schema present and rich annotations, the description does not need to explain return values, and it covers usage, code semantics, and pricing basis. The only mild gap is the absence of any note on cache staleness or result scope given the market parameter selects a cache.

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 baseline is 3. The description goes one step further by telling the agent that the location fields are IATA codes and that lookup_cities must be used to resolve plain names first, plus clarifying that passenger parameters are baked into booking_link rather than the quoted price — details the schema does not spell out.

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 ("Get grouped calendar prices for a route") and immediately clarifies the granularity of the result ("one fare per day or per month"), which maps directly to the group_by enum. It is clearly distinguishable from siblings like search_flights and get_flexible_date_prices without opening any 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 the exact scenario for this tool ("which day or month is cheapest to fly a known route") and then names two alternatives with the conditions that select them: search_flights for one specific date, get_flexible_date_prices for a few days either side. It also routes to lookup_cities when codes must be resolved from a name.

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