Business & First Class history, deals, live verification & direct checkout on 2,150+ routes.
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.
Long-haul business class routes currently priced at least 20% below their own daily price history or distance-band median, ranked by biggest discount. Optional `from` filters to one departure city.
City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK").
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http business-class-fares https://flat.flights/mcp/
Long-haul business class routes currently priced at least 20% below their own daily price history or distance-band median, ranked by biggest discount. Optional `from` filters to one departure city.
| Argument | Type | Description |
|---|---|---|
| from | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| limit | integer |
{
"type": "object",
"properties": {
"from": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
}
},
"additionalProperties": false
}Business class miles & credit card transfer calculator: compares today’s cheapest cash fare on Aviasales with published/derived saver award bands across 19 airline programs (Avios, Flying Blue, Aeroplan, KrisFlyer, Miles & More, ANA, Skywards…) and 43 bank point programs (Amex, Chase, Citi, Capital One, Bilt, Revolut…), returning cents-per-mile value and the cash booking link.
| Argument | Type | Description |
|---|---|---|
| to* | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| from* | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| card_market | string | Optional 2-letter country code to filter credit card transfer partners (US, GB, DE, FR, IT, ES, CA, AU, SG, HK, AE, IN, JP, BR). |
{
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"from": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"card_market": {
"type": "string",
"maxLength": 4,
"description": "Optional 2-letter country code to filter credit card transfer partners (US, GB, DE, FR, IT, ES, CA, AU, SG, HK, AE, IN, JP, BR)."
}
},
"additionalProperties": false
}Long-haul destinations from a departure city ranked by cheapest round-trip business class fare. Use for "where can I fly business class cheaply from X".
| Argument | Type | Description |
|---|---|---|
| from* | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| limit | integer |
{
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
}
},
"additionalProperties": false
}Departure cities ranked by cheapest round-trip business class fare to a destination. Use for "cheapest place to fly business class to X from".
| Argument | Type | Description |
|---|---|---|
| to* | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| limit | integer |
{
"type": "object",
"required": [
"to"
],
"properties": {
"to": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
}
},
"additionalProperties": false
}Business class & First class price check: evaluates whether a fare quoted elsewhere (in EUR, round trip per adult) is a steal, good, fair or overpriced vs our daily route history and distance benchmark, and returns a cheaper Aviasales booking link if we observed a lower price.
| Argument | Type | Description |
|---|---|---|
| to* | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| from* | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| cabin | string | |
| price_eur* | number | Quoted round-trip fare per adult in EUR. |
{
"type": "object",
"required": [
"from",
"to",
"price_eur"
],
"properties": {
"to": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"from": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"cabin": {
"enum": [
"business",
"first"
],
"type": "string",
"default": "business"
},
"price_eur": {
"type": "number",
"maximum": 50000,
"minimum": 100,
"description": "Quoted round-trip fare per adult in EUR."
}
},
"additionalProperties": false
}Business class & First class positioning comparison: checks nearby and same-country departure airports/cities to the same destination to find €500–€2,500+ savings (e.g. flying from Milan, Dublin, Warsaw or Madrid instead of London, Zurich or Frankfurt).
| Argument | Type | Description |
|---|---|---|
| to* | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| from* | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| cabin | string |
{
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"from": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"cabin": {
"enum": [
"business",
"first"
],
"type": "string",
"default": "business"
}
},
"additionalProperties": false
}First Class suites & flagship cabins (trip_class=2) round-trip fares on long-haul routes from Aviasales data, ranked cheapest first, with First Class booking links. Optional `from` filters to one departure city.
| Argument | Type | Description |
|---|---|---|
| from | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| limit | integer |
{
"type": "object",
"properties": {
"from": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
}
},
"additionalProperties": false
}Cheapest round-trip business class fare between two cities, with dates, stops, cheapest departure month, cheapest nonstop and one-way fares, nonstop flights seen (airline, flight, airports), a lie-flat assessment and a booking link that opens a search on the quoted fare's dates (or the traveller's dates, if given).
| Argument | Type | Description |
|---|---|---|
| to* | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| from* | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| adults | integer | Adults for the booking link search. |
| depart_date | string | null | Outbound date (YYYY-MM-DD, today to 330 days ahead). Optional: the booking link then opens the search on the traveller's dates instead of the quoted fare's. |
| return_date | string | null | Return date; omit with depart_date for one way (YYYY-MM-DD, today to 330 days ahead). Optional: the booking link then opens the search on the traveller's dates instead of the quoted fare's. |
{
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"from": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"adults": {
"type": "integer",
"default": 1,
"maximum": 9,
"minimum": 1,
"description": "Adults for the booking link search."
},
"depart_date": {
"type": [
"string",
"null"
],
"format": "date",
"description": "Outbound date (YYYY-MM-DD, today to 330 days ahead). Optional: the booking link then opens the search on the traveller's dates instead of the quoted fare's."
},
"return_date": {
"type": [
"string",
"null"
],
"format": "date",
"description": "Return date; omit with depart_date for one way (YYYY-MM-DD, today to 330 days ahead). Optional: the booking link then opens the search on the traveller's dates instead of the quoted fare's."
}
},
"additionalProperties": false
}Real-time flight verification (~8 seconds): queries airlines and OTAs live for exact dates to confirm bookable EUR prices right now, operating airlines, flight numbers, widebody vs narrowbody aircraft on each leg, and a `directCheckoutLink` that opens the airline or OTA booking cart directly. Call this when the user is ready to verify or book specific dates.
| Argument | Type | Description |
|---|---|---|
| to* | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| from* | string | City name (e.g. "Milan", "New York") or 3-letter IATA city/airport code (e.g. "MIL", "JFK"). |
| cabin | string | |
| adults | integer | |
| depart_date* | string | Outbound date (YYYY-MM-DD, today to 330 days ahead). |
| return_date | string | null | Return date; omit for one way (YYYY-MM-DD, today to 330 days ahead). Optional: the booking link then opens the search on the traveller's dates instead of the quoted fare's. |
{
"type": "object",
"required": [
"from",
"to",
"depart_date"
],
"properties": {
"to": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"from": {
"type": "string",
"maxLength": 80,
"description": "City name (e.g. \"Milan\", \"New York\") or 3-letter IATA city/airport code (e.g. \"MIL\", \"JFK\")."
},
"cabin": {
"enum": [
"business",
"first",
"premium"
],
"type": "string",
"default": "business"
},
"adults": {
"type": "integer",
"default": 1,
"maximum": 9,
"minimum": 1
},
"depart_date": {
"type": "string",
"format": "date",
"description": "Outbound date (YYYY-MM-DD, today to 330 days ahead)."
},
"return_date": {
"type": [
"string",
"null"
],
"format": "date",
"description": "Return date; omit for one way (YYYY-MM-DD, today to 330 days ahead). Optional: the booking link then opens the search on the traveller's dates instead of the quoted fare's."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 14, 2026.