/ ディレクトリ / プレイグラウンド / Fli (Google Flights MCP)
● コミュニティ punitarani ⚡ 即起動

Fli (Google Flights MCP)

作者 punitarani · punitarani/fli

Claudeに話しかけるだけでGoogle Flightsを実際に検索できる — APIキー不要、スクレイピングの煩わしさなし、SkyScanner手数料なし。

FliはGoogle Flightsの内部Protocol Buffers エンドポイントをMCP対応のPythonライブラリとCLIでラップします。Claudeは片道・往復・マルチシティ検索を実行し、航空会社・乗り継ぎ回数・価格・時間帯でフィルタリング、最安値日を探すデートグリッド価格検索も行えます。ログイン不要、非公式スクレイパーのようなレート制限問題もなし。Webサイト自体と同じプロトコルを話すためです。

なぜ使うのか

主な機能

ライブデモ

実際の動作

flights-fli-mcp.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "flights-fli-mcp": {
      "command": "uvx",
      "args": [
        "fli-mcp"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "flights-fli-mcp": {
      "command": "uvx",
      "args": [
        "fli-mcp"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "flights-fli-mcp": {
      "command": "uvx",
      "args": [
        "fli-mcp"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "flights-fli-mcp": {
      "command": "uvx",
      "args": [
        "fli-mcp"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "flights-fli-mcp",
      "command": "uvx",
      "args": [
        "fli-mcp"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "flights-fli-mcp": {
      "command": {
        "path": "uvx",
        "args": [
          "fli-mcp"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add flights-fli-mcp -- uvx fli-mcp

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: Fli (Google Flights MCP)

Claudeを使って2都市間の最安値日を見つける方法

👤 日程に柔軟性がある旅行者 ⏱ ~10 min beginner

使うタイミング: 行き先と大まかな時期は決まっているが、200ドル節約のために日程をずらせる場合。

前提条件
  • fli-mcpのインストール — uvx fli-mcp(PyPIから自動インストール)
フロー
  1. 価格グリッドを取得する
    Use Fli. Show me the cheapest day to fly SFO → NRT in the second half of June, round-trip, 7-day stay.✓ コピーしました
    → 日別往復最安値のデートグリッド表
  2. 最安値ペアを掘り下げる
    For the cheapest date pair, list the actual itineraries — airlines, layovers, total time.✓ コピーしました
    → 価格順に並んだ5〜10件の旅程(航空会社・所要時間付き)
  3. 絞り込む
    Filter to non-stop only, max 1 layover, depart after 9am from SFO.✓ コピーしました
    → 再フィルタリングされた短いリスト

結果: 航空会社サイトまたはGoogle Flightsで直接予約できる、短くて実際の価格のフライトリスト。

注意点
  • 予約サイトの価格が表示価格と異なる — Google Flightsの価格はアップストリームキャッシュです。OTA手数料については航空会社サイトで確認してください。FliはGoogle Flightsと一致しますが、OTAとは異なる場合があります。

Claudeに検索を任せてマルチシティ出張を計画する

👤 頻繁に出張するビジネスパーソン、EA ⏱ ~20 min intermediate

使うタイミング: 3都市以上を訪問する予定があり、各区間を自分で検索するのが面倒な場合。

フロー
  1. ルートを設定する
    Plan multi-city: SFO → JFK May 12, JFK → LHR May 15, LHR → SFO May 20. One adult, business class, max 1 stop per leg.✓ コピーしました
    → 価格付き区間を持つマルチシティ旅程
  2. アライアンスを比較する
    Re-run with Star Alliance only so I can keep my UA status accruing.✓ コピーしました
    → フィルタリング済みセット(場合によっては高め)— Claudeが差額を表示
  3. エクスポートする
    Save the chosen itinerary to a markdown brief with booking URLs and seat policies.✓ コピーしました
    → ブリーフがディスクに書き込まれ、URLが機能する

結果: 45分のタブ切り替えではなく、10分以内に予約可能なマルチシティプランが完成。

注意点
  • 一部の航空会社がGoogle Flightsに掲載されていない(Southwestなど) — FliはGoogle Flightsのカバレッジを継承します。Southwestは別途確認が必要です。
組み合わせ: filesystem

Claudeがオンデマンドで更新するフライト価格ウォッチリストを作成する

👤 趣味の旅行者やデジタルノマド ⏱ ~25 min intermediate

使うタイミング: 5〜10ルートを追跡して、価格が下がったら通知を受け取りたい場合。

フロー
  1. ウォッチリストを定義する
    Track these 5 routes for the next 60 days, store each search as JSON in /flights/watch.json.✓ コピーしました
    → 5ルートを含むwatch.jsonが作成される
  2. スイープを実行する
    Fetch fresh lowest prices for every route in watch.json. Diff against last run, highlight drops > 15%.✓ コピーしました
    → 差分テーブル;値下がり分が太字表示

結果: HopperやGoingに課金せずに作れる、軽量な個人向け価格下落アラート。

注意点
  • Google Flightsへのアクセスが速すぎると一時的にブロックされる — スイープの間隔を空けてください — 1クエリ/約3秒が目安。タイトなループではなくcronで実行してください。
組み合わせ: filesystem

組み合わせ

他のMCPと組み合わせて10倍の力を

flights-fli-mcp + filesystem

フライトウォッチリストと価格履歴を/flights/に保存する

Run today's watchlist. Save results to /flights/$(date +%Y%m%d).json and append to history.csv.✓ コピーしました
flights-fli-mcp + google-calendar

旅程が決まったら、各区間をカレンダーに追加する

Add this round-trip's outbound and return as Calendar events with airport codes in the title.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
search_flights origin: str, destination: str, depart_date, return_date?, passengers, cabin 通常の片道または往復検索 1 Google Flights query
search_date_grid origin, destination, month, trip_length 日程が柔軟で最安値日を探したい場合 1 query (heavier)
search_multi_city legs[]: {origin, destination, date} 3都市以上の旅程 1 query
filter itineraries, filters: {airlines?, alliance?, max_stops?, time_window?, max_price?} 再クエリせずに結果セットを絞り込む場合 free (post-fetch)

コストと制限

運用コスト

APIクォータ
正式なクォータなし — Google FlightsはIPあたりのソフトリミット(数秒に1クエリ程度)を設ける
呼び出しあたりのトークン
結果セットあたり300〜2500 token
金額
無料
ヒント
search_date_gridはポイントクエリより重いため、使用を控えめにしてください。

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: なし — APIキー不要
データ送信先: すべてのリクエストはflights.google.comに送信されます

トラブルシューティング

よくあるエラーと対処法

HTTP 429 / 一時的なブロック

クエリが速すぎます。5〜10分待ち、スイープの頻度を下げてください。

確認: 待機後に単一クエリを再実行
有効なルートで結果が空

日付がGoogle Flightsの上限(11ヶ月先)を超えている可能性があります。その範囲内の日付を選んでください。

一部の航空会社が欠けている(Southwestなど)

Google FlightsはSouthwestをインデックスしていません。それらの航空会社は直接airline.comで確認してください。

代替案

Fli (Google Flights MCP) 他との比較

代替案代わりに使う場面トレードオフ
SkyScanner / Amadeus / Duffel APIs実際のプロダクトを構築していて、TOS準拠の予約が必要な場合これらはキー+課金が必要です。Fliは個人自動化に最適で、公開アプリには向きません。
Kiwi.com Tequila API格安航空会社を含む明示的なアグリゲーターカバレッジが必要な場合無料枠に制限あり;FliはクォータなしだがGoogle Flightsのカバレッジのみ。

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る