
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.
概览
本地 MCP 服务器,让助手搜索 Google Flights 航班、比较票价与舱位、追踪价格,并分析机场、中转和碳排放。
- 可以做什么
- 搜索单程、往返和多段行程,返回价格、航空公司、经停、机型、座椅间距、二氧化碳排放和价格评估,并可生成该航线的预订链接。按日历比较每日价格,扫描日期区间找出最便宜的出发日,并对比同一航线的经济舱至头等舱价格。记录并查看已追踪航线的价格观测(本地保存),列出追踪航线及最近价格。按城市、名称、IATA 代码或国家查询机场,并查找半径内的替代机场。评估多段航班的中转质量与衔接风险。
- 适用场景
- 适合在规划航空出行时使用:让助手比较票价、寻找更便宜的日期或附近机场、权衡舱位、查看碳排放或中转风险,或持续关注某条航线的价格变化。
- 运行要求
- 以 Node.js 本地进程运行,通常通过 npx 或构建后的产物启动。无需 API 密钥或账号。需要网络访问 Google 未公开的 Flights 接口。价格追踪会在用户主目录下写入 SQLite 数据库。仅支持桌面版 MCP 客户端。
安装
在 SourceWeft 中
- 打开 控制台中的 Google Flights,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
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:
Or with Claude Desktop, add to your claude_desktop_config.json:
Option 2: Install from source
Then connect to Claude Code:
Or Claude Desktop (claude_desktop_config.json):
Restart your MCP client. You should see 12 flight tools available.
Tools (12)
Search
Price intelligence
Airport tools
Utility
Example output
search_flights (with emissions and price context)
get_calendar_heatmap
find_nearby_airports
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-Afterheaders - 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:
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
Design
Fully functional TypeScript codebase:
- No mutation: all types
readonly, nolet/var/.push()/forloops - 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_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 verify - Open a PR
License
ISC
来源:README.md,提交 9e26198
工具
0版本历史
1- v1.0.3最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分