Skip to content

Legacy Apple Calendar MCP Server

Overview

Original Python-based MCP server that interacted with iCloud calendars directly via the caldav library. It has been superseded by the Node.js implementation in mcp_servers/calendarTool, but remains here for historical reference.

Components

  • main.py – registers five MCP tools covering CRUD operations on calendar events and calendar listing.
  • apple_calendar.py – CalDAV helper that authenticates against https://caldav.icloud.com, enumerates calendars, and performs event operations.
  • Dockerfile – Python 3.13 build (retained in this folder) capable of running the legacy service.

Exposed MCP tools

ToolPurpose
get_apple_calendar_eventsFetch events for a calendar between two dates (strings YYYY-MM-DD).
add_event_to_calendarCreate an all-day event given start/end timestamps.
update_event_in_calendarUpdate an existing event by UID.
delete_event_from_calendarRemove an event by UID.
list_all_calendarsEnumerate accessible calendars for the authenticated account.

All tools rely on iCloud credentials (APPLE_ID, APPLE_PASSWORD) available as environment variables.

Limitations

  • Uses synchronous CalDAV calls without persistent storage or embeddings.
  • Does not support recurring event expansion beyond the limited logic in map_events.
  • No corresponding *.mcp.yml; the service must be invoked manually if ever needed.

Prefer the maintained server in mcp_servers/calendarTool for production use.