Skip to main content
Glama

Search flights

search_flights
Read-only

Search one-way or round-trip flight prices between two IATA airport codes. Returns only itineraries with a preferred booking link and includes a top-level booking_url for each itinerary.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
adultsNoNumber of adult passengers traveling.
marketNo2-letter market or country code affecting pricing and results.US
originYesOrigin airport or metro IATA code.
childrenNoNumber of child passengers traveling.
max_priceNoMaximum price in the selected market currency for flight results.
max_stopsNoMaximum number of stops allowed in the flight itinerary.
cabin_classNoPreferred cabin class: economy, premium_economy, business, or first.economy
destinationYesDestination airport or metro IATA code.
max_resultsNoMaximum number of flight results to return.
return_dateNoOptional return date in YYYY-MM-DD format for round-trip flights.
departure_dateYesDeparture date in YYYY-MM-DD format.
infants_on_lapNoNumber of infants traveling on an adult's lap.
infants_in_seatNoNumber of infants traveling with their own seat.
airlines_excludeNoAirline codes to specifically exclude from search results.
airlines_includeNoAirline codes to specifically include in search results.
allow_self_transferNoWhether to include self-transfer flight options (true or false).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
originYesOrigin airport details for flight search.
destinationYesDestination airport details for flight search.
itinerariesYesList of flight itineraries.
return_dateNoScheduled return date for round-trip flights (YYYY-MM-DD).
departure_dateYesScheduled departure date (YYYY-MM-DD).

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds meaningful behavioral context by stating that only itineraries with a preferred booking link are returned and that a top-level booking_url is included. This goes beyond the annotations and helps set expectations.

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?

The description is two sentences with no filler. The primary action and resource are front-loaded, and the result-filtering caveat is stated concisely. 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?

Given the 16-parameter schema, full schema coverage, output schema, and annotations, the description does not need to explain every field. It provides the key behavioral caveat about booking links and top-level booking_url. A brief mention of when round-trip requires return_date would have been marginally useful, but the schema covers that.

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 the parameter schema fully documents each argument. The tool description does not need to repeat parameter details; the baseline of 3 is appropriate because the schema carries the semantic load and the description adds no additional parameter-level meaning.

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 ('Search'), a clear resource ('flight prices'), and explicit scope ('one-way or round-trip', 'between two IATA airport codes'). It clearly differentiates this tool from the sibling search_airports since it addresses flights rather than airport data.

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 makes the usage context clear by specifying the search type, route format, and result filtering. It does not explicitly mention alternatives or when-not-to-use conditions, but the resource distinction from search_airports is implicit and sufficient for basic selection.

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.3/5.0
Disambiguation5/5

The two tools have entirely distinct purposes: one searches for airports and the other searches for flights. There is no overlap or ambiguity.

Naming Consistency5/5

Both tools follow a consistent 'search_' prefix pattern with a clear noun, making naming predictable and easy to understand.

Tool Count3/5

With only two tools, the server feels minimal for its stated purpose of flight searching. While it covers the essential operations, the small count is borderline for a travel-related server.

Completeness4/5

The server covers the core search functionality and provides booking links, but lacks additional flight management features like booking confirmation or cancellation, which are minor gaps.