Runs on your machine from its package; the steps are below.
At most: creates or changes data: records, files, settings.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y icloud-calendar-mcp
MCP client config
{
"mcpServers": {
"icloud-calendar": {
"command": "npx",
"args": [
"-y",
"icloud-calendar-mcp"
]
}
}
}
An MCP server for managing iCloud Calendar.
English · 简体中文
Requirements:
Add the server to your MCP client:
{
"mcpServers": {
"icloud-calendar": {
"command": "npx",
"args": ["-y", "icloud-calendar-mcp"],
"env": {
"ICLOUD_USERNAME": "you@example.com",
"ICLOUD_APP_PASSWORD": "xxxx-xxxx-xxxx-xxxx"
}
}
}
}
Use an app-specific password, not your Apple Account password.
| Tool | Purpose |
|---|---|
list_calendars | List calendars |
list_events | List events in a time range |
get_event | Get an event |
create_event | Create an event |
update_event | Update an event |
delete_event | Delete an event |
find_conflicts | Find overlapping events |
free_busy | Return busy time ranges |
Events can include time zones, all-day dates, recurrence rules, alarms, locations, descriptions, URLs, and attendees.
Once the server is connected, you can ask your MCP client:
Show my calendars.
What is on my calendar next week in Asia/Shanghai time?
Add a project review to my Work calendar tomorrow from 2:00 PM to 3:00 PM, with a reminder 15 minutes before.
Do I have any conflicts on Friday between 9:00 AM and noon?
Move the project review to 4:00 PM and change the location to Meeting Room B.
Add an all-day event called “Company holiday” on October 1.
Delete the project review event.
For ambiguous requests, include the calendar, date, time, and time zone when possible.
2026-08-18 to 2026-08-19.request_id for safe retries.See tool contracts for complete inputs, outputs, and error codes.
stdio is the default transport. Streamable HTTP is optional:
ICLOUD_MCP_TRANSPORT=http \
ICLOUD_MCP_HTTP_TOKEN='replace-with-a-long-random-token' \
ICLOUD_MCP_HTTP_PORT=3000 \
npx -y icloud-calendar-mcp
HTTP mode requires a bearer token and listens on loopback by default. See security before exposing it through a proxy.
pnpm install
pnpm check
See architecture, contributing, and releasing.