返回 MCP 目录
public公开dns本地运行

amadeus-mcp-server-standalone

连接Amadeus API的航班服务中间件,为AI助手提供航班搜索、预订和分析功能

article

README

🚀 Amadeus MCP 服务器

这是一个模型上下文协议(MCP)服务器,它与 Amadeus API 相连接,能为 AI 助手赋予航班搜索、预订和分析等强大功能,助力用户高效规划旅行。

✨ 主要特性

  • 航班搜索:可查找不同机场之间的航班及其各类参数。
  • 机场信息:支持通过关键词、城市或国家搜索机场。
  • 价格分析:获取航线的价格指标,以此判断当前价格高低。
  • 最便宜的日期:帮助找到旅行最经济实惠的日期。
  • 航班详情:能获取特定航班的详细信息。

💡 提示词

该服务器提供了几个预配置的提示词,适用于常见的旅行规划场景:

  1. 分析航班价格 (analyze-flight-prices):分析航线航班价格的趋势并提供见解。
  2. 寻找最佳优惠 (find-best-deals):为特定航线和日期找到最佳航班优惠。
  3. 计划多城市行程 (plan-multi-city-trip):规划完整的多城市行程并优化路线。
  4. 查找最便宜的旅行日期 (find-cheapest-travel-dates):识别旅行最经济实惠的日期。

📦 安装指南

先决条件

  • Node.js 16.x 或更高版本
  • Amadeus API 凭证(客户端 ID 和密钥)

安装

  1. 克隆仓库:
git clone https://github.com/yourusername/amadeus-mcp-server.git
cd amadeus-mcp-server
  1. 安装依赖项:
npm install
  1. 在项目根目录创建一个 .env 文件,添加你的 Amadeus API 凭证:
AMADEUS_CLIENT_ID=your_client_id
AMADEUS_CLIENT_SECRET=your_client_secret

启动服务器

构建并启动服务器:

npm run build
npm start

开发模式下运行:

npm run dev

测试与开发

该项目使用 Jest 进行单元测试,使用 Biome 进行代码检查和格式化。

  • 运行单元测试:
npx jest
  • 带有观察模式的测试:
npx jest --watch
  • 带覆盖率的测试:
npx jest --coverage
  • 运行集成测试(需要 Amadeus API 凭证):
npm run test:integration
  • 代码检查:
npm run lint
  • 格式化代码:
npm run format

🔧 技术细节

集成测试

该项目包含全面的集成测试,用于验证服务器与实际 Amadeus API 之间的交互。这些测试确保我们的 API 客户端能够正确使用真实的 API 端点,并处理响应。

集成测试要求

  • Amadeus API 凭证:测试需要有效的 Amadeus API 凭证在 .env 文件中:
AMADEUS_CLIENT_ID=your_client_id
AMADEUS_CLIENT_SECRET=your_client_secret
  • 测试环境:测试配置为使用 Amadeus 测试环境,而非生产 API。

运行集成测试

npm run test:integration

集成测试位于 __tests__/integration 目录中,可验证以下 API 功能:

  • 机场搜索:通过代码或关键词搜索机场。
  • 航班搜索:查找单程和往返航班。
  • 价格分析:获取特定航线的价格指标。

集成测试最佳实践

⚠️ 重要提示

  • 测试时需注意 Amadeus API 的速率限制,避免超出配额。
  • 要确保在运行测试时,.env 文件中的凭证正确配置。
  • 定期检查并更新项目依赖项,以保持兼容性。

📄 许可证

MIT

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端