Flights MCP Server について
Flights MCP ServerはAviasales Flight Search APIを使って航空券を検索します。詳細な絞り込みや並べ替え、便情報の確認、予約リンクの生成に対応し、リモートまたはセルフホストで利用できます。
主な機能
- 01片道・往復・複数都市の航空券検索
- 02価格・所要時間・航空会社・時刻・経由数で絞り込み
- 03価格・時刻・所要時間で便を並べ替え
- 04便の詳細・手荷物許容量・航空会社情報の確認
- 05予約リンクの生成
- 06過去の検索をローカルに保存
活用シーン
- 01旅行形態に応じた航空券の検索
- 02予算・日程・航空会社による候補の絞り込み
- 03便を選ぶ前の手荷物情報の確認
- 04選択した便の予約リンク生成
MCP 対応
航空券検索、候補の取得と絞り込み、便の詳細確認、予約リンク生成をMCPツールとして提供します。stdio、HTTP、SSEのトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
✈️ Flights MCP サーバー
Aviasales Flight Search API を使用して、フライト検索機能を提供する Model Context Protocol(MCP)サーバーです。このサーバーでは、フライトの検索や検索結果の絞り込み、詳細情報の取得、予約リンクの生成ができます。
https://github.com/user-attachments/assets/87d79d54-c4ab-4938-9792-18572315f1ba
使用方法
リモート MCP サーバーを使用するか、独自のインスタンスをデプロイできます。
-
リモート MCP
次の URL で公開インスタンスを利用できます。
https://findflights.me/sse
このサーバーは SSE トランスポートプロトコルを使用しており、セットアップせずにすぐ利用できます。⚠️ **重要:**現在、すべての LLM クライアントがリモート MCP 接続に対応しているわけではありません。たとえば、Claude.ai のリモート MCP 統合は Pro+ プランでのみ利用できます。
-
セルフホストでのデプロイ
独自のサーバーを実行する場合は、インストールセクションの手順に従ってください。**注:**独自のサーバーをデプロイするには、Aviasales API Key と Marker ID を取得する必要があります。
機能
- フライト検索:片道、往復、複数都市間のフライトを検索します
- 高度な絞り込み:価格、所要時間、航空会社、出発・到着時刻、乗り継ぎ回数で検索結果を絞り込みます
- 複数の並べ替えオプション:価格、出発時刻、到着時刻、所要時間で並べ替えます
- 詳細なフライト情報:手荷物許容量や航空会社情報など、フライトの詳細情報を取得します
- 予約リンク:選択したフライトの予約リンクを生成します
- ローカルストレージ:実行した検索をローカルに保存するため、LLM は待ち時間なく過去の検索にアクセスできます
- 複数の MCP トランスポートオプション:stdio、HTTP、SSE トランスポートに対応しています
インストール
前提条件
- Aviasales API key
- Python 3.12 以降
- UV パッケージマネージャー
セットアップ
- リポジトリをクローンします。
git clone <repository-url>
cd flights-mcp
-
環境変数を設定します(環境変数セクションを参照)。
-
サーバーを実行します
uv run src/flights-mcp/main.py
サーバーは 0.0.0.0 にバインドされるため、ホストマシンのすべてのネットワークインターフェースからアクセスできます。
環境変数
次の環境変数が必要です。
-
FLIGHTS_AVIASALES_API_TOKEN(必須):Aviasales API トークン -
FLIGHTS_AVIASALES_MARKER(必須):Aviasales marker ID -
FLIGHTS_TRANSPORT(任意):使用するトランスポートプロトコル- オプション:
stdio(デフォルト)、streamable_http、sse
- オプション:
-
FLIGHTS_HTTP_PORT(任意):HTTP/SSE トランスポート用のポートFLIGHTS_TRANSPORTがstreamable_httpまたはsseの場合にのみ使用されます- デフォルト:
4200
-
FLIGHTS_HTTP_PATH(任意):エンドポイントの URI パスFLIGHTS_TRANSPORTがstreamable_httpまたはsseの場合にのみ使用されます- デフォルト:
/mcp
MCP ツール
サーバーでは、次の MCP ツールを利用できます。
| ツール | 説明 |
|---|---|
search_flights | Aviasales Flight Search API を使用してフライトを検索します。検索の説明と、search_id および見つかった選択肢の概要を返します。 |
get_flight_options | 以前の検索結果からフライトの選択肢を取得し、絞り込み、並べ替えます。絞り込み済みのフライト選択肢をページ分割して返します。 |
get_flight_option_details | 区間、料金、手荷物許容量、代理店の利用条件など、フライトの詳細情報を返します。 |
request_booking_link | 特定のフライト選択肢の予約リンクを生成します。 |
一般的な使用パターン
- フライトを検索するには、
search_flights()を使用します。日程に柔軟性がある場合は、複数回呼び出してください - オプションを絞り込み、一覧表示するには、
get_flight_options()を使用します。軽量なツールなので、異なるフィルターや並べ替えオプションを指定して複数回呼び出してください - 詳細情報を取得するには、
get_flight_option_details()を使用します。ユーザーが希望するオプションに対して呼び出してください - 予約リンクを生成するには、
request_booking_link()を使用します。ユーザーが予約の意思を確認した場合にのみ呼び出してください
サポート
次の内容に関する問題については、以下をご確認ください。
- MCP サーバー:このリポジトリで issue を作成してください
- MCP Protocol:Model Context Protocol Documentation をご覧ください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。