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.