google-flights-mcp
A no-API-key MCP server for searching real-time Google Flights data and price intelligence through 12 tools.
Search one-way and round-trip flights with prices, airlines, durations, stops, aircraft, seat pitch, CO2 emissions, and price context.
Compare economy, premium economy, business, and first-class prices for the same route.
Find cheapest travel dates via calendar heatmaps and ranked price insights over a date range.
Track route prices over time in SQLite, view price history, and list tracked routes.
Look up 8,800+ airports and find nearby alternative airports within a radius.
Generate direct Google Flights booking URLs.
Analyze layovers for connection time and risk level.
search_multi_cityis exposed but currently unavailable per the README; search each leg separately.
Provides tools for searching flights, tracking prices, comparing cabin classes, analyzing layovers, and generating booking URLs using real-time Google Flights data.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@google-flights-mcp Find nonstop flights from JFK to London next month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
google-flights-mcp
The most feature-rich MCP server for Google Flights. No API key required.
12 tools for searching flights, tracking prices, comparing cabins, analyzing layovers, and more, all powered by real-time Google Flights data.
Works with Claude Desktop, Claude Code, Cursor, and any MCP-compatible client.
Features no other Google Flights MCP has
Carbon emissions per flight and per leg (CO2 in kg)
Price context: Google's own assessment of whether a price is low, typical, or high
Price tracking: track prices over time with SQLite persistence, detect drops and trends
Calendar heatmap: the cheapest fare for each day of a window of up to 31 days
Cabin class comparison: economy vs premium vs business vs first, side by side
Nearby airport suggestions: find cheaper alternatives (e.g., EWR/LGA near JFK)
Layover analysis: connection time risk assessment (tight/comfortable/overnight)
Aircraft & seat details: Boeing 787 vs 777, seat pitch in inches
Google Flights URLs: direct booking links users can click
Related MCP server: fli
What you can ask
"Find nonstop flights from JFK to London next month"
"What's the cheapest week to fly SFO to Tokyo?"
"Compare economy vs business class for LAX to Paris"
"Are there cheaper airports near JFK I should check?"
"Track the price of SFO to NRT on June 15 and alert me if it drops"
"Show me the emissions for flights from SFO to Tokyo"
"Analyze the layovers for connecting flights from SFO to Bangkok"
Quick start
Option 1: npx (no install)
Works immediately with Claude Code:
claude mcp add google-flights -- npx -y google-flights-mcpOr with Claude Desktop, add to your claude_desktop_config.json:
{
"mcpServers": {
"google-flights": {
"command": "npx",
"args": ["-y", "google-flights-mcp"]
}
}
}Option 2: Install from source
git clone https://github.com/andreacappelletti97/google-flights-mcp.git
cd google-flights-mcp
npm install
npm run buildThen connect to Claude Code:
claude mcp add google-flights node /absolute/path/to/google-flights-mcp/dist/index.jsOr Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"google-flights": {
"command": "node",
"args": ["/absolute/path/to/google-flights-mcp/dist/index.js"]
}
}
}Restart your MCP client. You should see 12 flight tools available.
Tools (12)
Search
Tool | Description |
| One-way & round-trip search. Returns prices, airlines, durations, stops, aircraft, seat pitch, CO2 emissions, and price context. |
| Multi-leg itinerary search (2-5 segments). Currently unavailable: Google serves multi-city results only to its own signed page requests (see Limitations). Search each leg with |
Price intelligence
Tool | Description |
| Cheapest one-way fare for each day from |
| Rank the departure dates in a range (up to 31 days) from cheapest to most expensive. |
| Compare economy, premium economy, business, and first class prices for the same route. |
| Record current price and report trend (dropping/rising/stable). Persists in SQLite. |
| View all recorded price observations for a tracked route. |
| List all routes being price-tracked with last known price. |
Airport tools
Tool | Description |
| Search 8,800+ airports by city, name, IATA code, or country. |
| Find alternative airports within a radius (default: 200km). Uses Haversine distance. |
Utility
Tool | Description |
| Generate a direct Google Flights booking URL. |
| Analyze connection quality for multi-stop flights. Reports risk level, connection type, aircraft. |
Example output
search_flights (with emissions and price context)
Flights from SFO to NRT on 2026-06-15:
Price assessment: HIGH ($294 above typical). Range: $500 - $700, typical: $577
Flight 1: $874 | 11h 15m | 0 stop(s) | CO2: 428kg
ZG 25: SFO -> NRT (11h 15m) [aircraft: Boeing 787, seat pitch: 31 inches, CO2: 428kg]
Flight 2: $1310 | 11h 5m | 0 stop(s) | CO2: 545kg
NH 7: SFO -> NRT (11h 5m) [aircraft: Boeing 777, seat pitch: 34 inches, CO2: 545kg]get_calendar_heatmap
Price calendar (one-way, cheapest per day): SFO -> NRT
14 days of data
Cheapest: $384 (2026-02-12)
Most expensive: $870 (2026-04-13)
Average: $632
2026-02:
12: $384 ***
13: $384 ***
...
20: $540 ***
2026-03:
06: $609 *
...
20: $689find_nearby_airports
Airports near JFK within 150km:
LGA - LaGuardia Airport (New York, US), 17km away
EWR - Newark Liberty International Airport (Newark, US), 33km away
HPN - Westchester County Airport (White Plains, US), 48km awayHow it works
There is no official Google Flights API. This server loads Google Flights' public search page and reads the result data the page embeds, the same data Google's internal FlightsFrontendService returns. It extracts not just flights, but hidden metadata: emissions, price assessments, daily price calendars, aircraft types, and seat details.
Reliability
Caching: 5-minute TTL cache, identical searches don't hit Google twice
Retry with backoff: exponential backoff + jitter on 429/5xx errors, honors
Retry-AfterheadersCircuit breaker: stops requests after 5 consecutive failures, auto-recovers after 30s
Structural validation: clear errors when Google changes their response format
Paced fan-out: round trips and calendars load several pages; they go out a few at a time (
GF_MCP_MULTILEG_CONCURRENCY,GF_MCP_CALENDAR_CONCURRENCY)TLS mitigation:
undiciwith browser-like headers + rotating User-Agents,fetchfallback
Price tracking
Price history is stored in SQLite at ~/.google-flights-mcp/prices.db. Each call to track_price records the current cheapest price and reports the trend compared to previous observations.
Development
npm install # Install dependencies
npm run build # Build with tsup
npm test # Run tests
npm run lint # ESLint with FP rules (no-let, immutable-data, no-loop-statements)
npm run typecheck # TypeScript strict type checking
npm run check # typecheck + lint + test (the full CI pipeline)
npm run dev # Build in watch modeDesign
Fully functional TypeScript codebase:
No mutation: all types
readonly, nolet/var/.push()/forloopsResult monad: errors are values (
Result<T, E>), not exceptionsPure/IO separation: pure transforms are separate from network and disk IO
Composition:
pipe()+flatMap()for chaining fallible operations
See CLAUDE.md for architecture details and the Google Flights response format reference.
Limitations
No official API: reads data embedded in Google's public search page, which can change at any time. Structural validation makes breakages obvious.
Multi-city is unavailable: since August 2026 Google's internal flight endpoints only accept requests signed by its own page JavaScript, and the public page carries no rows for multi-city trips.
Calendars cost one page per day: Google's single-call calendar endpoint is gated the same way, so
get_calendar_heatmapandget_price_insightssearch each day, up to 31 days.Not encoded:
maxPriceandmaxDurationare applied to the results after the search, so a capped search can return fewer options.Rate limiting: Google may throttle heavy use. Built-in retry and circuit breaker handle transient issues.
Prices are estimates: prices reflect query time; they can change before booking.
Currency: determined by Google based on IP/locale.
Contributing
Fork the repo
Create a feature branch
Make your changes
Run
npm run checkto verifyOpen a PR
License
ISC
Available Tools
12 toolsanalyze_layoversA
Analyze layover quality for connecting flights. Reports connection time, risk level (tight/comfortable/long), and aircraft details.
Inputs: origin (required), destination (required), departureDate (required), cabinClass, +1 more.
compare_cabin_classesA
Compare prices across economy, premium economy, business, and first class for the same route in one call.
Inputs: origin (required), destination (required), departureDate (required), adults, +1 more.
find_nearby_airportsA
Find alternative airports near a given airport within a radius. Useful for finding cheaper flights from nearby cities.
Inputs: airport (required), radiusKm.
get_calendar_heatmapA
Get a full calendar of daily flight prices (~60 days). Single API call, no scanning. Shows cheapest dates at a glance.
Inputs: origin (required), destination (required), departureDate (required), cabinClass.
get_flight_urlB
Generate a direct Google Flights URL for a route. Users can click to view and book flights in their browser.
Inputs: origin (required), destination (required), departureDate (required), stops, +3 more.
get_price_historyA
View the recorded price history for a tracked route. Shows all past observations and the trend.
Inputs: origin (required), destination (required), departureDate (required), cabinClass.
get_price_insightsB
Find the cheapest travel dates for a route within a date range. Scans multiple departure dates.
Inputs: origin (required), endDate (required), startDate (required), destination (required), +2 more.
list_tracked_routesA
List all routes currently being price-tracked, with their last known price and number of observations.
Inputs: no named parameters.
lookup_airportA
Look up airport IATA codes by city name, airport name, or country. Searches 8,800+ airports.
Inputs: query (required).
search_flightsA
Search for one-way or round-trip flights. Returns prices, airlines, durations, stops, aircraft, emissions, and price context (low/typical/high).
Inputs: origin (required), destination (required), departureDate (required), adults, +7 more.
search_multi_cityB
Search for multi-city (multi-leg) flight itineraries. Supports 2-5 segments.
Inputs: segments (required), adults, infants, children, +3 more.
track_priceA
Track a flight price over time. Records the current cheapest price and reports if it has gone up, down, or stayed stable since last check.
Inputs: origin (required), destination (required), departureDate (required), cabinClass.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Each tool targets a distinct task: searching flights, multi-city, price history, insights, calendar, cabin comparison, tracking, route listing, airport lookup, nearby airports, URL generation, and layover analysis. No significant overlap.
All tools follow a consistent verb_noun pattern in snake_case (e.g., search_flights, get_price_history, analyze_layovers), making naming predictable and clear.
12 tools is well-scoped for a flight search and tracking service, covering core functionalities without being excessive or lacking.
The tool set covers searching (one-way, round-trip, multi-city), price tracking, airport lookup, and layover analysis. Minor gaps exist, such as no tool to stop tracking a route, but overall it's comprehensive.
Maintenance
Related MCP Connectors
Google Flights for any route and date: price, airlines, flight numbers, times, stops, layovers, aircraft, legroom and CO2. One way or round trip, any cabin and currency. Runs on Apify, $0.20 per 1,000 flights.
Google Flights fares, airlines, stops and durations for any route. Paid, on Apify's hosted MCP.
Search award flights and cash fares, optimize points, and predict fares inside ChatGPT and Claude.
Real-time Google Flights fares for agents. Three things people do with this server. Scan for deals: one call takes a date range and a list of destination airports, expands every combination server side, and returns each fare with Google's own low, typical or high verdict. Put live search in your app: flat JSON with a bookable link on every result, and round trips priced as paired legs. Run a 24/7 AI travel agent: add the server, sign in with Google, and schedule it. No ads, no sponsored content. You bring your own RapidAPI key, so every search is billed to your plan and never to anyone else's. Add https://flights.flightpowers.com/mcp , click Sign in, sign in with Google, and paste your RapidAPI key once on the page that opens. Scripts and clients without a sign-in button send the key as x-rapidapi-key on the same URL.
Related MCP Servers
- AlicenseAqualityBmaintenanceIntegrates Google Flights data into AI workflows for natural language flight searches, price comparisons, flexible date searches, and multi-city itinerary planning with support for various cabin classes and passenger types.98MIT
- AlicenseNot gradedqualityAmaintenanceEnables flight search and fare calendar exploration by interacting with Google Flights' API, supporting detailed filters for origin, destination, dates, cabin class, airlines, and more.5,819 PyPI3,490MIT
- AlicenseAqualityDmaintenanceConnects AI agents to Google Flights data, enabling retrieval of flight information, cheapest options, time-filtered flights, and best recommendations.430MIT
- AlicenseAqualityCmaintenanceEnables searching Google Flights for one-way, round-trip, and multi-city itineraries, plus fare tracking and price alerts via SerpAPI.9MIT