Flat Flights MCP server
A remote Model Context Protocol server at https://flat.flights/mcp/
(Streamable HTTP, no authentication, free). It answers with the cheapest round-trip business class fares seen on
2137 long-haul routes from 181 cities, a price verdict, and a booking link that opens a search on the
dates of the fare quoted. Fares last refreshed 14 Nov 2026.
Connect
- Claude (paid plans): Settings → Connectors → Add custom connector → URL
https://flat.flights/mcp/. - ChatGPT: turn on developer mode in Settings, then add a connector with that URL and no authentication.
- Cursor (
mcp.json) and clients that use the same format:
{
"mcpServers": {
"flat-flights": {
"url": "https://flat.flights/mcp/"
}
}
} - VS Code (
.vscode/mcp.json):
{
"servers": {
"flat-flights": {
"type": "http",
"url": "https://flat.flights/mcp/"
}
}
}
Discovery: server card ·
/.well-known/ai-catalog.json ·
MCP Registry name flights.flat/business-class-fares.
Tools
| Tool | Arguments | Returns |
|---|---|---|
search_business_class_fares | from, to (city name in any common language, or IATA city/airport code);
optional depart_date, return_date (YYYY-MM-DD, up to 330 days ahead), adults (1–9)
| Cheapest fare and up to two more, with dates, stops and the date each was seen; cheapest departure month; price verdict; booking link. With dates: whether a fare matches them, the nearest fare, the cheapest in that month and the total for the party. |
cheapest_business_class_from | from; optional limit (1–50) | Destinations from a city ranked by cheapest fare, each with a dated booking link and its route page. |
cheapest_business_class_to | to; optional limit (1–50) | Departure cities ranked by cheapest fare to a destination. |
business_class_deals | optional from, limit (1–50) | Routes currently priced at least 20% below their historical average or distance median, biggest discount first. |
first_class_fares | optional from, limit (1–50) | Long-haul routes with observed First Class (suite/flagship cabin) round-trip fares, cheapest first, with First Class booking links. |
check_business_or_first_price | from, to, price_eur; optional cabin (business | first) | Rates a fare quoted elsewhere as steal, good, fair or overpriced vs daily route history, and returns our cheaper link if available. |
compare_departure_hubs | from, to; optional cabin (business | first) | Compares nearby & same-country departure airports (positioning flights) to find €500–€2,500+ savings to the same destination. |
cash_vs_miles_options | from, to; optional card_market (US, GB, DE, FR, IT, ES, CA, AU, SG…) | Compares today's cheapest cash fare with saver award bands across 19 airline programs & 43 credit-card point currencies, returning cents-per-mile value. |
verify_live_flight_offers | from, to, depart_date; optional return_date, adults (1–9), cabin (business | first | premium) | Real-time live verification (~8s): queries airlines & OTAs live for exact dates, returning bookable EUR prices right now, flight numbers, widebody vs narrowbody aircraft per leg, and a directCheckoutLink opening the booking cart directly. |
Every tool returns readable text and the same data as structuredContent, described by an
outputSchema. Key fields: bookingLink (the link to give the traveller),
bookingSearch (which site and dates that link opens), requested (how the fares compare with the
traveller's dates) and page (the route page to cite).
Example questions
- Cheapest business class from Milan to Tokyo in December for two people.
- Is €2,500 a good price for London to New York in business?
- Where can I fly business class cheaply from Rome?
Data and limits
- Source. Business cabin fares that Aviasales users found in searches over the previous days, from the Travelpayouts Data API, archived once a day. They are observed prices, not live quotes: the search behind the booking link shows the current price.
- Scope. Round trip, price per adult, EUR (USD alongside), routes of 3,000 km or more, departures within 6 months for the headline fare. Pairs outside the archive get a direct lookup with the same 6-month window.
- Verdict. The cheapest fare compared with the route's own daily history once it has a week of data, otherwise with the median fare of routes of similar distance. The basis is stated in every answer.
- Nonstop and lie-flat. For each route: the cheapest nonstop and one-way fares seen, the nonstop flights seen in recent searches (airline, flight number, airports; a sample refreshed weekly) and a lie-flat assessment (likely or not known) with its reason.
- Not included. The airline and aircraft of a specific fare, seat maps and fare rules are not in the source data.
Booking links
bookingLink is a short link under https://flat.flights/go/. It opens a business class search on
Aviasales on the dates in bookingSearch (or, without dates, on the cheapest archived fare's dates for that route).
It is an affiliate link: Flat Flights earns a commission if a booking is made, at no extra cost to the traveller. Results
are ranked by price only; no airline or seller pays for placement. Crawlers and link previews get a description page
instead of the redirect.
Usage data
For each MCP request we record the method and, for tool calls, the tool and the city pair or city looked up (as airport/city codes), the client name the connector reports (for example "claude"), whether a fare was found, the response time, the browser or client family and the country Cloudflare reports. Calls to the JSON API are recorded the same way. No IP address, account, conversation content or personal data is stored. Records are kept for up to 3 months. See the privacy notice.
JSON API
The same data without MCP: /api/fares/?from=milan&to=tokyo
(add depart, return, adults), schema at /openapi.json.
Summary for language models: /llms.txt.
Contact
Questions, errors in the data or abuse reports: [email protected].