PROJECT_STRUCTURE.md•2.39 kB
# 프로젝트 구조
```
ittae-MCP/
├── src/ # 소스 코드
│ ├── __init__.py # 패키지 초기화
│ ├── main.py # MCP 서버 메인 모듈
│ ├── models/ # 데이터 모델
│ │ └── __init__.py # 모델 정의 (CalendarEvent, EventCategory 등)
│ ├── services/ # 비즈니스 로직
│ │ ├── __init__.py
│ │ └── calendar_service.py # 캘린더 서비스 구현
│ └── exceptions/ # 예외 처리
│ └── __init__.py # 커스텀 예외 클래스들
├── tests/ # 테스트 코드
│ ├── __init__.py
│ └── test_calendar_service.py # 서비스 테스트
├── main.py # 프로젝트 진입점
├── test_mcp.py # MCP 기능 테스트 스크립트
├── mcp-config.json # MCP 클라이언트 설정
├── pyproject.toml # 프로젝트 설정
├── uv.lock # 의존성 잠금 파일
└── README.md # 프로젝트 문서
```
## 핵심 기능
### 🔧 MCP 도구 (Tools)
1. **get_all_events()** - 모든 이벤트 조회
2. **get_event_by_id(event_id)** - 특정 이벤트 조회
3. **create_calendar_event(...)** - 새 이벤트 생성
4. **update_calendar_event(...)** - 이벤트 수정
5. **delete_calendar_event(event_id)** - 이벤트 삭제
6. **complete_event(event_id, stamina_after)** - 이벤트 완료
7. **get_events_by_category(category)** - 카테고리별 조회
8. **get_events_by_date(date)** - 날짜별 조회
### 📊 데이터 모델 (ADT 기반)
- **EventCategory**: STUDY, WORK, REST, ACTIVITY
- **EventStatus**: PLANNED, COMPLETED, CANCELED
- **CalendarEvent**: 핵심 이벤트 엔티티
- **CalendarEventRequest/Response**: API 요청/응답 모델
### 🛡️ 기능
- ✅ 시간 충돌 방지
- ✅ 타입 안전성 (Pydantic)
- ✅ 스태미나 시스템 통합
- ✅ 포괄적인 테스트 커버리지
- ✅ ADT 기반 아키텍처
## 실행 방법
### 개발 서버 실행
```bash
uv run python src/main.py
```
### 테스트 실행
```bash
uv run python -m pytest tests/ -v
```
### 기능 테스트
```bash
uv run python test_mcp.py
```