SkillTide Submit
Official description7 sourcesMCP servers8d ago
MrGo2/icloud-mcp

MrGo2/icloud-mcp

Apple Mail, Calendar, Contacts, Reminders, Notes,
View on GitHub ↗Direct link · no redirect page
Config template (adjust for your client)
claude mcp add icloud-mcp -- npx -y icloud-mcp
A pasteable skeleton generated from the repository name. Check the project README for the exact package and arguments.
Star count
66 ★ · MrGo2/icloud-mcp · read from the GitHub search API · (checked 2026-10-16 20:00:20)
Source
collected from the punkpeye/awesome-mcp-servers list · type: MCP server
Harvest history
first seen 2026-10-09 · last seen 2026-10-16 · seen 32× · listed by 7 sources
Score
score 703 · 66 ★ · 7 sources · mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository MrGo2/icloud-mcp;first catalogued 2026-10-09;last seen 2026-10-16。There is no official certification or quality rating here — we record sources and dates only.
Third-party quality signals

icloud-mcp covers seven Apple services with two interchangeable backends, and as

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

Features
The server exposes 41 tools across Email, Calendar, Contacts, Reminders, Notes, Messages and Safari. Each tool carries a typed schema, a human title and behavioural annotations, and every list-* tool returns machine-readable structuredContent alongside its text output. Local mode needs no passwords at all; macOS Automation permissions take their place.
Access and security model
The server speaks JSON-RPC over stdin/stdout only. It opens no ports and listens on no socket.
Credentials are never logged. ICLOUD_APP_PASSWORD is read once at startup and handed only to the IMAP/SMTP/CalDAV/CardDAV clients; diagnostics print a fixed mask, never the value. Where you keep the password is up to you: a .env file beside the module for a manual install, or the .mcpb bundle's sensitive field, which the host stores in the macOS Keychain. Local mode has no password anywhere, since macOS gates access per app through its own Automation prompts, and you can revoke those at any time.
Every tool argument is validated against a zod schema before the handler runs. Arguments are also coerced at each AppleScript interpolation site, so a value that is not a number cannot reach a script template.
Privacy Policy
The server collects nothing and keeps nothing: no telemetry, no analytics, no state on disk. Your data moves only between your machine, the AI client you connect and Apple's services. The full policy, covering collection, storage, third-party sharing, retention and contact, is in PRIVACY.md.
Tools
Tools marked local only return an error in cloud mode, because the iCloud protocols do not expose those services.
Authentication
- **about**
- Returns information about this server, the active mode and whether credentials are configured
- No input
- **check-auth-status**
- Verifies credentials are usable for the active mode
- No input
- **set-mode**
- Switches between local and cloud without restarting
- Input: mode (string, local or cloud)
Email
- **list-emails**: folder (string, optional), count (number, optional, max 50)
- **read-email**: uid (string), folder (string, optional)
- **send-email**: to, subject, body (strings); cc, bcc (strings, optional); isHtml (boolean, optional, cloud mode only)
- **search-emails**: query, from, subject, folder (strings, optional), unreadOnly (boolean, optional), count (number, optional)
- **mark-as-read**: uid (string), folder (string, optional), isRead (boolean, optional)
- **list-folders**: no input
Calendar
- **list-events**: count (number, optional, max 50), daysAhead (number, optional)
- **create-event**: summary, start, end (strings, ISO 8601); description, location (optional); calendarUrl (cloud) or calendarName (local)
- **update-event**: eventUrl (string); any of summary, start, end, description, location. Only the fields you pass change
- **delete-event**: eventUrl (string)
- **list-calendars**: no input
Contacts
- **list-contacts**: count (number, optional, max 50)
- **search-contacts**: query (string), count (number, optional). Matches name, organisation, email and phone; phone matching ignores formatting
- **read-contact**: contactUrl (string)
- **create-contact**: displayName, firstName, lastName, email, phone, organization, title, notes (all optional)
- **delete-contact**: contactUrl (string)
- **list-contact-accounts**: no input (local only)
- **list-contact-groups**: accountId (string, optional) (local only)
Reminders (local only)
- **list-reminder-lists**: no input
- **list-reminders**: listName (string, optional), includeCompleted (boolean, optional), count (number, optional)
- **create-reminder**: name (string); body, dueDate, listName (optional); priority (number 0-9, optional)
- **update-reminder**: reminderId (string); any of name, body, dueDate, priority
Source
awesome · https://github.com/MrGo2/icloud-mcp
Browse by field
MCP servers
Traction
66 ★
added
yesterday

More in MCP servers

All 5,525 in MCP servers →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index