mcpField
G
Google Flights

Google Flights

ローカル
github.com/andreacappelletti97地図・旅行528 週間前に更新

Google Flights について

Google Flights は、旅行を計画する人向けの MCP サーバーで、フライト検索に加えて運賃、経路、空港を分析します。価格追跡や客室クラス比較など 12 種類のツールを備え、API キーは不要です。

主な機能

  1. 01片道・往復・複数都市の検索
  2. 02運賃追跡と価格履歴の確認
  3. 03価格カレンダーと価格評価の表示
  4. 04客室クラス比較と乗り継ぎリスク分析
  5. 05空港・排出量・機材情報の検索
  6. 06Google Flights の予約リンク生成

活用シーン

  1. 01指定日や期間の低運賃探し
  2. 02同一路線のエコノミーとビジネスの比較
  3. 03路線の価格変動と値下がりの監視
  4. 04乗り継ぎと近隣空港候補の確認

MCP 対応

MCP サーバーとして、対応クライアントにフライト検索、運賃分析、空港検索など 12 種類のツールを提供します。README では Claude Desktop、Claude Code、Cursor などに対応すると説明されています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"andreacappelletti97-google-flights": {
"command": "npx",
"args": [
"-y",
"google-flights-mcp"
]
}
}
}
起動コマンドnpx -y google-flights-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmgoogle-flights-mcp1.0.3

ツール

12

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
originstringはい出発空港の IATA コード(例:JFK)
destinationstringはい到着空港の IATA コード(例:NRT)
departureDatestringはい出発日。形式は YYYY-MM-DD
returnDatestringいいえ復路の日付(形式:YYYY-MM-DD)。指定すると往復便になります
cabinClassenumいいえ客室クラスeconomy | premium_economy | business | first
adultsintegerいいえ大人の乗客数
childrenintegerいいえ子供の乗客数
infantsintegerいいえ乳幼児の乗客数
maxStopsintegerいいえ最大経由回数(0=直行、1、2)。省略すると無制限です。
sortByenumいいえ結果の並べ替え基準best | price | duration | departure | arrival
maxResultsintegerいいえ返す結果の最大数

詳細

google-flights-mcp

npm version CI License: ISC

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_heatmap1 回の 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_urlGoogle 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 アドレス/ロケールに基づいて決定します。

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. npm run check を実行して検証します
  5. PR を作成します

ライセンス

ISC

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。