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 againsthttps://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
| Tool | Purpose |
|---|---|
get_apple_calendar_events | Fetch events for a calendar between two dates (strings YYYY-MM-DD). |
add_event_to_calendar | Create an all-day event given start/end timestamps. |
update_event_in_calendar | Update an existing event by UID. |
delete_event_from_calendar | Remove an event by UID. |
list_all_calendars | Enumerate 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.