Amadeus MCP Server について
Amadeus MCP Server は、Amadeus Flight Offers Search API を利用して航空券を検索するコミュニティ開発の MCP サーバーです。Claude Desktop などの MCP 対応クライアントから、自然言語で指定日の航空便を照会する用途に向いています。公式の amadeus-python SDK を使用しており、Amadeus IT Group とは提携していません。
主な機能
- 01Amadeus Flight Offers Search API による航空便検索
- 02出発地・目的地・日付による検索
- 03往復日、キャビンクラス、直行便などの絞り込み
- 04航空会社、時刻、所要時間、料金を JSON で返却
活用シーン
- 01AI アシスタントに二都市間の航空便を問い合わせる
- 02指定日の出発時刻、航空会社、料金を比較する
MCP 対応
本プロジェクトは MCP サーバーとして get_flight_offers ツールを MCP クライアントに公開し、AI アシスタントが航空便データを取得できるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Amadeus MCP サーバー
MCP-Amadeus は、Amadeus Flight Offers Search API と連携し、自然言語インターフェースを通じてフライト検索機能を提供する、コミュニティ開発の Model Context Protocol (MCP) サーバーです。 MCP 対応クライアント(例:Claude Desktop)での利用を想定して構築されています。
このプロジェクトでは、LLM と Amadeus API の力を活用して、2 つの場所間のフライトを特定の日付で簡単に検索できます。
このプロジェクトでは、公式の amadeus-python SDK を使用しています。
免責事項: これはオープンソースプロジェクトであり、Amadeus IT Group とは提携しておらず、同社による承認も受けていません。 Amadeus® は Amadeus IT Group の登録商標です。
✨ 機能
✈️ フライトオファー検索
指定した日付の、2 つの場所間のフライト候補を取得します。
「6 月 15 日にニューヨークからロンドンへの直行便を探しています。航空会社は問いません。大人 1 名です。」
→ ✈️ 出発時刻、到着時刻、航空会社、価格などの詳細とともに、利用可能なフライト候補を返します。
- Amadeus Flight Offers Search API を利用
- 出発地、目的地、チケット数、旅行日の入力が必要です
🌐 デモ
インストールして MCP 対応クライアント(例:Claude Desktop)に接続すると、このサーバーが AI アシスタントによるフライトデータ取得に使用できるツールを公開します。
🚀 クイックスタート
Smithery 経由でインストール
Smithery 経由で Claude Desktop 用の Amadeus MCP サーバーを自動的にインストールするには:
npx -y @smithery/cli install @donghyun-chae/mcp-amadeus --client claude
1. クローンとセットアップ
git clone https://github.com/donghyun-chae/mcp-amadeus.git
cd mcp-amadeus-flight-offers
# Install dependencies (using uv or pip)
uv sync
2. API キーを取得して環境を設定
cp .env.example .env
次に .env を編集して、API 認証情報を追加します。
AMADEUS_CLIENT_ID=your_client_id
AMADEUS_CLIENT_SECRET=your_client_secret
https://developers.amadeus.com/ でサインアップしてアプリを作成し、Client ID と Client Secret を取得してください。
3. MCP クライアントを設定
このサーバーを MCP クライアント(例:Claude for Desktop)に登録します。
~/Library/Application Support/Claude/claude_desktop_config.json を編集します。
{
"mcpServers": {
"amadeus": {
"command": "/ABSOLUTE/PATH/TO/PARENT/FOLDER/uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/src/",
"run",
"--env-file",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/.env",
"server.py"
]
}
}
}
/ABSOLUTE/PATH/TO/PARENT/FOLDER/を、プロジェクトフォルダーの実際のパスに置き換えてください。
私の場合:
{
"mcpServers": {
"amadeus": {
"command": "/Users/asena/.local/bin/uv",
"args": [
"--directory",
"/Users/asena/mcp-amadeus/src/",
"run",
"--env-file",
"/Users/asena/mcp-amadeus/.env",
"server.py"
]
}
}
}
🛠️ ツール
インストールすると、以下のツールが MCP クライアントに公開されます。
get_flight_offers
Amadeus Flight Offers Search API からフライトのオファーを取得します。
リクエスト:
{
"action": "tool",
"name": "get_flight_offers",
"params": {
"origin": "JFK",
"destination": "LHR",
"departure_date": "2025-06-15"
}
}
パラメーター:
| 名前 | 型 | 必須 | 説明 | 例 |
|---|---|---|---|---|
| origin | string | はい | 出発都市/空港の IATA コード | JFK |
| destination | string | はい | 到着都市/空港の IATA コード | LHR |
| departure_date | string | はい | 出発日(YYYY-MM-DD) | 2025-06-15 |
| return_date | string | いいえ | 復路の日付(YYYY-MM-DD)。省略すると片道です | 2025-06-20 |
| adults | integer | はい | 大人の人数(1~9)。デフォルト:1 | 2 |
| children | integer | いいえ | 子どもの人数(2~11)。合計の上限:9 | 1 |
| infants | integer | いいえ | 乳幼児の人数(2歳以下)。上限:大人の人数 | 1 |
| travel_class | string | いいえ | 客室クラス:ECONOMY、BUSINESS など | ECONOMY |
| non_stop | boolean | いいえ | true の場合、直行便のみ。デフォルト:false | true |
| currency_code | string | いいえ | ISO 4217 の通貨コード(例:USD) | EUR |
| max_price | integer | いいえ | 旅行者 1 人あたりの最高価格 | 500 |
| max | integer | いいえ | オファーの最大件数。デフォルト:250 | 10 |
出力: Amadeus から取得した航空会社、時刻、所要時間、料金の詳細を含むフライトのオファーを JSON 形式で返します。
📚 参考資料
📝 ライセンス
MIT ライセンス © 2025 donghyun-chae
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。