mcpField
A
Amadeus MCP Server

Amadeus MCP Server

本地服务
github.com/donghyun-chae地图与出行6077 周前更新

关于 Amadeus MCP Server

Amadeus MCP Server 是一个社区开发的 MCP 服务,基于 Amadeus Flight Offers Search API 提供航班搜索能力。它面向使用 MCP 兼容客户端(如 Claude Desktop)的用户,可通过自然语言查询两地在指定日期的航班选项。项目使用官方 amadeus-python SDK 实现。

主要功能

  1. 01基于 Amadeus Flight Offers Search API 的航班搜索
  2. 02按出发地、目的地和日期查询航班
  3. 03支持往返、舱位、直飞与价格等筛选条件
  4. 04返回航空公司、时间、时长和价格等 JSON 数据

适用场景

  1. 01通过 AI 助手查询两地指定日期的航班选项
  2. 02比较不同航班的起飞时间、航空公司与价格

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 get_flight_offers 工具,供 AI 助手调用以获取航班数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"amadeus": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Amadeus MCP Server

smithery badge

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 助手提供可用于获取航班数据的工具。

amadeus-mcp


🚀 快速开始

通过 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)。默认值:12
children整数否儿童数量(2-11 岁)。总人数上限:91
infants整数否婴儿数量(≤2 岁)。上限:成人数量1
travel_class字符串否客舱等级:ECONOMY、BUSINESS 等ECONOMY
non_stop布尔值否若为 true,则仅返回直飞航班。默认值:falsetrue
currency_code字符串否ISO 4217 货币代码(例如 USD)EUR
max_price整数否每位旅客的最高价格500
max整数否报价数量上限。默认值:25010

输出: 以 JSON 格式返回航班报价,其中包含 Amadeus 提供的航空公司、时间、时长和价格详情。


📚 参考资料


📝 许可证

MIT 许可证 © 2025 donghyun-chae

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。