This connects Claude to Google Flights data without requiring an API key. You get 12 tools covering flight search, multi-city itineraries, price tracking with SQLite persistence, calendar heatmaps showing 60 days of daily prices, cabin class comparisons, and nearby airport suggestions. Each result includes CO2 emissions per leg, Google's own price context (low/typical/high), aircraft details, seat pitch, and direct booking URLs. The price tracking persists locally and reports trends across observations. It reverse engineers Google's internal FlightsFrontendService endpoint with caching, retry logic, and circuit breakers to handle rate limits. Reach for this when you need real flight data in Claude without managing API credentials or building scrapers yourself.
Public tool metadata for what this MCP can expose to an agent.
search_flightsSearch real flight results from Google Flights. Returns best_flights (top picks), other_flights (alternatives), and price_insights (typical price range, historical pricing).20 paramsSearch real flight results from Google Flights. Returns best_flights (top picks), other_flights (alternatives), and price_insights (typical price range, historical pricing).
glstringhlstringtypeinteger1 · 2 · 3stopsinteger0 · 1 · 2 · 3adultsintegersort_byinteger1 · 2 · 3 · 4 · 5 · 6childrenintegercurrencystringmax_priceintegerarrival_idstringdeep_searchbooleanreturn_datestringdeparture_idstringmax_durationintegertravel_classinteger1 · 2 · 3 · 4outbound_datestringinfants_on_lapintegerinfants_in_seatintegerexclude_airlinesstringinclude_airlinesstringThe 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.
Works immediately with Claude Code:
claude mcp add google-flights -- npx -y google-flights-mcp
Or with Claude Desktop, add to your claude_desktop_config.json:
{
"mcpServers": {
"google-flights": {
"command": "npx",
"args": ["-y", "google-flights-mcp"]
}
}
}
git clone https://github.com/andreacappelletti97/google-flights-mcp.git
cd google-flights-mcp
npm install
npm run build
Then connect to Claude Code:
claude mcp add google-flights node /absolute/path/to/google-flights-mcp/dist/index.js
Or 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.
| Tool | Description |
|---|---|
search_flights | One-way & round-trip search. Returns prices, airlines, durations, stops, aircraft, seat pitch, CO2 emissions, and price context. |
search_multi_city | Multi-leg itinerary search (2-5 segments). |
| Tool | Description |
|---|---|
get_calendar_heatmap | Full calendar of daily prices (~60 days) from a single API call. Cheapest dates at a glance. |
get_price_insights | Scan a date range to find cheapest departure dates (multiple API calls for precision). |
compare_cabin_classes | Compare economy, premium economy, business, and first class prices for the same route. |
track_price | Record current price and report trend (dropping/rising/stable). Persists in SQLite. |
get_price_history | View all recorded price observations for a tracked route. |
list_tracked_routes | List all routes being price-tracked with last known price. |
| Tool | Description |
|---|---|
lookup_airport | Search 8,800+ airports by city, name, IATA code, or country. |
find_nearby_airports | Find alternative airports within a radius (default: 200km). Uses Haversine distance. |
| Tool | Description |
|---|---|
get_flight_url | Generate a direct Google Flights booking URL. |
analyze_layovers | Analyze connection quality for multi-stop flights. Reports risk level, connection type, aircraft. |
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]
Price calendar: SFO -> NRT
61 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: $689
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 away
There is no official Google Flights API. This server reverse-engineers Google's internal FlightsFrontendService endpoint. It extracts not just flights, but hidden metadata: emissions, price assessments, daily price calendars, aircraft types, and seat details.
Retry-After headersundici with browser-like headers + rotating User-Agents, fetch fallbackPrice 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.
npm install # Install dependencies
npm run build # Build with tsup
npm test # Run tests (85 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 mode
Fully functional TypeScript codebase:
readonly, no let/var/.push()/for loopsResult<T, E>), not exceptionspipe() + flatMap() for chaining fallible operationsSee CLAUDE.md for architecture details and the Google Flights response format reference.
npm run check to verifyISC
com.mcparmory/google-search
io.github.pipeworx-io/brave-search
marcopesani/mcp-server-serper
brave/brave-search-mcp-server
com.mcparmory/google-search-console
acamolese/google-search-console-mcp