A side-by-side look at the Aviasales Flight Prices and Voyagier MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Aviasales Flight Prices for travel & transportation work as a local process; choose Voyagier for travel & transportation as a local process. You can also run both side by side in one mcpServers block.
AVIASALES_API_TOKEN, AVIASALES_MARKET.search_flights, get_prices_calendar, get_flexible_date_prices.VOYAGIER_TOKEN.doctor, clients_list, client_create.Rows where the two servers differ are marked.
| Spec | A Aviasales Flight Prices | |
|---|---|---|
| Category | Travel & Transportation | Travel & Transportation |
| Quality signal | 56/100 · Good | 57/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | API key required | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | AVIASALES_API_TOKENAVIASALES_MARKET | VOYAGIER_TOKEN |
| Verified owner | Community listing | Community listing |
| GitHub stars | 14 | 1 |
| Directory activity | 0 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 13 | 21 |
| Full listing | View Aviasales Flight Prices | View Voyagier |
search_flightsPrices between two cities on a date or across a month (v3/prices_for_dates)get_prices_calendarPrices grouped by day or month — the cheapest day to flyget_flexible_date_pricesPrices for the days around your dates — "would shifting a day be cheaper?"get_latest_pricesMost recently found fares, optionally filtered by routeget_popular_directionsWhere travellers reach a destination **fromget_city_directionsCheapest destinations reachable **from** a city — inspiration searchget_alternative_directionsPrices for nearby airports/citiessearch_by_price_rangeFlights inside a budget; omit the destination to search anywhere (no date filter — the endpoint ignores one)lookup_airlinesAirlines by name or IATA codelookup_airportsAirports by name, IATA code, or city codelookup_citiesCities by name or IATA code — turn a city name into a codelookup_countriesCountries by name or codedoctorHealth check: auth, schema, state, version.clients_listRoster of CRM clients; `page`/`limit` page through it.client_createIdempotent by email; a plan needs a client.plans_listOwned + shared plans in one list, each tagged `relationship` `owner`/`shared`; the plan-discovery entry point. `relationship`/`active`/`page`/`limit` filter and page it.search_destinationsFreeform text → ranked structured destinations; run before `plan_trip`.plan_tripScaffold a plan + goal graph from a `template`; returns `nextSteps`. `travel_destination_id` (from `search_destinations`) is preferred over the freeform `destination`.travellers_addAdds the whole party in one call; required before search.search_flightsAsync — `optionCount 0` means poll options.search_hotelsPrices are stay totals, not nightly.search_activitiesBookable per slot.get_selection_optionswait` (default true) polls the async fetch to completion.refresh_optionsRe-fetch a selection's options; `force` after a fetch error.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"aviasales-flight-prices": {
"command": "uvx",
"args": [
"aviasales-mcp"
],
"env": {
"AVIASALES_API_TOKEN": "YOUR_AVIASALES_API_TOKEN_HERE",
"AVIASALES_MARKET": "YOUR_AVIASALES_MARKET_HERE"
}
}
}
}
{
"mcpServers": {
"voyagier": {
"command": "npx",
"args": [
"-y",
"@voyagier/cli"
],
"env": {
"VOYAGIER_TOKEN": "YOUR_VOYAGIER_TOKEN_HERE"
}
}
}
}