icloud-mcp
About
Read-only-by-default MCP server for iCloud mail, calendar, and contacts (IMAP/CalDAV/CardDAV).
Use this server
Add it to your MCP client. The catalogue lists this config verbatim from its source — it does not run, download, or vouch for the server. Review the command before you run it.
Transportstdio (runs a local command)
Env vars
ICLOUD_USERNAME ICLOUD_KEYRING_SERVICE ICLOUD_APP_PASSWORD ICLOUD_ENABLE_WRITES ICLOUD_IMAP_HOST ICLOUD_IMAP_PORT ICLOUD_SMTP_HOST ICLOUD_SMTP_PORT ICLOUD_CALDAV_URL ICLOUD_CARDDAV_URL ICLOUD_TZClaude Code
claude mcp add --env ICLOUD_USERNAME= --env ICLOUD_KEYRING_SERVICE= --env ICLOUD_APP_PASSWORD= --env ICLOUD_ENABLE_WRITES= --env ICLOUD_IMAP_HOST= --env ICLOUD_IMAP_PORT= --env ICLOUD_SMTP_HOST= --env ICLOUD_SMTP_PORT= --env ICLOUD_CALDAV_URL= --env ICLOUD_CARDDAV_URL= --env ICLOUD_TZ= icloud-mcp -- uvx icloud-mcp
Cursor
If the button doesn't open Cursor, use the JSON below — Cursor accepts the same mcpServers config.
VS Code
code --add-mcp '{"name":"icloud-mcp","command":"uvx","args":["icloud-mcp"],"env":{"ICLOUD_USERNAME":"","ICLOUD_KEYRING_SERVICE":"","ICLOUD_APP_PASSWORD":"","ICLOUD_ENABLE_WRITES":"","ICLOUD_IMAP_HOST":"","ICLOUD_IMAP_PORT":"","ICLOUD_SMTP_HOST":"","ICLOUD_SMTP_PORT":"","ICLOUD_CALDAV_URL":"","ICLOUD_CARDDAV_URL":"","ICLOUD_TZ":""}}'
JSON
{
"mcpServers": {
"icloud-mcp": {
"command": "uvx",
"args": [
"icloud-mcp"
],
"env": {
"ICLOUD_USERNAME": "",
"ICLOUD_KEYRING_SERVICE": "",
"ICLOUD_APP_PASSWORD": "",
"ICLOUD_ENABLE_WRITES": "",
"ICLOUD_IMAP_HOST": "",
"ICLOUD_IMAP_PORT": "",
"ICLOUD_SMTP_HOST": "",
"ICLOUD_SMTP_PORT": "",
"ICLOUD_CALDAV_URL": "",
"ICLOUD_CARDDAV_URL": "",
"ICLOUD_TZ": ""
}
}
}
}
Environment variables are listed by name only — fill in your own values. Entries never carry secrets.