Icloud MCP server
io.github.eodozzy/icloud-mcp·v0.1.1·1 starsRead-only-by-default MCP server for iCloud mail, calendar, and contacts (IMAP/CalDAV/CardDAV).
1 stars44 downloads/wk
Reviews
Write oneNobody has reviewed Icloud yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Icloud tools (18, 7 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
create_contactwrite actionCreate a new contact. Requires writes enabled + interactive confirmation.
create_eventwrite actionCreate a calendar event. `start`/`end` are ISO-8601 (e.g. 2026-06-21T14:00:00).
delete_contactwrite actionDelete a contact by UID. Requires writes enabled + interactive confirmation.
delete_eventwrite actionDelete a calendar event by UID. Requires writes enabled + interactive confirmation.
forward_mailForward message `uid` to `to`. Writes enabled + confirmation.
get_messageFetch a single message by UID, including its full text body.
list_calendarsList the names of all available calendars.
list_contactsList contacts from the iCloud address book (name, emails, phones, org).
list_eventsList calendar events from today through `days_ahead` days out.
list_foldersList the IMAP mailbox folder names (e.g. INBOX, Sent Messages, Archive).
list_mailList messages in a folder (default INBOX), newest first.
reply_mailReply to message `uid` (quoting the original). Writes enabled + confirmation.
search_contactsFind contacts matching `query` across name, org, and email addresses.
search_eventsFind events whose title matches `text` within the next `days_ahead` days.
search_mailFull-text search mail in a folder (default INBOX). Returns newest first.
send_mailwrite actionSend a plain-text email. Requires writes enabled + interactive confirmation.
update_contactwrite actionEdit a contact by UID (from list/search_contacts). Empty/None fields unchanged.
update_eventwrite actionEdit an existing event (by UID). Empty fields are left unchanged.
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan12 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 89 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Icloud compares
Against every graded Productivity MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 78/100
- higher than 50% of 1,299 Productivity servers
- Tools
- 18
- the typical Productivity server has 7
- Tools that change things
- 39%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 50% of 854 Productivity servers
- Downloads a week
- 44
- more than 33% of 427 Productivity servers with a package
What its tools let an agent do: 10 read · 2 create · 2 change · 2 delete · 2 send or post
Install Icloud in Claude Code, Cursor or VS Code
claude mcp add icloud-mcp -- uvx icloud-mcp
What the publisher says
From the Icloud repository's README, as published. We do not edit it. Read it on GitHub
icloud-mcp
<!-- mcp-name: io.github.eodozzy/icloud-mcp -->
A Model Context Protocol server that gives AI assistants read-only access to your iCloud mail and calendar over IMAP and CalDAV. Credentials live in your OS keyring (macOS Keychain by default) — never in a config file or the repo.
Defaults target iCloud, but every endpoint is overridable, so it works against any standard IMAP/CalDAV provider.
Status
Read-only by default; writes are strictly opt-in. Mail, calendar, and contacts can be listed, searched, and read with no ability to change anything: the IMAP connection is opened read-only and bodies are fetched with BODY.PEEK[], so messages are never even marked as read.
Mutating tools span mail (sendmail, replymail, forwardmail), calendar (createevent, updateevent, deleteevent), and contacts (createcontact, updatecontact, deletecontact) — but all are disabled unless you set ICLOUDENABLEWRITES=1**, and even then every write requires an interactive confirmation (MCP elicitation) before it runs. See Writes (opt-in).
Writes (opt-in)
Mutations are gated two ways:
ICLOUDENABLEWRITES=1 is set in the server's environment.
- Operator switch — write tools refuse with an explanatory error unless
to confirm the exact action before executing. Destructive operations (delete event / contact) are gated identically — no extra force flag, just the same confirmation.
- Per-action confirmation — when enabled, each write tool calls back to the client
iCloud issues a single app-specific password covering IMAP, SMTP, CalDAV, and CardDAV — there is no scoped "write-only" credential — so write-safety is structural: mail is sent over a separate, fresh SMTP connection (the read path's IMAP client has no send capability), and the opt-in flag + confirmation guard every mutation.
Install
pip install icloud-mcpOr run it without installing — handy for MCP clients that launch the server on demand:
uvx icloud-mcpTo install the latest unreleased code straight from GitHub:
pip install git+https://github.com/eodozzy/icloud-mcpOr for local development:
git clone git@github.com:eodozzy/icloud-mcp
cd icloud-mcp
python3 -m venv .venv && .venv/bin/pip install -e ".[test]"Requires Python 3.11+.
Credentials
Generate an app-specific password for your Apple ID (never use your main password), then store it in your keyring:
# macOS
security add-generic-password -a "you@icloud.com" -s "icloud-mcp" -w "xxxx-xxxx-xxxx-xxxx"On other platforms, the cross-platform keyring library is used — keyring set icloud-mcp you@icloud.com also works anywhere.
The username comes from the ICLOUD_USERNAME environment variable. Resolution order for the password:
- OS keyring (ICLOUDKEYRINGSERVICE, default icloud-mcp, + username)
- ICLOUDAPPPASSWORD environment variable (fallback)
To reuse an existing keyring entry (e.g. one named my-icloud), set ICLOUDKEYRINGSERVICE=my-icloud.
Configuration
Set ICLOUD_USERNAME (required). All else is optional — see .env.example for the full list of endpoint/timezone overrides.
Register with an MCP client
The server speaks MCP over stdio: a client launches the icloud-mcp command as a subprocess and talks to it over stdin/stdout. "Installing" it into a client just means telling that client which command to run and which env vars to pass — the password itself stays in the keyring, never in the client config.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Icloud: common questions
- Is Icloud MCP server safe?
- Mostly: it is graded B (78/100). Read the Icloud safety report
- How do I install Icloud?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Icloud need an API key?
- Yes. The registry entry asks for
ICLOUD_APP_PASSWORD. - Is Icloud maintained?
- The last commit was 127 days ago (2026-06-30). The latest release is v0.1.1.
- What can I use instead of Icloud?
- Servers from other publishers that do the same job: AIquila — Nextcloud MCP Server, Mu MCP server and Caldav MCP server.
- How does Icloud compare with other Productivity MCP servers?
- safety score 78/100 (higher than 50% of 1,299 Productivity servers); tools 18 (the typical Productivity server has 7); tools that change things 39% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Icloud
Same job from other publishers: the closest match first, then the best rated.
- AIquila — Nextcloud MCP ServerNextcloud MCP server — 345 tools: files, calendar, contacts, mail, Talk, Deck, photos, maps, notesnot reviewedEstablishedC
MuNews, web search, mail, markets, weather, places, files, calendar, contacts. 67 tools, one endpoint.not reviewedEstablishedB- CaldavCalDAV calendar operations (list, create, update, delete events) as MCP tools.not reviewedEstablishedB
- Apple Tools (Unified)Unified Apple ecosystem MCP server for macOS: Mail, Calendar, Notes, Files, Messages, and more.not reviewedEstablishedA
- GigamailYour real mailbox and calendar for your agent (M365/IMAP); a human approves every send.not reviewedGrowingA