Flight + Stay Search MCP (TypeScript) について
Flight + Stay Search MCP (TypeScript)は、Duffel APIで航空券と宿泊先を検索する旅行検索サーバーです。複数の旅程形式、航空券の詳細、宿泊先検索、宿泊者レビューに対応します。
主な機能
- 01片道、往復、複数都市の航空券検索
- 02航空券オファーの詳細表示
- 03座席クラス、人数、乗り継ぎ条件の指定
- 04出発時刻と到着時刻による絞り込み
- 05宿泊先検索と宿泊者レビューの取得
活用シーン
- 01旅行の航空券候補を比較
- 02特定の航空券オファーを確認
- 03日程と人数を指定して宿泊先を検索
- 04ホテルや宿泊先のレビューを確認
MCP 対応
Duffel APIを利用し、MCP クライアントに航空券・宿泊先検索、オファー詳細、宿泊先レビューのツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Flight + Stay Search MCP(TypeScript)
Duffel API を使用してフライトを検索する、Flight & Stay Search MCP サーバーの TypeScript 実装です。この MCP サーバーは、片道、往復、複数都市間のフライトを検索するツールを提供します。
機能
- 片道、往復、複数都市間のフライトを検索します
- 特定のフライトオファーの詳細情報を取得します
- 客室クラス、乗客数、乗り継ぎの希望を指定します
- 出発時刻と到着時刻の範囲で絞り込みます
- 旅行先の宿泊施設(ホテル/宿泊施設)を検索します
- 特定の宿泊施設/ホテルの宿泊者レビューを取得します
セットアップ
-
依存関係をインストールします:
npm install -
プロジェクトをビルドします:
npm run build -
サーバーを起動します:
npm start
環境変数
以下の内容で .env ファイルを作成します:
DUFFEL_API_KEY=your_duffel_api_key
まずはテスト用 API キー(duffel_test)を使って機能を試すことができます。
Smithery での使用
この MCP を Smithery に公開するには:
npx @smithery/cli publish
公開した MCP を実行するには:
npx @smithery/cli run @your-username/flights-mcp-ts --config "{\"duffelApiKey\":\"your_duffel_api_key\"}"
利用可能なツール
この MCP は以下のツールを提供します:
search_flights- 片道、往復、または複数都市間のフライトを検索しますget_offer_details- 特定のフライトオファーの詳細情報を取得しますsearch_multi_city- 複数都市間のフライト検索に特化したツールですsearch_stays- 旅行先の宿泊施設(ホテル/宿泊施設)を検索しますget_stay_reviews- 特定の宿泊施設/ホテルの宿泊者レビューを取得します
クエリの例
- 「2025年5月15日の SFO から NYC へのフライトを探してください」
- 「6月10日出発、6月20日帰着の LAX から LHR への往復フライトを検索してください」
- 「東京からパリへのビジネスクラスのフライトを大人2名分探してください」
- 「フライトオファー [offer_id] の詳細を取得してください」
- 「2025-06-10 から 2025-06-12 まで、宿泊者2名分のロンドンのホテルを探してください」
- 「宿泊施設 [hotel_id] のレビューを取得してください」
宿泊施設/ホテルの検索とレビュー
1. 宿泊施設を検索する(search_stays)
パラメーター:
location(string):宿泊施設を検索する都市、空港コード、または地域check_in_date(string):チェックイン日(YYYY-MM-DD)check_out_date(string):チェックアウト日(YYYY-MM-DD)guests(number):宿泊者数rooms(number、任意):部屋数radius_km(number、任意):検索半径(キロメートル)
リクエストの例:
{
"location": "London",
"check_in_date": "2025-06-10",
"check_out_date": "2025-06-12",
"guests": 2
}
レスポンスの例:
{
"offers": [
{
"offer_id": "off_123",
"hotel_id": "acc_0000AWr2VsUNIF1Vl91xg0",
"hotel_name": "The Grand Hotel",
"address": "1 Main St, London",
"price": { "amount": "350.00", "currency": "GBP" },
"room_type": "Deluxe Suite",
"cancellation_policy": "Free cancellation until 24h before check-in"
}
]
}
注: 検索結果の hotel_id をレビュー取得時の stay_id として使用してください。
2. 宿泊施設のレビューを取得する(get_stay_reviews)
パラメーター:
stay_id(string):Duffel の宿泊施設/ホテルの一意の ID(search_staysの結果から取得)after(string、任意):ページネーションカーソル(後)before(string、任意):ページネーションカーソル(前)limit(number、任意):取得するレビューの最大件数(1~200)
リクエストの例:
{
"stay_id": "acc_0000AWr2VsUNIF1Vl91xg0"
}
レスポンスの例:
{
"meta": { "limit": 50, "after": "..." },
"reviews": [
{
"text": "Excellent facilities. Polite staff.\nAir conditioning could use some maintenance.\n",
"score": 8.4,
"reviewer_name": "Bessie Coleman",
"created_at": "2025-01-01"
}
]
}
ローカル開発
自動リロードを使って開発するには:
npm run dev
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。