google-flights について
google-flights は Google Flights の検索を行う MCP サーバーで、航班検索、日付別価格グリッド、空港コード検索に対応しています。API キーは不要で、運賃の比較や IATA 空港コードの確認を行う方に適しています。
主な機能
- 01キャビンクラス、乗り継ぎ、並び替え、ページ送りによる航班検索
- 02約 60 日間の日付別最安値を示す価格グリッド
- 03都市名、空港名、部分コードによる IATA 空港コード検索
- 04大人、子供、幼児の複数乘客と複数通貨への対応
- 05スロットリングを避けるための組み込みレート制限
活用シーン
- 01特定路線で最も安い直行便の検索
- 02月内で運賃が最も低い出発日の確認
- 03都市に対応する IATA 空港コードの照会
MCP 対応
本プロジェクトは MCP サーバーであり、search_flights、get_date_grid、find_airport_code の各ツールと google-flights://config リソースを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| adults | number | いいえ | 大人の乗客数(デフォルト:1) |
| offset | number | いいえ | ページネーションのオフセット(デフォルト:0) |
| origin | string | はい | 出発空港の IATA コード(例:"SFO") |
| sort_by | enum | いいえ | 並べ替え順(デフォルト:best)best | price | duration | departure | arrival |
| children | number | いいえ | 子どもの乗客数(デフォルト:0) |
| currency | string | いいえ | 価格の通貨コード(デフォルト:USD) |
| max_stops | enum | いいえ | 乗り継ぎ回数の上限フィルター(デフォルト:any)any | nonstop | 1 | 2 |
| trip_type | enum | いいえ | 旅行タイプ(デフォルト:one_way)one_way | round_trip |
| seat_class | enum | いいえ | 客室クラス(デフォルト:economy)economy | premium_economy | business | first |
| destination | string | はい | 目的地空港の IATA コード(例:"LAX") |
| max_results | number | いいえ | 1 ページあたりの最大結果数、1~50(デフォルト:20) |
| return_date | string | いいえ | 往復の場合に必須の復路日(形式:YYYY-MM-DD) |
| departure_date | string | はい | 出発日。形式は YYYY-MM-DD |
| infants_on_lap | number | いいえ | 膝上に乗せる乳児の人数(デフォルト:0) |
| infants_in_seat | number | いいえ | 座席を使用する乳児の人数(デフォルト:0) |
| exclude_basic_economy | boolean | いいえ | ベーシックエコノミー運賃を除外します(デフォルト:true)。false に設定すると、すべての運賃クラスを含めます。 |
詳細
Google Flights MCP サーバー
Google Flights を検索する MCP サーバーです。フライト検索、最安値の旅行日を見つけるための日付別価格グリッド、空港の IATA コード検索を提供します。API キーは不要です。
特長
- 詳細なフィルタリング(客室クラス、乗り継ぎ回数、並べ替え、ページネーション)に対応したフライト検索
- 約 60 日間の最安旅行日を見つけるための日付別価格グリッド
- 都市名、空港名、またはコードの一部から空港の IATA コードを検索
- API キーや認証は不要
- 複数の乗客に対応(大人、子ども、幼児)
- 複数の通貨に対応
- スロットリングを防ぐレート制限機能を内蔵
- 厳密な型チェックを備えた TypeScript
機能
ツール
| ツール | 説明 |
|---|---|
search_flights | 詳細なフィルタリング、並べ替え、ページネーションを使ってフライトを検索します |
get_date_grid | 日ごとの最安フライト価格を示す日付別価格グリッドを取得します |
find_airport_code | 都市名、空港名、またはコードの一部から空港の IATA コードを検索します |
リソース
| リソース | 説明 |
|---|---|
google-flights://config | サーバー設定と利用可能なツール |
クイックスタート
Claude Desktop の設定
MCP サーバーを初めて使用する場合は、Claude Desktop アプリケーションをインストールし、MCP の公式セットアップ手順に従ってください。
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"google-flights": {
"command": "npx",
"args": ["-y", "google-flights-mcp-server"]
}
}
}
Claude Desktop を再起動すれば、すぐに利用できます。
使用例
フライトを検索します:
"Find me the cheapest nonstop flights from SFO to LAX next Friday"
最安の日付を見つけます:
"When is the cheapest time to fly from JFK to London in March?"
空港コードを検索します:
"What are the airport codes for Tokyo?"
開発
依存関係のインストール
npm install
ビルド
npm run build
開発モードでの実行
npm run dev
テスト
# Run manual tests (hits real Google Flights)
npm run test:manual
プロジェクト構成
google-flights/
├── local/ # Local server implementation
│ ├── src/
│ │ └── index.ts # Main entry point
│ └── package.json
├── shared/ # Shared business logic
│ ├── src/
│ │ ├── server.ts # Server factory with DI
│ │ ├── tools.ts # Tool registration
│ │ ├── tools/ # Individual tool implementations
│ │ ├── resources.ts # Resource implementations
│ │ ├── flights-client/ # Google Flights client (protobuf + HTTP)
│ │ └── logging.ts
│ └── package.json
├── tests/ # Test suite
│ └── manual/ # Manual tests against real Google Flights
└── package.json # Root workspace config
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。