Provides flight-related functionality through Naver's services, enabling search and management of flight information
naver-flight-mcp
네이버 항공권 검색 API를 사용하여 최저가 항공권 정보를 조회하는 Model Context Protocol (MCP) 서버입니다.
✨ 주요 기능
직항 항공권 최저가 검색 (성인 1명, 이코노미 클래스)
왕복 항공편 정보 조회 (출발/도착 시간, 소요시간, 항공편명)
최저가 순 상위 10개 항공권 정보 제공
실시간 SSE 스트림 처리로 완전한 데이터 수집
상세한 로그로 검색 과정 추적
🚀 설치 및 설정
1. 프로젝트 클론 및 설치
# 프로젝트 클론
git clone https://github.com/your-username/naver-flight-mcp.git
cd naver-flight-mcp
# 의존성 설치
npm install
# TypeScript 빌드
npm run build2. Cursor MCP 설정
Windows: C:\Users\{사용자명}\.cursor\mcp.json
MacOS: ~/.cursor/mcp.json
설정 파일 예시
{
"mcpServers": {
"naver-flight": {
"command": "node",
"args": ["C:/Users/{사용자명}/naver-flight-mcp/dist/index.js"],
"env": {}
}
}
}실제 경로 예시 (Windows)
{
"mcpServers": {
"naver-flight": {
"command": "node",
"args": ["C:/Users/hwang/naver-flight-mcp/dist/index.js"],
"env": {}
}
}
}3. Cursor 재시작
MCP 설정을 추가한 후 Cursor를 재시작하면 네이버 항공권 검색 도구를 사용할 수 있습니다.
📖 사용 방법
Cursor에서 사용
MCP 설정 후 Cursor에서 다음과 같이 사용할 수 있습니다:
네이버 항공권 검색: 부산(PUS) → 나리타(NRT), 2025-12-15 ~ 2025-12-19검색 파라미터
{
departure: "PUS", // 출발지 공항 코드
arrival: "NRT", // 도착지 공항 코드
departureDate: "2025-12-15", // 출발일 (YYYY-MM-DD)
returnDate: "2025-12-19" // 복귀일 (YYYY-MM-DD)
}출력 예시
항공권 검색 결과 (PUS → NRT):
순위: 1
출발일: 20251215
복귀일: 20251219
가는편: 7C1153
오는편: 7C1154
총요금: 278,700원
가는편 출발: 11:05
가는편 도착: 13:10
소요시간: 125분
오는편 출발: 14:05
오는편 도착: 16:45
소요시간: 160분
---🧪 테스트 결과
2025년 12월 부산(PUS) - 나리타(NRT) 검색 결과
날짜 | 최저가 | 항공편 | 상태 |
2025-12-01 ~ 2025-12-05 | 304,000원 | 7C1153/7C1154 | ✅ 성공 |
2025-12-08 ~ 2025-12-12 | 277,000원 | 7C1153/7C1154 | ✅ 성공 |
2025-12-15 ~ 2025-12-19 | 278,700원 | 7C1153/7C1154 | ✅ 성공 |
2025-12-22 ~ 2025-12-26 | 416,400원 | 7C1153/7C1154 | ✅ 성공 |
인천(ICN) - 나리타(NRT) 검색 결과
날짜 | 최저가 | 항공편 | 상태 |
2025-12-15 ~ 2025-12-19 | 312,600원 | BX0164/BX0163 | ✅ 성공 |
🔧 기술적 특징
SSE 스트림 처리 개선
실시간 데이터 수집: 네이버 API의 Server-Sent Events를 완전히 처리
점진적 데이터 증가: 0개 → 16개 → 18개 → 20개 → 76개 → 77개
최종 유효 데이터 선택: 가장 많은 데이터가 포함된 응답 사용
상세한 로그: 각 단계별 데이터 수집 과정 추적
로그 예시
SSE 응답 처리 시작...
SSE 데이터 수신: 항공편 0개, 요금 0개
SSE 데이터 수신: 항공편 16개, 요금 32개
유효한 데이터 발견: 항공편 16개, 요금 32개
SSE 데이터 수신: 항공편 20개, 요금 100개
유효한 데이터 발견: 항공편 20개, 요금 100개
최종 데이터: 항공편 20개, 요금 100개
총 7009개의 요금 정보 발견
처리 완료 - 10개의 유효한 항공편📁 프로젝트 구조
naver-flight-mcp/
├── src/
│ ├── tools/
│ │ └── NaverFlightSearch.ts # 네이버 항공권 검색 도구
│ └── index.ts # MCP 서버 진입점
├── dist/ # 빌드된 파일
├── NAVER_FLIGHT_API_ANALYSIS.md # API 분석 문서
├── NAVER_FLIGHT_MCP_TEST_RESULTS.md # 테스트 결과
├── package.json
├── tsconfig.json
└── README.md🔌 API 정보
엔드포인트:
https://flight-api.naver.com/flight/international/searchFlights방식: REST API (Server-Sent Events)
검색 조건: 성인 1명, 직항만, 이코노미 클래스 (고정)
응답 시간: 일반적으로 4-5초 소요
🛠️ 개발자 정보
로컬 개발
# 개발 서버 실행
npm run dev
# 빌드
npm run build
# 로그 확인
node dist/index.js의존성
TypeScript: 타입 안전성
node-fetch: HTTP 요청 처리
zod: 스키마 검증
@modelcontextprotocol/sdk: MCP 서버 구현
📄 라이선스
MIT
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.