Apple Calendar
Apple Calendar
Apple Calendar MCP 서버는 MacOS의 내장 Calendar 애플리케이션과 상호작용할 수 있는 Model Context Protocol 서버입니다. 이 서버를 통해 AI 어시스턴트는 자연어를 사용하여 일정을 확인하고, 이벤트를 추가하거나 편집하고, 다양한 캘린더 기능을 활용할 수 있습니다.
특징
- 캘린더 이벤트 조회, 추가, 편집 및 삭제
- 여러 캘린더 계정 및 캘린더 관리
- 자연어를 통한 일정 생성 및 조회
- 반복 이벤트 생성 및 관리
- 이벤트 상세 정보(위치, 참석자, 알림 등) 설정
- 다양한 기간(일별, 주별, 월별) 일정 조회
- 날짜 및 시간 범위에 따른 일정 필터링
- MacOS 알림 센터를 통한 일정 알림
- iCloud 동기화 지원
- 캘린더 간 일정 이동 및 복사
API
리소스
calendar://{calendar_id}
- 특정 캘린더에 대한 정보와 이벤트 목록을 제공합니다.
event://{event_id}
- 특정 이벤트의 세부 정보를 제공합니다.
도구
list_calendars
사용 가능한 모든 캘린더를 나열합니다. - 입력: 없음 - 출력: 캘린더 ID, 제목, 색상 및 기타 정보를 포함한 캘린더 목록
get_calendar
특정 캘린더의 정보를 가져옵니다. - 입력: - calendar_id: 캘린더 ID - 출력: 캘린더 상세 정보
list_events
캘린더의 이벤트를 나열합니다. - 입력: - calendar_id: (선택적) 캘린더 ID (생략 시 모든 캘린더) - start_date: (선택적) 시작 날짜 (기본값: 오늘) - end_date: (선택적) 종료 날짜 (기본값: 시작 날짜로부터 7일) - include_completed: (선택적) 완료된 이벤트 포함 여부 - 출력: 이벤트 목록
get_event
특정 이벤트의 세부 정보를 가져옵니다. - 입력: - event_id: 이벤트 ID - 출력: 이벤트 상세 정보
create_event
새 이벤트를 생성합니다. - 입력: - calendar_id: 캘린더 ID - title: 이벤트 제목 - start_date: 시작 일시 - end_date: (선택적) 종료 일시 (기본값: 시작 일시로부터 1시간) - location: (선택적) 위치 - notes: (선택적) 메모 - url: (선택적) 관련 URL - all_day: (선택적) 종일 이벤트 여부 - recurrence: (선택적) 반복 규칙 - alarms: (선택적) 알림 설정 - attendees: (선택적) 참석자 목록
update_event
기존 이벤트를 업데이트합니다. - 입력: - event_id: 이벤트 ID - title: (선택적) 새 제목 - start_date: (선택적) 새 시작 일시 - end_date: (선택적) 새 종료 일시 - location: (선택적) 새 위치 - notes: (선택적) 새 메모 - url: (선택적) 새 URL - all_day: (선택적) 종일 이벤트 여부 - recurrence: (선택적) 새 반복 규칙 - alarms: (선택적) 새 알림 설정 - attendees: (선택적) 새 참석자 목록
delete_event
이벤트를 삭제합니다. - 입력: - event_id: 삭제할 이벤트 ID - delete_all_future: (선택적) 반복 이벤트의 모든 향후 인스턴스 삭제 여부
search_events
이벤트를 검색합니다. - 입력: - query: 검색 쿼리 - calendar_ids: (선택적) 검색할 캘린더 ID 목록 - start_date: (선택적) 검색 시작 날짜 - end_date: (선택적) 검색 종료 날짜 - max_results: (선택적) 최대 결과 수 - 출력: 검색 결과와 일치하는 이벤트 목록
find_free_time
특정 기간 내에서 비어 있는 시간을 찾습니다. - 입력: - calendar_ids: (선택적) 확인할 캘린더 ID 목록 - start_date: 검색 시작 날짜 - end_date: 검색 종료 날짜 - duration_minutes: 필요한 시간(분) - working_hours_only: (선택적) 근무 시간 내에서만 검색할지 여부 - 출력: 이용 가능한 시간대 목록
create_calendar
새 캘린더를 생성합니다. - 입력: - title: 캘린더 제목 - color: (선택적) 캘린더 색상 - description: (선택적) 캘린더 설명 - 출력: 생성된 캘린더 정보
delete_calendar
캘린더를 삭제합니다. - 입력: - calendar_id: 삭제할 캘린더 ID
사용 방법
설치 및 구성
- 사전 요구 사항:
- MacOS 운영 체제 (최소 Catalina 10.15 이상)
- Python 3.8 이상
-
MacOS Calendar 앱 접근 권한
-
MCP 서버 설치:
pip install apple-calendar-mcp -
Claude Desktop 구성:
{ "mcpServers": { "apple-calendar": { "command": "python", "args": ["-m", "apple_calendar_mcp"], "env": { "CALENDAR_ACCESS_LEVEL": "read-write" } } } } -
초기 설정: 첫 실행 시 MacOS에서 Calendar 앱에 대한 접근 권한을 요청합니다. 시스템 환경설정 > 보안 및 개인 정보 보호 > 개인 정보 보호 > 캘린더에서 이 애플리케이션을 허용해야 합니다.
-
구성 옵션:
CALENDAR_ACCESS_LEVEL: 캘린더 접근 수준 (read-only, read-write)DEFAULT_CALENDAR_ID: 기본 캘린더 IDWORKING_HOURS_START: 근무 시간 시작 (HH:MM 형식, 기본값: 09:00)WORKING_HOURS_END: 근무 시간 종료 (HH:MM 형식, 기본값: 17:00)WORKING_DAYS: 근무 일 (월요일부터 일요일까지, 0-6, 기본값: 0,1,2,3,4)
기본 사용 예시
-
사용 가능한 캘린더 확인:
list_calendars() -
오늘의 일정 확인:
list_events({ start_date: "2025-05-14", end_date: "2025-05-14" }) -
새 이벤트 생성:
create_event({ calendar_id: "personal", title: "팀 회의", start_date: "2025-05-15T14:00:00", end_date: "2025-05-15T15:00:00", location: "회의실 A", notes: "분기별 마케팅 계획 논의", alarms: [ { trigger: -15, unit: "minutes" } ] }) -
반복 이벤트 생성:
create_event({ calendar_id: "work", title: "주간 팀 스탠드업", start_date: "2025-05-20T10:00:00", end_date: "2025-05-20T10:30:00", recurrence: { frequency: "weekly", interval: 1, days_of_week: [1], // 월요일 end: { type: "count", count: 10 } } }) -
이벤트 검색:
search_events({ query: "회의", start_date: "2025-05-01", end_date: "2025-05-31" }) -
일정이 없는 시간 찾기:
find_free_time({ start_date: "2025-05-15", end_date: "2025-05-16", duration_minutes: 60, working_hours_only: true }) -
자연어 명령 처리:
// 서버는 자연어 명령을 적절한 API 호출로 변환하는 기능 지원 process_natural_language_command({ command: "내일 오후 3시에 1시간 동안 치과 예약 추가해줘" })
보안 고려사항
- MacOS Calendar 앱 접근 권한은 민감한 권한이므로 신중하게 관리해야 합니다.
- 기본적으로 읽기 전용 모드로 설정하는 것이 안전합니다.
- 민감한 일정 정보가 포함된 경우 적절한 보안 조치를 취하세요.
- 사용자의 명시적 동의 없이 캘린더 데이터를 외부와 공유하지 마세요.
연결된 구성 요소
- Google Calendar - 일정 확인, 시간 찾기, 이벤트 추가/삭제를 위한 Google Calendar 통합
- Home Assistant - 조명, 스위치, 센서 및 기타 모든 Home Assistant 엔티티를 보고 제어
- Siri Shortcuts - macOS에서 Siri 단축어와 상호작용하기 위한 MCP