MCP 캘린더 서버
ADT(Algebraic Data Type) 기반의 MCP 캘린더 관리 시스템입니다.
개요
이 프로젝트는 Model Context Protocol(MCP)을 사용하여 캘린더 이벤트를 관리하는 서버입니다. 함수형 프로그래밍 패러다임과 ADT를 적용하여 타입 안전성과 예측 가능성을 보장합니다.
주요 기능
✅ 캘린더 이벤트 CRUD 작업
✅ 카테고리별 이벤트 분류 (학습, 업무, 휴식, 활동)
✅ 이벤트 상태 관리 (계획됨, 완료됨, 취소됨)
✅ 스태미나 시스템 통합
✅ 시간 충돌 방지
✅ 날짜별/카테고리별 이벤트 조회
설치 및 실행
요구사항
Python 3.10+
uv 패키지 매니저
설치
실행
API 도구 (Tools)
1. get_all_events()
모든 캘린더 이벤트를 조회합니다.
2. get_event_by_id(event_id: int)
특정 ID의 이벤트를 조회합니다.
3. create_calendar_event(...)
새로운 캘린더 이벤트를 생성합니다.
매개변수:
title
: 이벤트 제목start_time
: 시작 시간 (ISO 형식: 2025-08-02T10:00:00)duration
: 지속 시간(분)category
: 카테고리 (STUDY, WORK, REST, ACTIVITY)description
: 이벤트 설명 (선택)location
: 장소 (선택)stamina_cost
: 스태미나 소모량 (기본값: 0)
4. update_calendar_event(event_id: int, ...)
기존 이벤트를 수정합니다.
5. delete_calendar_event(event_id: int)
이벤트를 삭제합니다.
6. complete_event(event_id: int, stamina_after: int)
이벤트를 완료 상태로 변경합니다.
7. get_events_by_category(category: str)
카테고리별로 이벤트를 조회합니다.
8. get_events_by_date(date: str)
특정 날짜의 이벤트를 조회합니다.
데이터 모델
EventCategory
STUDY
: 학습WORK
: 업무REST
: 휴식ACTIVITY
: 활동
EventStatus
PLANNED
: 계획됨COMPLETED
: 완료됨CANCELED
: 취소됨
CalendarEvent
캘린더 이벤트의 핵심 엔티티로 다음 필드를 포함합니다:
ID, 사용자 ID, 제목, 설명, 장소
시작 시간, 지속 시간, 카테고리
스태미나 소모량, 상태, 완료 후 스태미나
생성 시간
프로젝트 구조
사용 예시
이벤트 생성
날짜별 이벤트 조회
이벤트 완료 처리
개발
테스트 실행
코드 포맷팅
라이선스
이 프로젝트는 MIT 라이선스 하에 배포됩니다.
Related MCP Servers
- -securityAlicense-qualityEnables comprehensive calendar management with capabilities to create, list, update, and delete events through a Model Context Protocol server integrated with Google Calendar.Last updated -143MIT License
- -securityAlicense-qualityIntegrates with the Eventbrite API to provide AI-assisted event management capabilities for viewing events, tracking attendees, and generating analytics reports.Last updated -01MIT License
- -securityFlicense-qualityA unified interface for managing digital life through integrations with Google Calendar, Obsidian Vault, Trello, and web page parsing capabilities.Last updated -4
- -securityAlicense-qualityA server that enables management of schedules through the Dooray API, allowing users to add events with automated time settings and support for location and description information.Last updated -1MIT License