apple-icloud-mcp
Provides tools for accessing and managing Apple iCloud Calendar events and Reminders, and searching iCloud Contacts (read-only) via CalDAV/CardDAV. Supports listing calendars and reminder lists, creating, updating, completing, and deleting events and reminders, and searching contacts by name, email, phone, or organization.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@apple-icloud-mcpwhat's on my calendar tomorrow?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Apple iCloud Calendar, Reminders and Contacts for Grok Bot and Cursor
An MCP server plugin that lets your agent read your iCloud Calendar, Reminders and Contacts, and create, edit and delete calendar events and reminders. It uses standard Apple protocols, CalDAV and CardDAV, and an Apple app-specific password. Contacts are read-only, and the plugin has no mail tools and sends no messages.
iCloud Mail is not supported directly. The plugin includes a skill that helps you forward iCloud Mail to a mailbox your agent already reads. See iCloud Mail.
What it does
Calendar: list your calendars and the events in a date range, with recurring events expanded. Create, edit and delete events.
Reminders: list reminder lists and incomplete reminders. Create, edit, complete and delete reminders.
Contacts: search contacts by name, email, phone or organization.
Skill
icloud-mail-forwarding: asks which mailbox your agent should read your iCloud mail from, such as Gmail or Outlook, and walks you through setting up forwarding.
Related MCP server: icloud-reminders-mcp
1. Create an app-specific password
Sign in at account.apple.com.
Open Sign-In and Security, then App-Specific Passwords.
Click the plus button, name it for example
Grok Bot, and copy the password. It looks likexxxx-xxxx-xxxx-xxxx.
Two-factor authentication must be enabled on your Apple ID. Never use your normal Apple ID password.
2. Setup
Grok Bot and Cursor marketplace
Install the plugin, then open Plugins, then Configure, and set:
Variable | Required | Description |
| yes | Your Apple ID email |
| yes | The app-specific password from step 1 |
The machine that runs the server needs uv. It installs the Python dependencies on first start.
Manual setup with any MCP client
git clone https://github.com/p4cs-974/apple-icloud-mcp
cd apple-icloud-mcpAdd this to your MCP client config:
{
"mcpServers": {
"apple-icloud": {
"command": "uv",
"args": ["run", "--quiet", "--directory", "/path/to/apple-icloud-mcp", "python", "server.py"],
"env": {
"APPLE_ID": "you@example.com",
"APPLE_APP_PASSWORD": "xxxx-xxxx-xxxx-xxxx"
}
}
}
}If a required variable is missing, tool calls fail with a message that names it.
Tools
Tool | Arguments | Description |
| none | Calendars that hold events |
|
| Events in a range with uid, recurrences expanded |
| none | Reminder lists |
|
| Open reminders with uid, due date, priority and notes |
|
| Creates an event and returns its uid. A plain date makes an all-day event |
|
| Changes an existing event |
|
| Permanently deletes an event |
|
| Creates a reminder and returns its uid |
|
| Changes or completes a reminder |
|
| Permanently deletes a reminder |
|
| Contacts with names, emails, phones, organization and birthday |
iCloud Mail
This plugin cannot read iCloud Mail. Apple only offers mail over IMAP, and many agent environments only allow outbound HTTPS, so a direct mail connection would fail for many users.
Instead, use the bundled icloud-mail-forwarding skill. Ask your agent to help you read your iCloud mail. It will ask which mailbox it should use, for example Gmail or Outlook, and give you the steps to forward iCloud Mail there. The agent then reads the forwarded mail through its existing connection to that mailbox.
What to expect from forwarding:
Only new mail arrives after you turn it on. Old messages and iCloud folders are not copied.
Replies come from the destination account, not from iCloud.
You set it up yourself in iCloud Mail, so the plugin never needs your mail credentials.
Security notes
Writes are limited to your calendar events and reminders. The write tools only touch items you ask the agent to change. Delete tools remove items permanently, so review what your agent plans to delete. Contacts cannot be changed. There are no tools that send email or messages.
Your password stays local. It is read from an environment variable by the server process on the machine where it runs. It is only sent to Apple at
caldav.icloud.comandcontacts.icloud.comover TLS. It is never logged, returned by a tool or written to disk by this plugin.Scoped and revocable. An app-specific password is separate from your Apple ID password. You can revoke it at any time at account.apple.com under App-Specific Passwords. Revoke it if you stop using the plugin.
Data goes to your agent. Anything a tool returns, such as events and contacts, becomes part of the conversation with your model provider. Only enable this plugin with agents you trust.
Untrusted text. Event titles, notes and contact fields can contain text written by other people. Treat them as data, not instructions.
Limitations
Mail is not supported directly. See iCloud Mail.
Reminders: only incomplete reminders are listed. Subtasks and sections are not exposed.
Editing a recurring event changes the whole series. Single occurrences cannot be edited separately.
Events created without a time zone name and without an offset are floating times, which iCloud shows in each device's own time zone. Pass
timezone_name, for exampleAmerica/Sao_Paulo, to fix the zone.Contacts are loaded in full on each search and filtered locally.
This plugin is unofficial. It is not affiliated with or endorsed by Apple Inc. Apple may change these services at any time.
Development
uv sync
uv run python tests/smoke_test.py # starts the server with dummy credentials and checks the tools, without contacting iCloudLicense
MIT © Pedro Custódio
This server cannot be deployed
Maintenance
Related MCP Connectors
- muse.spaceOAuthspace.muse
Let your agent into iCloud Mail, calendar and contacts. It gets actions, never your password.
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.
GDPR-compliant calendar access for AI assistants: read, create, edit, RSVP. Google, MS 365, Apple.
Mac & Windows: let ChatGPT, Claude & Cursor use your email, calendar, iMessage, Teams, files.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to access iCloud Calendar, Reminders, and Mail with configurable scope and read-only modes.1MIT
- AlicenseAqualityCmaintenanceGives AI agents read and write access to Apple Reminders via iCloud CalDAV, syncing with iPhone/iPad and supporting lists shared via Family Sharing.73MIT
- AlicenseBqualityBmaintenanceEnables Claude to interact with Apple apps on macOS including Mail, Calendar, Contacts, Reminders, Notes, and iCloud Drive for personal productivity tasks like triaging email, managing calendar, and cross-app context.768MIT
- AlicenseAqualityAmaintenanceEnables Claude to interact with Apple services including Email, Calendar, Contacts, Reminders, Notes, Messages, and Safari via AppleScript (macOS) or iCloud protocols.41184 npm66MIT