关于 Amadeus MCP Server
Amadeus MCP Server 是一个社区开发的 MCP 服务,基于 Amadeus Flight Offers Search API 提供航班搜索能力。它面向使用 MCP 兼容客户端(如 Claude Desktop)的用户,可通过自然语言查询两地在指定日期的航班选项。项目使用官方 amadeus-python SDK 实现。
主要功能
- 01基于 Amadeus Flight Offers Search API 的航班搜索
- 02按出发地、目的地和日期查询航班
- 03支持往返、舱位、直飞与价格等筛选条件
- 04返回航空公司、时间、时长和价格等 JSON 数据
适用场景
- 01通过 AI 助手查询两地指定日期的航班选项
- 02比较不同航班的起飞时间、航空公司与价格
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 get_flight_offers 工具,供 AI 助手调用以获取航班数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Amadeus MCP Server
MCP-Amadeus 是一个由社区开发的 Model Context Protocol (MCP) 服务,可与 Amadeus 航班报价搜索 API 集成,通过自然语言界面提供航班搜索功能。该服务专为兼容 MCP 的客户端(例如 Claude Desktop)打造。
借助大模型(LLM)和 Amadeus API,本项目让用户能够轻松搜索两个地点之间特定日期的航班选项。
本项目使用官方的 amadeus-python SDK
**免责声明:**这是一个开源项目,与 Amadeus IT Group 无关,也未获其认可。 Amadeus® 是 Amadeus IT Group 的注册商标。
✨ 功能
✈️ 航班报价搜索
检索指定日期两个地点之间的航班选项。
“我想查询 6 月 15 日从纽约飞往伦敦的直飞航班,航空公司不限,1 位成人。”
→ ✈️ 返回可用航班选项及出发时间、到达时间、航空公司和价格等详细信息。
- 由 Amadeus 航班报价搜索 API 提供支持
- 需要提供出发地、目的地、机票数量和出行日期
🌐 演示
安装并连接到兼容 MCP 的客户端(例如 Claude Desktop)后,此服务会向 AI 助手提供可用于获取航班数据的工具。
🚀 快速开始
通过 Smithery 安装
如需通过 Smithery 为 Claude Desktop 自动安装 Amadeus MCP Server:
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 | 字符串 | 是 | 出发城市/机场的 IATA 代码 | JFK |
| destination | 字符串 | 是 | 目的地城市/机场的 IATA 代码 | LHR |
| departure_date | 字符串 | 是 | 出发日期(YYYY-MM-DD) | 2025-06-15 |
| return_date | 字符串 | 否 | 返程日期(YYYY-MM-DD)。省略时表示单程 | 2025-06-20 |
| adults | 整数 | 是 | 成人数量(1-9)。默认值:1 | 2 |
| children | 整数 | 否 | 儿童数量(2-11 岁)。总人数上限:9 | 1 |
| infants | 整数 | 否 | 婴儿数量(≤2 岁)。上限:成人数量 | 1 |
| travel_class | 字符串 | 否 | 客舱等级:ECONOMY、BUSINESS 等 | ECONOMY |
| non_stop | 布尔值 | 否 | 若为 true,则仅返回直飞航班。默认值:false | true |
| currency_code | 字符串 | 否 | ISO 4217 货币代码(例如 USD) | EUR |
| max_price | 整数 | 否 | 每位旅客的最高价格 | 500 |
| max | 整数 | 否 | 报价数量上限。默认值:250 | 10 |
输出: 以 JSON 格式返回航班报价,其中包含 Amadeus 提供的航空公司、时间、时长和价格详情。
📚 参考资料
📝 许可证
MIT 许可证 © 2025 donghyun-chae
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。