MCP Server

Fly Where To?

com.flywhereto/mcp
Maps & Location Travel & Hospitality Public & reachable MCP 2025-11-25

What this MCP does

Provides worldwide airport, airline, nonstop-route, connection, reachability, and meetup-airport information.

airline_routes
Route network of an airline
The full network one airline flies: every origin with its nonstop destinations, as IATA codes. Look up by IATA airline code ("TK") or name fragment ("turkish"). Ambiguous queries return a candidate list to refine from.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['airline'], 'properties': {'airline': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': 'Airline IATA code ("TK", "W6") or part of the airline name ("turkish")'}}}
destinations_from
Nonstop destinations from an airport
All airports reachable nonstop from a given origin, with the service kinds (scheduled, seasonal, charter, suspended, ...) per destination. Optionally filter by kind and include the operating airlines. Seasonal and charter service carries no operating dates; treat as unverified for specific travel dates.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['origin'], 'properties': {'kind': {'enum': ['scheduled', 'seasonal', 'charter', 'suspended', 'begins', 'ends', 'resumes', 'terminates'], 'type': 'string', 'description': 'Only destinations with at least one route of this service kind'}, 'origin': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'description': 'Three-letter IATA airport code, e.g. "IST"'}, 'include_airlines': {'type': 'boolean', 'description': 'Also list the operating airlines per destination (larger response)'}}}
find_airport
Find airport
Look up airports by IATA/ICAO code or by name fragment. Returns code, name, country, coordinates and how many nonstop destinations each serves. Use this first when you only have a city or airport name.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': 'IATA code ("IST"), ICAO code ("LTFM") or part of an airport name ("istanbul")'}}}
find_connections
Find connections between airports
Multi-stop itineraries from an origin airport to either a destination airport or to any airport in a country. Returns airport paths with every airline flying each leg. Airline entries carry their alliance and, when service is not plain scheduled, a kind field (seasonal, charter or suspended). Suspended legs are included and flagged, not excluded; pass exclude_kinds to drop them. Seasonal and charter service carries no operating dates and there is no frequency or days-of-week data, so treat every match as unverified for specific travel dates. Provide exactly one of destination or to_country. Responses include book deep links to Kiwi.com search results (our referral id included); without depart_date the link defaults to a one-way search two weeks out.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['origin'], 'properties': {'origin': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'description': 'Three-letter IATA airport code, e.g. "IST"'}, 'max_stops': {'type': 'integer', 'maximum': 3, 'minimum': 0, 'description': 'Maximum intermediate stops (default 2; country searches cap at 2)'}, 'to_country': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'description': 'ISO 3166-1 alpha-2 country code goal, e.g. "CR" for Costa Rica'}, 'depart_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Departure date for the book links'}, 'destination': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'description': 'Three-letter IATA airport code, e.g. "IST"'}, 'return_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Return date for the book links (round trip)'}, 'same_airline': {'type': 'boolean', 'description': 'Require one single airline to operate every leg'}, 'exclude_kinds': {'type': 'array', 'items': {'enum': ['scheduled', 'seasonal', 'charter', 'suspended'], 'type': 'string'}, 'description': 'Drop legs whose service kind is in this list, e.g. ["suspended"] or ["suspended","charter"] for currently bookable routes only'}}}
find_meetup
Find meet-up airports
Best meet-up airports for travellers from multiple origins, ranked by combined travel effort using the same scoring as the site. Origins can be weighted by traveller count. Scores are kilometre values, lower is better; optimize "score" and "total_distance" both rank by weighted total distance (the frontend default), "worst_case" by the longest single journey. Candidates everyone can reach always rank above candidates someone cannot. Route data only: no fares, no frequency or days-of-week data; non-scheduled legs are flagged with a kind field. The map link stores the query as an anonymous share code and reopens it in the site’s meet-up planner. Each reachable party carries a book deep link for its own journey to the candidate. Responses include book deep links to Kiwi.com search results (our referral id included); without depart_date the link defaults to a one-way search two weeks out.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['origins'], 'properties': {'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Candidates to return (default 5)'}, 'origins': {'type': 'array', 'items': {'type': 'object', 'required': ['airport'], 'properties': {'airport': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'description': 'Three-letter IATA airport code, e.g. "IST"'}, 'travellers': {'type': 'integer', 'maximum': 99, 'minimum': 1, 'description': 'Traveller count from this origin, weights the ranking (default 1)'}}}, 'maxItems': 10, 'minItems': 2, 'description': 'Where the travellers start; duplicates merge by summing travellers'}, 'optimize': {'enum': ['score', 'total_distance', 'worst_case'], 'type': 'string', 'description': 'Ranking objective (default "score")'}, 'max_stops': {'type': 'integer', 'maximum': 2, 'minimum': 0, 'description': 'Maximum stops per journey (default 0, nonstop only)'}, 'depart_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Departure date for the book links'}, 'return_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Return date for the book links (round trip)'}, 'allow_at_home': {'type': 'boolean', 'description': 'Allow an origin airport as the meet-up point, that party stays home'}, 'exclude_kinds': {'type': 'array', 'items': {'enum': ['scheduled', 'seasonal', 'charter', 'suspended'], 'type': 'string'}, 'description': 'Drop legs whose service kind is in this list, e.g. ["suspended"]'}, 'same_alliance': {'type': 'boolean', 'description': 'Require each journey to be flyable within one single airline alliance'}}}
most_connected_airports
Most connected airports
Airports ranked by number of nonstop destinations served, worldwide or within one country.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'How many airports to return (default 10)'}, 'country': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'description': 'Restrict to one ISO 3166-1 alpha-2 country code, e.g. "SE"'}}}
reachable_from
Airports reachable from an origin
How far the network stretches from one airport within a stop budget: totals, breakdown by stop count and by country. Pass country to list the individual reachable airports there with their minimum stops.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['origin'], 'properties': {'origin': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'description': 'Three-letter IATA airport code, e.g. "IST"'}, 'country': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'description': 'List the reachable airports in this ISO 3166-1 alpha-2 country'}, 'max_stops': {'type': 'integer', 'maximum': 3, 'minimum': 0, 'description': 'Maximum intermediate stops (default 1; 0 = nonstop only)'}}}
route_details
Route details between two airports
Which airlines fly nonstop between two airports, with alliance, homepage and the service periods of each. Only periods of kind begins, ends or resumes ever carry dates; scheduled, seasonal and charter periods have none, so seasonal service is unverified for specific travel dates. Responses include book deep links to Kiwi.com search results (our referral id included); without depart_date the link defaults to a one-way search two weeks out.
Read only
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['origin', 'destination'], 'properties': {'origin': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'description': 'Three-letter IATA airport code, e.g. "IST"'}, 'depart_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Departure date for the book link'}, 'destination': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'description': 'Three-letter IATA airport code, e.g. "IST"'}, 'return_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Return date for the book link (round trip)'}}}
Added
find_meetup
Sept. 17, 2026, 12:34 p.m.
Added
airline_routes
Sept. 17, 2026, 12:34 p.m.
Added
reachable_from
Sept. 17, 2026, 12:34 p.m.
Added
find_connections
Sept. 17, 2026, 12:34 p.m.
Added
most_connected_airports
Sept. 17, 2026, 12:34 p.m.
Added
route_details
Sept. 17, 2026, 12:34 p.m.
Added
destinations_from
Sept. 17, 2026, 12:34 p.m.
Added
find_airport
Sept. 17, 2026, 12:34 p.m.