iCloud MCP Server
by epinethroneio.github.epinethrone/icloud-mcpv0.12.1
iCloud Mail, Calendar, Contacts, Reminders, Notes and Drive. Approval-first, self-hosted or local.
context tax
queued
security
queued
cold start
queued
freshness
Active13d ago
Install iCloud MCP server
Install in Claude Code
claude mcp add icloud-epinethrone -e ICLOUD_USERNAME='<icloud-username>' -e ICLOUD_APP_PASSWORD='<icloud-app-password>' -- uvx icloud-mcp-server --localInstall in Cursor
{
"mcpServers": {
"icloud-epinethrone": {
"command": "uvx",
"args": [
"icloud-mcp-server",
"--local"
],
"env": {
"ICLOUD_USERNAME": "<icloud-username>",
"ICLOUD_APP_PASSWORD": "<icloud-app-password>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"icloud-epinethrone": {
"command": "uvx",
"args": [
"icloud-mcp-server",
"--local"
],
"env": {
"ICLOUD_USERNAME": "<icloud-username>",
"ICLOUD_APP_PASSWORD": "<icloud-app-password>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"icloud-epinethrone": {
"type": "stdio",
"command": "uvx",
"args": [
"icloud-mcp-server",
"--local"
],
"env": {
"ICLOUD_USERNAME": "<icloud-username>",
"ICLOUD_APP_PASSWORD": "<icloud-app-password>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"icloud-epinethrone": {
"command": "uvx",
"args": [
"icloud-mcp-server",
"--local"
],
"env": {
"ICLOUD_USERNAME": "<icloud-username>",
"ICLOUD_APP_PASSWORD": "<icloud-app-password>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| ICLOUD_USERNAME | yes | — | Your Apple Account email. |
| ICLOUD_APP_PASSWORD | yes | yes | An app-specific password from account.apple.com (not your Apple password). |
| ICLOUD_DISPLAY_NAME | — | — | Name shown on mail you send. |
| DEFAULT_TIMEZONE | — | — | IANA timezone for calendar times, e.g. Europe/Berlin. |
| SEND_REQUIRES_APPROVAL | — | — | true: mail Claude sends is saved to Drafts for you to send. false: sent directly. |
| AGENT_NOTES_FILE | — | — | Path to a file with your own rules for agents, added to the instructions. |
| OWNER_ADDRESSES | — | — | Your aliases, comma-separated, so invitations to them count as yours. |
| WARMUP_ON_START | — | — | Sign in to mail, calendar and contacts in the background at start. |
| TOOL_WORKERS | — | — | Tool calls that can run at the same time. |
Freshness
Active — last maintenance signal 13d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-09-27 · 13d ago · GitHub
Latest release
2026-09-26 · 13d ago · GitHub · v0.12.1
Package published
no data · npm/PyPI
Registry entry updated
2026-09-26 · 13d ago · official registry · v0.12.1
FAQ
›How do I install the iCloud MCP server in Claude Code?
Run: claude mcp add icloud-epinethrone -e ICLOUD_USERNAME='<icloud-username>' -e ICLOUD_APP_PASSWORD='<icloud-app-password>' -- uvx icloud-mcp-server --local. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does iCloud require an API key?
Yes. It expects ICLOUD_USERNAME, ICLOUD_APP_PASSWORD, of which 1 is a secret.
›Can I use iCloud as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is iCloud in the official MCP registry?
Yes, as io.github.epinethrone/icloud-mcp.
Alternatives to iCloud
Other calendar & scheduling MCP servers.