Skip to main content
Glama
README.md
# playLocal MCP

실시간 공공 데이터를 활용해 한국 지역 여행 코스를 생성하는 PlayMCP용 MCP 서버입니다.

## Features

- 한국관광공사 TourAPI 기반 관광지, 음식점, 문화시설 조회
- 기상청 초단기예보 기반 실외/실내 코스 가중치 조정
- 서울 열린데이터 광장 실시간 도시데이터 기반 혼잡도 반영
- 당일치기 코스 자동 생성, 대체 장소, 데이터 출처, 주의사항 반환

## Tools

- `plan_day_trip`: 지역, 날짜, 테마, 이동수단을 받아 당일치기 코스 생성
- `search_public_attractions`: TourAPI 지역 후보 조회
- `check_weather`: 기상청 날씨 조회
- `check_congestion`: 서울 실시간 혼잡도 또는 비서울 추정 혼잡도 조회
- `check_open_status`: TourAPI 상세 원천 데이터 조회

## Environment

`.env.example`을 `.env`로 복사한 뒤 값을 채웁니다. 실제 `.env`는 Git에 올리지 않습니다.

```env
TOUR_API_KEY=
TOUR_API_DECODING_KEY=
WEATHER_API_KEY=
WEATHER_API_DECODING_KEY=
SEOUL_OPEN_API_KEY=
KAKAO_REST_API_KEY=
```

같은 이름의 키를 두 번 넣으면 일반 dotenv 로딩에서는 뒤쪽 값이 사용됩니다. 가능하면 encoding/decoding 키는 `*_ENCODING_KEY`, `*_DECODING_KEY`로 나눠 넣어주세요.

## Local Run

```bash
pip install -r requirements.txt
python -m local_travel_planner.server
```

기본 MCP HTTP endpoint는 다음과 같습니다.

```text
http://localhost:8000/mcp
```

## Docker

```bash
docker build -t playlocal-mcp .
docker run --env-file .env -p 8000:8000 playlocal-mcp
```

## PlayMCP Deployment

PlayMCP in KC에서는 Git source build 방식을 권장합니다.

1. GitHub 저장소에 이 프로젝트를 push합니다.
2. PlayMCP in KC에서 My MCP 서버를 생성합니다.
3. Git URL, branch, Dockerfile path를 입력합니다.
4. 배포 환경변수에 `.env`와 같은 키 이름을 등록합니다.
5. 활성화된 Endpoint URL을 PlayMCP 콘솔에 등록합니다.

PlayMCP에 표시할 MCP 이름은 `playLocal`을 사용합니다. KakaoCloud 리소스 이름이 별도로 필요하면 Kubernetes DNS 규칙에 맞게 `playlocal-mcp`처럼 소문자, 숫자, 하이픈만 사용하는 것을 권장합니다.