Google Flights について
Google Flights は、旅行を計画する人向けの MCP サーバーで、フライト検索に加えて運賃、経路、空港を分析します。価格追跡や客室クラス比較など 12 種類のツールを備え、API キーは不要です。
主な機能
- 01片道・往復・複数都市の検索
- 02運賃追跡と価格履歴の確認
- 03価格カレンダーと価格評価の表示
- 04客室クラス比較と乗り継ぎリスク分析
- 05空港・排出量・機材情報の検索
- 06Google Flights の予約リンク生成
活用シーン
- 01指定日や期間の低運賃探し
- 02同一路線のエコノミーとビジネスの比較
- 03路線の価格変動と値下がりの監視
- 04乗り継ぎと近隣空港候補の確認
MCP 対応
MCP サーバーとして、対応クライアントにフライト検索、運賃分析、空港検索など 12 種類のツールを提供します。README では Claude Desktop、Claude Code、Cursor などに対応すると説明されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
12掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| origin | string | はい | 出発空港の IATA コード(例:JFK) |
| destination | string | はい | 到着空港の IATA コード(例:NRT) |
| departureDate | string | はい | 出発日。形式は YYYY-MM-DD |
| returnDate | string | いいえ | 復路の日付(形式:YYYY-MM-DD)。指定すると往復便になります |
| cabinClass | enum | いいえ | 客室クラスeconomy | premium_economy | business | first |
| adults | integer | いいえ | 大人の乗客数 |
| children | integer | いいえ | 子供の乗客数 |
| infants | integer | いいえ | 乳幼児の乗客数 |
| maxStops | integer | いいえ | 最大経由回数(0=直行、1、2)。省略すると無制限です。 |
| sortBy | enum | いいえ | 結果の並べ替え基準best | price | duration | departure | arrival |
| maxResults | integer | いいえ | 返す結果の最大数 |
詳細
google-flights-mcp
Google Flights 向けの最も多機能な MCP サーバーです。API キーは不要です。
リアルタイムの Google Flights データを利用し、フライトの検索、料金の追跡、座席クラスの比較、乗り継ぎの分析などを行う 12 個のツールを提供します。
Claude Desktop、Claude Code、Cursor、および MCP 互換のあらゆるクライアントで動作します。
他の Google Flights MCP にはない機能
- フライトごと、区間ごとの二酸化炭素排出量(CO2、kg 単位)
- 料金の目安:料金が安い、標準的、高いのいずれに該当するか、Google 独自の評価を表示します
- 料金の追跡:SQLite に保存しながら料金を継続的に追跡し、値下がりや傾向を検出します
- カレンダーのヒートマップ:1 回の API 呼び出しで 60 日分の日別料金を表示します
- 座席クラスの比較:エコノミー、プレミアム、ビジネス、ファーストを並べて比較します
- 近隣空港の提案:より安い代替空港を見つけます(例:JFK 近郊の EWR/LGA)
- 乗り継ぎの分析:乗り継ぎ時間のリスクを評価します(短い/余裕あり/翌日)
- 機材と座席の詳細:Boeing 787 と 777 の比較、シートピッチ(インチ単位)
- Google Flights の URL:ユーザーがクリックできる直接予約リンク
質問できること
- 「来月、JFK からロンドンへの直行便を探して」
- 「SFO から東京へ飛ぶなら、最も安い週はいつ?」
- 「LAX からパリへのエコノミーとビジネスクラスを比較して」
- 「JFK の近くに確認すべき、より安い空港はある?」
- 「6 月 15 日の SFO から NRT への料金を追跡して、値下がりしたら知らせて」
- 「SFO から東京へのフライトの排出量を表示して」
- 「SFO からバンコクへの乗り継ぎ便の乗り継ぎ時間を分析して」
クイックスタート
オプション 1:npx(インストール不要)
Claude Code ですぐに使えます:
claude mcp add google-flights -- npx -y google-flights-mcp
または、Claude Desktop では claude_desktop_config.json に追加します:
{
"mcpServers": {
"google-flights": {
"command": "npx",
"args": ["-y", "google-flights-mcp"]
}
}
}
オプション 2:ソースからインストール
git clone https://github.com/andreacappelletti97/google-flights-mcp.git
cd google-flights-mcp
npm install
npm run build
次に、Claude Code に接続します:
claude mcp add google-flights node /absolute/path/to/google-flights-mcp/dist/index.js
または、Claude Desktop(claude_desktop_config.json):
{
"mcpServers": {
"google-flights": {
"command": "node",
"args": ["/absolute/path/to/google-flights-mcp/dist/index.js"]
}
}
}
MCP クライアントを再起動してください。12 個のフライトツールが利用できるようになります。
ツール(12 個)
検索
| ツール | 説明 |
|---|---|
search_flights | 片道および往復の検索です。料金、航空会社、所要時間、経由地、機材、シートピッチ、CO2 排出量、料金の目安を返します。 |
search_multi_city | 複数区間の旅程を検索します(2~5 区間)。 |
料金情報
| ツール | 説明 |
|---|---|
get_calendar_heatmap | 1 回の API 呼び出しで、約 60 日分の日別料金のカレンダーを取得します。最安の日付がひと目でわかります。 |
get_price_insights | 日付範囲を調べ、最も安い出発日を見つけます(精度を高めるため、複数回 API を呼び出します)。 |
compare_cabin_classes | 同じルートのエコノミー、プレミアムエコノミー、ビジネス、ファーストの料金を比較します。 |
track_price | 現在の料金を記録し、傾向(下降/上昇/安定)を報告します。SQLite に保存されます。 |
get_price_history | 追跡中のルートについて、記録されたすべての料金の観測値を表示します。 |
list_tracked_routes | 料金を追跡中のすべてのルートを、最後に確認された料金とともに一覧表示します。 |
空港ツール
| ツール | 説明 |
|---|---|
lookup_airport | 都市名、空港名、IATA コード、国名から 8,800 以上の空港を検索します。 |
find_nearby_airports | 指定した半径内(デフォルト:200 km)の代替空港を探します。ハバースイン距離を使用します。 |
ユーティリティ
| ツール | 説明 |
|---|---|
get_flight_url | Google Flights の直接予約 URL を生成します。 |
analyze_layovers | 経由便の乗り継ぎ品質を分析します。リスクレベル、乗り継ぎの種類、機材を報告します。 |
出力例
search_flights(排出量と料金の目安を含む)
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: 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
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
仕組み
Google Flights の公式 API はありません。このサーバーは、Google の内部エンドポイントである FlightsFrontendService をリバースエンジニアリングしています。フライトだけでなく、排出量、価格評価、日ごとの価格カレンダー、機材の種類、座席の詳細など、非公開のメタデータも取得します。
信頼性
- キャッシュ:有効期限 5 分のキャッシュを使用し、同じ検索で Google に重複してアクセスしません
- バックオフ付き再試行:429/5xx エラー時は指数バックオフとジッターを使用し、
Retry-Afterヘッダーに従います - サーキットブレーカー:5 回連続で失敗した後にリクエストを停止し、30 秒後に自動復旧します
- 構造検証:Google がレスポンス形式を変更した場合、明確なエラーを表示します
- TLS の緩和策:ブラウザーに似たヘッダーと User-Agent のローテーションを使用する
undiciと、fetchによるフォールバックを利用します
価格の追跡
価格履歴は ~/.google-flights-mcp/prices.db の SQLite に保存されます。track_price を呼び出すたびに、現在の最安値が記録され、過去の観測結果と比較した傾向が報告されます。
開発
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
設計
完全に機能する TypeScript コードベースです。
- ミューテーションなし:すべての型は
readonlyで、let/var/.push()/forループは使用しません - Result モナド:エラーは例外ではなく値(
Result<T, E>)として扱います - 純粋処理と IO の分離:純粋な変換処理を、ネットワークおよびディスクの IO から分離しています
- 合成:
pipe()とflatMap()を使用して、失敗する可能性がある処理を連結します
アーキテクチャの詳細と Google Flights のレスポンス形式については、CLAUDE.md を参照してください。
制限事項
- 公式 API ではありません:変更される可能性がある、ドキュメント化されていない Google のエンドポイントを使用します。構造検証により、変更による問題をすぐに把握できます。
- レート制限:Google は過剰な利用を制限する場合があります。組み込みの再試行とサーキットブレーカーで、一時的な問題に対処します。
- 価格は推定値です:価格は検索時点のもので、予約する前に変わることがあります。
- 通貨:Google が IP アドレス/ロケールに基づいて決定します。
コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
npm run checkを実行して検証します- PR を作成します
ライセンス
ISC
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。