아마데우스 MCP 서버
이는 Amadeus API에 연결하여 AI 도우미를 위한 항공편 검색, 예약 및 분석 기능을 제공하는 MCP(Model Context Protocol) 서버입니다.
특징
항공편 검색 : 다양한 매개변수를 사용하여 공항 간 항공편을 찾으세요
공항 정보 : 키워드, 도시 또는 국가로 공항 검색
가격 분석 : 현재 가격이 높은지 낮은지 확인하기 위해 경로에 대한 가격 측정 항목을 가져옵니다.
가장 저렴한 날짜 : 여행하기 가장 경제적인 날짜를 찾으세요
항공편 세부 정보 : 특정 항공편 특가에 대한 자세한 정보를 얻으세요
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 및 비밀번호)
설치
저장소를 복제합니다.
지엑스피1
종속성 설치:
Amadeus API 자격 증명을 사용하여 루트 디렉토리에
.env파일을 만듭니다.
서버 실행
서버를 빌드하고 시작합니다.
개발을 위해:
테스트 및 개발
이 프로젝트에서는 테스트에는 Jest를 사용하고, 린팅과 포맷팅에는 Biome을 사용합니다.
단위 테스트 실행:
시계 모드로 테스트 실행:
적용 범위를 사용하여 테스트 실행:
통합 테스트 실행(Amadeus API 자격 증명 필요):
린팅 실행:
형식 코드:
통합 테스트
이 프로젝트에는 서버와 실제 Amadeus API의 상호작용을 검증하는 포괄적인 통합 테스트가 포함됩니다. 이러한 테스트는 API 클라이언트가 실제 API 엔드포인트와 정상적으로 작동하고 응답을 적절하게 처리하는지 확인하는 데 도움이 됩니다.
통합 테스트 요구 사항
Amadeus API 자격 증명 : 테스트에는
.env파일에 유효한 Amadeus API 자격 증명이 필요합니다.AMADEUS_CLIENT_ID=your_client_id AMADEUS_CLIENT_SECRET=your_client_secret테스트 환경 : 테스트는 프로덕션 API가 아닌 Amadeus 테스트 환경을 사용하도록 구성됩니다.
통합 테스트 실행
통합 테스트는 __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)
특허
MIT