Amadeus MCP 服务器
这是一个模型上下文协议 (MCP) 服务器,它连接到 Amadeus API,为 AI 助手提供航班搜索、预订和分析功能。
特征
航班搜索:查找具有不同参数的机场之间的航班
机场信息:按关键字、城市或国家搜索机场
价格分析:获取路线的价格指标,以确定当前价格是高还是低
最便宜的日期:寻找最经济的旅行日期
航班详情:获取有关特定航班优惠的详细信息
Related MCP server: Amadeus Agent
提示
服务器针对常见的旅行计划场景提供了几个预配置的提示:
分析航班价格(
analyze-flight-prices):分析航线的航班价格,了解价格趋势查找最佳优惠(
find-best-deals):查找特定航线和日期的最佳航班优惠规划多城市行程(
plan-multi-city-trip):规划完整的多城市行程,并确定最佳路线查找最便宜的旅行日期(
find-cheapest-travel-dates):确定最经济的旅行日期
设置
先决条件
Node.js 16.x 或更高版本
Amadeus API 凭证(客户端 ID 和密钥)
安装
克隆存储库:
安装依赖项:
使用您的 Amadeus API 凭证在根目录中创建一个
.env文件:
运行服务器
构建并启动服务器:
对于开发:
测试与开发
该项目使用 Jest 进行测试,使用 Biome 进行 linting 和格式化。
运行单元测试:
使用监视模式运行测试:
运行覆盖测试:
运行集成测试(需要 Amadeus API 凭证):
运行 linting:
格式代码:
集成测试
该项目包含全面的集成测试,用于验证服务器与真实 Amadeus API 的交互。这些测试有助于确保我们的 API 客户端能够与实际 API 端点正确协作,并妥善处理响应。
集成测试的要求
Amadeus API 凭证:测试需要
.env文件中有效的 Amadeus API 凭证:AMADEUS_CLIENT_ID=your_client_id AMADEUS_CLIENT_SECRET=your_client_secret测试环境:测试配置为使用 Amadeus 测试环境,而不是生产 API。
运行集成测试
集成测试位于__tests__/integration并验证以下 API 功能:
机场搜索:按代码或关键字搜索机场
航班搜索:查找单程和往返航班
价格分析:获取特定路线的价格指标
集成测试的最佳实践
API 速率限制:测试包含自动速率限制处理和指数退避机制,以避免 API 限流。频繁运行测试时,您仍然可能会遇到速率限制。
条件测试:如果缺少 API 凭证,则测试会自动跳过,从而允许测试套件在没有凭证的环境中正常运行。
隔离测试:开发新功能时,您可以运行特定的测试文件:
npx jest __tests__/integration/flight-search.test.js更长的超时:集成测试使用更长的超时(60 秒)来适应网络延迟和重试。
CI/CD 模拟:对于无法进行真实 API 访问的持续集成管道,请使用无需实际 API 调用即可运行的
__tests__/amadeus-mock.test.js。
一体化
要将此 MCP 服务器与 OpenAI 的 Assistant API 或其他兼容的 AI 系统一起使用,请配置助手以连接到此服务器的端点。
工具
该服务器提供以下工具:
search-flights
搜索两个地点之间的航班优惠。
search-airports
通过关键字、城市名称或 IATA 代码搜索机场。
flight-price-analysis
获取航线的价格指标以确定当前价格是高还是低。
get-flight-details
获取有关特定航班优惠的详细信息。
find-cheapest-dates
查找特定航线最便宜的航班日期。
资源
服务器提供以下架构资源:
航班优惠 (
schema://flight-offers)机场 (
schema://airports)
执照
麻省理工学院