iCloud MCP — Claude Code MCP server: what it does, how to install
Brings Apple Mail, Reminders, Notes, and Calendar into your AI assistant. Ideal for managing personal schedule and tasks without leaving the editor.
claude mcp add --env USE_LOCAL_MODE=<USE_LOCAL_MODE> --env ICLOUD_EMAIL=<ICLOUD_EMAIL> --env ICLOUD_APP_PASSWORD=<ICLOUD_APP_PASSWORD> --transport stdio icloud-mcp -- npx -y mcp-icloudWhat iCloud MCP does
This server ties seven Apple applications to your coding assistant through 41 tools. It provides two switchable execution modes. Local mode runs AppleScript commands against desktop macOS programs, avoiding account passwords. Cloud mode connects through IMAP, SMTP, CalDAV, and CardDAV, which allows it to operate on non-macOS systems.
Changing modes happens on the fly with set-mode. The process communicates via standard input and output with JSON-RPC, listening on no network ports. Reading Apple Messages requires installing the imsg CLI utility alongside Full Disk Access permissions.
What it helps with
- search inbox messages and dispatch email replies
- schedule new events across Apple calendars
- update task completion status in Reminders
- look up telephone numbers and emails in Contacts
Example prompts for the agent
- Check my calendar for any conflicts scheduled this week
- Add a reminder in Reminders to review deployment logs by 5 PM
- Search my notes for database credentials or setup guides
How to install iCloud MCP
Platform CLI
claude mcp add --env USE_LOCAL_MODE=<USE_LOCAL_MODE> --env ICLOUD_EMAIL=<ICLOUD_EMAIL> --env ICLOUD_APP_PASSWORD=<ICLOUD_APP_PASSWORD> --transport stdio icloud-mcp -- npx -y mcp-icloudReplace <…> with your own values
Platform CLI
codex mcp add icloud-mcp --env USE_LOCAL_MODE=<USE_LOCAL_MODE> --env ICLOUD_EMAIL=<ICLOUD_EMAIL> --env ICLOUD_APP_PASSWORD=<ICLOUD_APP_PASSWORD> -- npx -y mcp-icloudReplace <…> with your own values
Config file
{
"mcpServers": {
"icloud-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-icloud"
],
"env": {
"USE_LOCAL_MODE": "<USE_LOCAL_MODE>",
"ICLOUD_EMAIL": "<ICLOUD_EMAIL>",
"ICLOUD_APP_PASSWORD": "<ICLOUD_APP_PASSWORD>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"icloud-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-icloud"
],
"env": {
"USE_LOCAL_MODE": "<USE_LOCAL_MODE>",
"ICLOUD_EMAIL": "<ICLOUD_EMAIL>",
"ICLOUD_APP_PASSWORD": "<ICLOUD_APP_PASSWORD>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e USE_LOCAL_MODE=<USE_LOCAL_MODE> -e ICLOUD_EMAIL=<ICLOUD_EMAIL> -e ICLOUD_APP_PASSWORD=<ICLOUD_APP_PASSWORD> icloud-mcp npx -y mcp-icloudReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about iCloud MCP
How to install iCloud MCP in Claude Code?
Run claude mcp add icloud-mcp -e ICLOUD_APP_PASSWORD=<ICLOUD_APP_PASSWORD> -- npx -y mcp-icloud. To configure explicit local mode or account flags, execute `claude mcp add --env USE_LOCAL_MODE=<USE_LOCAL_MODE> --env ICLOUD_EMAIL=<ICLOUD_EMAIL> --env ICLOUD_APP_PASSWORD=<ICLOUD_APP_PASSWORD> --transport stdio icloud-mcp -- npx -y mcp-icloud`.
What does iCloud MCP do?
It enables an assistant to read and edit data in Apple Mail, Calendar, Contacts, Reminders, and Notes. Operations execute locally via AppleScript or remotely over standard internet protocols.
When should you use local mode over cloud mode?
Local mode accesses services missing from external iCloud endpoints, like Reminders and Notes, without storing app passwords. Cloud mode works on any operating system but stays limited to mail, calendar, and contacts.