Skip to main content
Glama
saikandikatta

cheapflights-mcp

Search Flights

search_flights
Read-onlyIdempotent

Search for flights between airports on a specific date, returning prices, durations, and leg details. Supports one-way and round-trip travel with filters for airlines, cabin class, stops, and more.

Instructions

Search for flights between two airports on a specific date.

Returns a list of available flights with prices, durations, and leg details. Supports one-way and round-trip searches with various filtering options.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
originYesDeparture airport IATA code(s), comma-separated for multiple (e.g., 'JFK' or 'JFK,LGA')
destinationYesArrival airport IATA code(s), comma-separated for multiple (e.g., 'LHR' or 'LHR,CDG')
departure_dateYesTravel date in YYYY-MM-DD format
return_dateNoReturn date in YYYY-MM-DD format (omit for one-way)
departure_windowNoDeparture time window in 'HH-HH' 24h format (e.g., '6-20')
airlinesNoFilter by airline IATA codes (e.g., ['BA', 'AA'])
cabin_classNoCabin class: ECONOMY, PREMIUM_ECONOMY, BUSINESS, FIRSTECONOMY
max_stopsNoMaximum stops: ANY, NON_STOP, ONE_STOP, TWO_PLUS_STOPSANY
sort_byNoSort by: TOP_FLIGHTS, BEST, CHEAPEST, DEPARTURE_TIME, ARRIVAL_TIME, DURATION, EMISSIONSCHEAPEST
passengersNoNumber of adult passengers
exclude_basic_economyNoExclude basic economy fares from results
emissionsNoFilter by emissions level: ALL or LESSALL
checked_bagsNoNumber of checked bags to include in price (0, 1, or 2)
carry_onNoInclude carry-on bag fee in displayed price
show_all_resultsNoReturn all available results instead of curated ~30

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint as true, so the description's mention of returning a list of flights is consistent. It adds useful context about return fields (prices, durations, leg details) and trip types (one-way, round-trip), going beyond what annotations provide.

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 three sentences, front-loading the core purpose. Every sentence adds value: the first states the action, the second describes the output, the third notes supported search types and filters. No wasted words.

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 tool complexity (15 parameters, output schema exists, annotations provided), the description sufficiently covers the main purpose and return format. It does not detail the output schema structure, but that is handled by the output schema itself. Minor gaps in pagination or rate limits are acceptable.

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 coverage is 100%, meaning all 15 parameters have descriptions in the schema. The description adds no extra parameter-specific meaning beyond referencing 'various filtering options,' so it meets the baseline without exceeding.

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 clearly states 'Search for flights between two airports on a specific date,' specifying the verb (search), resource (flights), and scope. Sibling tools find_airports and search_dates handle different tasks (airport lookup and date exploration), so this tool is well-distinguished.

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 description does not explicitly state when to use this tool versus alternatives like search_dates. It implies usage for flight search with filtering, but lacks explicit guidance on when not to use or when to consider other tools.

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/saikandikatta/cheapflights-mcp'

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