Amadeus MCP Server

by privilegemendes
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Supports environment variable management for storing and accessing Amadeus API credentials securely.

  • Provides linting and formatting tools for the MCP server codebase, enhancing code quality and consistency.

  • Enables version control for the MCP server codebase, facilitating installation through git clone.

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. 使用您的 Amadeus API 凭证在根目录中创建一个.env文件:
AMADEUS_CLIENT_ID=your_client_id AMADEUS_CLIENT_SECRET=your_client_secret

运行服务器

构建并启动服务器:

npm run build npm start

对于开发:

npm run dev

测试与开发

该项目使用 Jest 进行测试,使用 Biome 进行 linting 和格式化。

运行单元测试:

npx jest

使用监视模式运行测试:

npx jest --watch

运行覆盖测试:

npx jest --coverage

运行集成测试(需要 Amadeus API 凭证):

npm run test:integration

运行 linting:

npm run lint

格式代码:

npm run format

集成测试

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

集成测试的要求

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

运行集成测试

npm run test:integration

集成测试位于__tests__/integration并验证以下 API 功能:

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

集成测试的最佳实践

  1. API 速率限制:测试包含自动速率限制处理和指数退避机制,以避免 API 限流。频繁运行测试时,您仍然可能会遇到速率限制。
  2. 条件测试:如果缺少 API 凭证,则测试会自动跳过,从而允许测试套件在没有凭证的环境中正常运行。
  3. 隔离测试:开发新功能时,您可以运行特定的测试文件:
    npx jest __tests__/integration/flight-search.test.js
  4. 更长的超时:集成测试使用更长的超时(60 秒)来适应网络延迟和重试。
  5. 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 )

执照

麻省理工学院

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

连接到 Amadeus API 的模型上下文协议服务器,使 AI 助手能够搜索航班、分析价格、找到最佳旅行优惠以及规划多城市旅行。

  1. Features
    1. Prompts
      1. Setup
        1. Prerequisites
        2. Installation
        3. Running the Server
        4. Testing and Development
      2. Integration Testing
        1. Requirements for Integration Tests
        2. Running Integration Tests
        3. Best Practices for Integration Testing
      3. Integration
        1. Tools
          1. search-flights
          2. search-airports
          3. flight-price-analysis
          4. get-flight-details
          5. find-cheapest-dates
        2. Resources
          1. License
            ID: 3vq0vh6pjc