aviasales-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AVIASALES_API_TOKEN | Yes | Travelpayouts / Aviasales Data API token |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_flightsA | Search flight prices between two cities on a date or across a month. Use when the user names both ends of a route and wants fares, a booking
link, or only departures inside a time window. For the cheapest day in a
month use Both codes must be IATA — call Note on passengers: the price data comes from a cache of recent searches and is always PER ADULT in economy. The adults/children/infants/trip_class parameters are encoded into each ticket's booking_link, so the link opens Aviasales with the full party pre-filled and shows the real total price. Durations: each ticket reports duration_total (full door-to-door travel time), duration_to/duration_back (pure flight time per direction) and layover_minutes (combined ground time between connecting flights; 0 for direct flights). All values are in minutes. |
| get_prices_calendarA | 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 Prices are per adult (cached); passenger parameters are encoded into each booking_link. |
| get_flexible_date_pricesA | Compare prices for the days around a departure and an optional return. Use when the user already has dates and asks whether shifting a day either
way would be cheaper. For one exact date use |
| get_latest_pricesA | Get the most recently found flight prices from other travellers' searches. Use when the user wants the latest fares that just appeared, on one route
or across the whole cache. For a specific trip on chosen dates use
These rows come from the older v2 shape: they name the selling |
| get_popular_directionsA | List the cities people most often fly to a destination from, with a fare. Use when the user asks where travellers reach a city from and what that
costs. The request is keyed on the destination. For where someone can fly
from a city use |
| get_city_directionsA | List the cheapest destinations reachable from a city, with a fare and dates. Use when the user asks where they can fly from a city, or wants somewhere
cheap without naming a destination. For who flies into a city use
|
| get_alternative_directionsA | Get prices for nearby airports and cities around a chosen route. Use when the traveller can fly from or into a different airport and wants
those fares. To learn which airports are near a place, use
|
| search_by_price_rangeA | Find flights whose cached fare falls inside a minimum and maximum price. Use when the user has a budget, including anywhere under a price with no
destination named. Leave There is deliberately no date argument: this endpoint ignores one (verified —
passing a December date returns the same July and September fares), and each
result carries its own |
| lookup_airlinesA | Look up airlines by name or IATA code. Use when the user asks which airline a code belongs to, or wants the IATA
code for an airline name. For an airport, city, or country code use
|
| lookup_airportsA | Look up airports by name, IATA code, or city code. Use when the user names an airport or a code and needs its city, country,
or coordinates. For the closest airport to a town that does not share the
airport's name, use The full dataset is ~10k airports, so always pass |
| lookup_citiesA | Look up cities by name or IATA code and return the code flight tools expect. Use when the user names a city and a flight search needs its IATA code.
For an airport code use Every flight tool takes IATA codes, so this is usually the first call when
the user names a place. The full dataset is ~9.6k cities, so always pass
|
| lookup_countriesA | Look up countries by name or two-letter country code. Use when the user asks which country a code belongs to, or wants that
country's code or currency. For a city or airport code use |
| find_nearest_airportsA | Find the airports closest to a place name or to a latitude and longitude. Use when the user asks which airport to fly into for a town, a resort, or
a point on the map. Pass either |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
The price-search tools (search_flights, get_prices_calendar, get_flexible_date_prices, search_by_price_range, get_latest_prices) overlap conceptually, but each description explicitly states its trigger and points to sibling tools, which largely removes misselection risk. The direction trio (get_popular_directions vs get_city_directions vs get_alternative_directions) is the closest to confusing, yet descriptions clarify inbound vs outbound vs nearby-airport semantics.
All names are snake_case verb_noun and highly readable, with consistent get_/lookup_/search_/find_ prefixes. Minor deviation: retrieval verbs vary (lookup_cities vs find_nearest_airports vs get_popular_directions) for lookups that return lists, but the pattern stays predictable.
13 tools is squarely in the well-scoped range and each earns its place: four lookup/resolution tools, one core search, four price-variation tools, and four direction/alternative tools. No redundant or filler tools are present.
The read-only flight-price discovery domain is well covered end to end: code resolution, nearest-airport resolution, route search, calendar/flexible/range pricing, latest fares, and directional discovery. Minor gap is absence of a tool to fetch a specific offer's details (e.g. baggage/flight number), though booking links are provided as a workaround.