Skip to main content
Glama
wjd0ha

우리어디가? MCP

by wjd0ha
README.md
# 우리어디가? MCP

> 패키지투어 AI 동행 가이드

`우리어디가?`는 여행사 일정표, 카톡 안내문, PDF에서 복사한 여행 정보를 붙여넣으면 패키지투어 참여자가 바로 볼 수 있는 카드형 가이드로 바꿔주는 MCP 서버입니다.

추천 여행지가 아니라, 이미 예약한 패키지여행을 더 편하게 따라가게 해주는 서비스입니다.

## 핵심 사용 장면

패키지투어 정보는 여행사 상세페이지, PDF 일정표, 카톡 공지, 항공권 캡처, 가이드 안내문에 흩어져 있습니다. 사용자는 여행 전후로 다음 질문을 반복합니다.

- 오늘 몇 시에 어디로 가?
- 부모님이랑 가는데 뭘 챙겨야 해?
- 선택관광과 현지 비용은 얼마야?
- 호텔/가이드/여행사 연락처는 어디 있어?
- 단체방에 공유할 짧은 요약을 만들 수 있어?

이 MCP는 그 정보를 카카오톡에서 읽기 좋은 짧은 카드로 정리합니다.

## MCP Tools

1. `parse_tour_info`
   - 일정표를 여행지, 기간, 일차별 일정, 항공, 숙소, 포함/불포함, 선택관광, 연락처, 빠진 정보로 구조화합니다.

2. `make_daily_guide`
   - 특정 일차의 일정, 식사, 숙소, 준비물, 사진 팁, 동행자 주의사항을 정리합니다.

3. `make_packing_list`
   - 여행지/계절/동행자 유형에 맞춘 준비물 체크리스트를 만듭니다.

4. `make_cost_summary`
   - 포함/불포함, 선택관광, 기사/가이드팁, 현금 필요 여부를 정리합니다.

5. `make_emergency_card`
   - 가이드/여행사/숙소/보험/대사관 확인 항목과 여권 분실 시 행동 순서를 정리합니다.

6. `make_trip_cards`
   - 예선 데모용 대표 도구입니다. 일정표를 한 번에 `우리 여행 한눈에 보기`, `오늘 일정`, `꼭 챙길 것`, `추가비용`, `긴급정보`, `빠진 정보` 카드로 변환합니다.

## 실행

```bash
npm install
npm run build
npm test
npm run dev
```

기본 HTTP endpoint:

```text
http://127.0.0.1:3000/mcp
```

헬스체크:

```text
http://127.0.0.1:3000/health
```

stdio 모드:

```powershell
$env:MCP_TRANSPORT="stdio"; npm run dev
```

## 샘플

샘플 일정표:

```text
data/mongolia-package-sample.txt
```

추천 프롬프트:

```text
몽골 패키지 일정표야. 우리 여행 가이드 카드로 정리해줘.
부모님이랑 가니까 준비물과 주의사항을 꼭 넣어줘.
```

또는:

```text
2일차 오늘 일정만 카톡에 공유하기 좋게 정리해줘.
```

## 예선 전략

예선에서는 URL 자동 크롤링보다 붙여넣기 기반 안정성을 우선합니다. 사용자가 가진 일정표/공지문을 직접 제공하면 저작권, 로그인, 페이지 구조 변경 문제 없이 결과를 낼 수 있습니다.

본선에 진출하면 `tour.json` 생성과 모바일 웹앱 자동 생성으로 확장합니다.

```text
일정표 붙여넣기
-> tour.json 생성
-> 카카오톡 카드형 안내
-> 여행별 모바일 가이드 웹앱 링크 생성
```

## 안전 원칙

- 일정과 항공/호텔 정보는 변경될 수 있으므로 여행사와 가이드의 최신 안내를 기준으로 확인하게 안내합니다.
- 여권번호, 주민등록번호, 전체 예약번호, 보험증권번호 같은 민감정보 입력을 막습니다.
- 대사관/긴급전화 같은 실시간 정보는 MCP가 보증하지 않고 공식 채널 확인을 안내합니다.
- 여행사 상세페이지 원문을 복제하지 않고, 사용자가 제공한 정보를 개인 여행 가이드로 재구성합니다.