Skip to main content
Glama
README.md
# 오늘 뭐하지 3선 MCP

음식·여행·숙박·휴식·액티비티를 **3개 선택지**로 줄여주는 상황형 로컬 추천 MCP 서버입니다.

사용자가 “오늘 뭐하지?”, “배고픈데 나가기 귀찮아”, “기분이 별로인데 집에만 있긴 싫어”처럼 애매하게 말하면 현재 문장에서 드러나는 기분, 피로도, 시간 여유, 이동 가능성, 예산을 분류하고 지금 실행 가능한 선택지 3개를 반환합니다.

## 핵심 기능

- 현재 상황 분류: 기분, 에너지, 욕구, 이동 가능성, 예산, 시간 여유
- 선택지 3개 생성: 음식, 여행/산책, 숙박, 휴식, 액티비티
- 선택지별 검색 키워드 생성
- 광고·제휴·결제 가능 정보 분리 정책 제공

## MCP Tools

| Tool | 설명 |
|---|---|
| `classify_today_context` | 사용자 문장에서 상황 태그를 분류합니다. |
| `generate_top3_choices` | 상황에 맞는 실행 가능한 선택지 3개를 생성합니다. |
| `build_search_keywords` | 선택지 ID와 위치 텍스트를 검색 키워드 3개로 변환합니다. |
| `apply_disclosure_policy` | 광고·제휴·결제 가능 정보 분리 정책을 반환합니다. |

## HTTP Endpoints

| Endpoint | 설명 |
|---|---|
| `GET /health` | 서버 상태 확인 |
| `POST /mcp` | Streamable HTTP MCP endpoint |
| `GET /mcp` | Streamable HTTP MCP session endpoint |
| `DELETE /mcp` | Streamable HTTP MCP session 종료 |

## 로컬 실행

```bash
npm install
npm run dev
```

상태 확인:

```bash
curl http://localhost:3000/health
```

## Docker 실행

```bash
docker build -t today-top3-mcp .
docker run -p 3000:3000 today-top3-mcp
```

## 개인정보·광고 정책

이 서버는 로그인, 위치 권한, 결제 정보, 사용자 프로필을 사용하지 않습니다. 입력된 문장과 선택적 위치 텍스트만 현재 요청 처리에 사용합니다.

광고·제휴·결제 가능 정보는 일반 추천과 분리해 표시하도록 설계했습니다. 감정 저하 또는 피로 상태에서는 고가·충동구매성 추천을 제한합니다.