Worldwide nonstop flight routes from Wikipedia: airports, destinations, connections, airlines.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Airline IATA code ("TK", "W6") or part of the airline name ("turkish")
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.
| Argument | Type | Description |
|---|---|---|
| airline* | string | Airline IATA code ("TK", "W6") or part of the airline name ("turkish") |
{
"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\")"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| kind | string | Only destinations with at least one route of this service kind |
| origin* | string | Three-letter IATA airport code, e.g. "IST" |
| include_airlines | boolean | Also list the operating airlines per destination (larger response) |
{
"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)"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| query* | string | IATA code ("IST"), ICAO code ("LTFM") or part of an airport name ("istanbul") |
{
"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\")"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| origin* | string | Three-letter IATA airport code, e.g. "IST" |
| max_stops | integer | Maximum intermediate stops (default 2; country searches cap at 2) |
| to_country | string | ISO 3166-1 alpha-2 country code goal, e.g. "CR" for Costa Rica |
| depart_date | string | Departure date for the book links |
| destination | string | Three-letter IATA airport code, e.g. "IST" |
| return_date | string | Return date for the book links (round trip) |
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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Candidates to return (default 5) |
| origins* | array | Where the travellers start; duplicates merge by summing travellers |
| optimize | string | Ranking objective (default "score") |
| max_stops | integer | Maximum stops per journey (default 0, nonstop only) |
| depart_date | string | Departure date for the book links |
| return_date | string |
Airports ranked by number of nonstop destinations served, worldwide or within one country.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many airports to return (default 10) |
| country | string | Restrict to one ISO 3166-1 alpha-2 country code, e.g. "SE" |
{
"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\""
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| origin* | string | Three-letter IATA airport code, e.g. "IST" |
| country | string | List the reachable airports in this ISO 3166-1 alpha-2 country |
| max_stops | integer | Maximum intermediate stops (default 1; 0 = nonstop only) |
{
"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)"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| origin* | string | Three-letter IATA airport code, e.g. "IST" |
| depart_date | string | Departure date for the book link |
| destination* | string | Three-letter IATA airport code, e.g. "IST" |
| return_date | string | Return date for the book link (round trip) |
{
"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)"
}
}
}| same_airline | boolean | Require one single airline to operate every leg |
| exclude_kinds | array | Drop legs whose service kind is in this list, e.g. ["suspended"] or ["suspended","charter"] for currently bookable routes only |
{
"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"
}
}
}| Return date for the book links (round trip) |
| allow_at_home | boolean | Allow an origin airport as the meet-up point, that party stays home |
| exclude_kinds | array | Drop legs whose service kind is in this list, e.g. ["suspended"] |
| same_alliance | boolean | Require each journey to be flyable within one single airline alliance |
{
"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"
}
}
}