Amadeus MCP服务器
](https://smithery.ai/server/@donghyun-chae/mcp-amadeus)
MCP Amadeus是一个开发的社区 模型上下文协议(MCP) 与Amadeus Flight Offers Search API集成的服务器 通过自然语言界面提供航班搜索功能。专为与MCP兼容的客户端(如Claude Desktop)一起使用而构建。
该项目使用户能够使用大型语言模型(LLM)和Amadeus API的强大功能,轻松搜索两个特定日期地点之间的航班选项。
该项目使用官方 amadeus python SDK
免责声明: 这是一个开源项目 *与Amadeus IT集团无关或不受其认可。* Amadeus®是Amadeus IT集团的注册商标。
______________________________________________________________________
✨ 特性
✈️ 航班优惠搜索
检索指定日期两个地点之间的航班选项。
“我正在寻找6月15日从纽约到伦敦的直达航班,任何航空公司,1名成人。”\ → ✈️ 返回可用的航班选项,包括出发时间、到达时间、航空公司和价格等详细信息。
- 由Amadeus Flight提供搜索API
- 需要输入出发地、目的地、机票数量和旅行日期
______________________________________________________________________
🌐 演示
一旦安装并连接到MCP兼容客户端(例如。, 克劳德桌面),此服务器公开了您的AI助手可以用来获取航班数据的工具。
______________________________________________________________________
🚀 快速开始
通过Smithery安装
通过以下方式自动安装Amadeus MCP Server for Claude Desktop 史密瑟里:
npx -y @smithery/cli install @donghyun-chae/mcp-amadeus --client claude1.克隆和设置
git clone https://github.com/donghyun-chae/mcp-amadeus.git
cd mcp-amadeus-flight-offers
# Install dependencies (using uv or pip)
uv sync2.获取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)。
编辑~/库/应用支持/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航班优惠搜索API检索航班优惠。
请求:
{
"action": "tool",
"name": "get_flight_offers",
"params": {
"origin": "JFK",
"destination": "LHR",
"departure_date": "2025-06-15"
}
}参数:
| 名称 | 类型 | 必填 | 描述 | 示例 |
|---|---|---|---|---|
| origin | string | 是 | 出发城市/机场的IATA代码 | JFK |
| 目的地 | 字符串 | 是 | 目的地城市/机场的IATA代码 | LHR |
| departure_date | string | 是 | 出发日期(YYYY-MM-DD) | 2025-06-15 |
| return_date | string | 否 | 返回日期(YYYY-MM-DD)。如果省略了一种方式 | 2025-06-20 |
| 成年人 | 整数 | 是 | 成年人数量(1-9)。默认值:1 | 2 |
| children | 整数 | 否 | 子数(2-11)。最大总数:9 | 1 |
| 婴儿 | 整数 | 否 | 婴儿数量(≤2)。最大人数:成人人数 | 1 |
| travel_class | string | No | 客舱级别:经济舱、商务舱等。 | 经济 |
| non_stop | boolean | 否 | 如果为真,则仅限直达航班。默认值:false | true |
| currency_code | string | 否 | ISO 4217中的货币(例如美元) | 欧元 |
| max_price | 整数 | 否 | 每位旅行者的最高价格 | 500 |
| max | integer | 否 | 最大优惠数量。默认值:250 | 10 |
输出: 从Amadeus返回JSON格式的航班优惠,包括航空公司、时间、持续时间和定价详细信息。
______________________________________________________________________
📚 参考文献
______________________________________________________________________
