Google Flights

io.github.andreacappelletti97由 GitHub 帳號 andreacappelletti97 發布v1.0.3更新於 Oct 24, 2026

MCP server for Google Flights: search, price tracking, cabin comparison, emissions, and more.

已驗證STDIO僅桌面位置與生活資料與分析

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理搜尋 Google Flights 航班、比較票價與艙等、追蹤價格,並分析機場、轉機與碳排放。

可以做什麼
搜尋單程、來回與多段行程,回傳價格、航空公司、轉機次數、機型、座椅間距、二氧化碳排放與價格評估,並可產生該航線的訂票連結。依日曆比較每日價格,掃描日期區間找出最便宜的出發日,並比較同一航線從經濟艙到頭等艙的價格。記錄並檢視已追蹤航線的價格觀測(存於本機),列出追蹤航線與最近價格。依城市、名稱、IATA 代碼或國家查詢機場,並找出半徑內的替代機場。評估多段航班的轉機品質與銜接風險。
適用情境
適合在規劃航空旅行時使用:讓助理比較票價、尋找更便宜的日期或鄰近機場、權衡艙等、查看碳排放或轉機風險,或持續留意某條航線的價格變化。
執行需求
以 Node.js 本機程序執行,通常透過 npx 或建置後的產物啟動。不需要 API 金鑰或帳號。需要網路存取 Google 未公開的 Flights 端點。價格追蹤會在使用者家目錄下寫入 SQLite 資料庫。僅支援桌面版 MCP 用戶端。
安裝前請注意
它逆向使用 Google 未公開的端點,可能隨時失效或被限流,大量使用可能受到限制。價格僅為查詢當下的估算,訂票前可能變動;幣別由 IP 與地區決定。價格追蹤會在本機寫入 SQLite 檔案。搜尋請求會傳送給 Google。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Google Flights,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

google-flights-mcp

[npm version] [CI] [License: ISC]

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

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:

bash
claude mcp add google-flights -- npx -y google-flights-mcp

Or with Claude Desktop, add to your claude_desktop_config.json:

json
{  "mcpServers": {    "google-flights": {      "command": "npx",      "args": ["-y", "google-flights-mcp"]    }  }}

Option 2: Install from source

bash
git clone https://github.com/andreacappelletti97/google-flights-mcp.gitcd google-flights-mcpnpm installnpm run build

Then connect to Claude Code:

bash
claude mcp add google-flights node /absolute/path/to/google-flights-mcp/dist/index.js

Or Claude Desktop (claude_desktop_config.json):

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

ToolDescription
search_flightsOne-way & round-trip search. Returns prices, airlines, durations, stops, aircraft, seat pitch, CO2 emissions, and price context.
search_multi_cityMulti-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 search_flights.

Price intelligence

ToolDescription
get_calendar_heatmapCheapest one-way fare for each day from departureDate (14 days by default, up to 31). Cheapest dates at a glance.
get_price_insightsRank the departure dates in a range (up to 31 days) from cheapest to most expensive.
compare_cabin_classesCompare economy, premium economy, business, and first class prices for the same route.
track_priceRecord current price and report trend (dropping/rising/stable). Persists in SQLite.
get_price_historyView all recorded price observations for a tracked route.
list_tracked_routesList all routes being price-tracked with last known price.

Airport tools

ToolDescription
lookup_airportSearch 8,800+ airports by city, name, IATA code, or country.
find_nearby_airportsFind alternative airports within a radius (default: 200km). Uses Haversine distance.

Utility

ToolDescription
get_flight_urlGenerate a direct Google Flights booking URL.
analyze_layoversAnalyze 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 -> NRT14 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

find_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 away

How 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-After headers
  • Circuit 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: undici with browser-like headers + rotating User-Agents, fetch fallback

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

bash
npm install         # Install dependenciesnpm run build       # Build with tsupnpm test            # Run testsnpm run lint        # ESLint with FP rules (no-let, immutable-data, no-loop-statements)npm run typecheck   # TypeScript strict type checkingnpm run check       # typecheck + lint + test (the full CI pipeline)npm run dev         # Build in watch mode

Design

Fully functional TypeScript codebase:

  • No mutation: all types readonly, no let/var/.push()/for loops
  • Result monad: errors are values (Result<T, E>), not exceptions
  • Pure/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_heatmap and get_price_insights search each day, up to 31 days.
  • Not encoded: maxPrice and maxDuration are 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

  1. Fork the repo
  2. Create a feature branch
  3. Make your changes
  4. Run npm run check to verify
  5. Open a PR

License

ISC

來源:README.md,提交 9e26198

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.3最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分