Apple Reminders MCP Server
io.github.JonathanRReed/apple-mcp-reminders
Control Apple Reminders from Claude and Cursor—create, update, complete, and delete reminders on macOS.
What is the Apple Reminders MCP server?
The Apple Reminders MCP server lets AI clients like Claude and Cursor manage reminders in Apple's Reminders app on macOS. It provides tools to list, create, update, complete, and delete reminders, with support for due dates, priorities, and list organization. The server runs locally on your Mac and requires macOS with Python 3.11+.
This server bridges Claude and Cursor to your Apple Reminders app, enabling AI-assisted task management. You can ask Claude to create reminders, check what's due, mark tasks complete, or reorganize your lists—all without leaving your editor or chat interface. It's useful for developers who want to manage their workflow tasks through natural language while coding.
How to install Apple Reminders
Copy-paste configuration for popular MCP clients.
APPLE_REMINDERS_MCP_SAFETY_MODESafety mode for Reminders operations: safe_readonly, safe_manage, or full_access.
APPLE_REMINDERS_MCP_ALLOWED_LISTSComma-separated allow-list of reminder list names. Empty allows all lists.
Tools & capabilities
Tools this server exposes to the agent.
reminders_health— Check the health and permission status of the Reminders serverreminders_permission_guide— Get guidance on granting necessary permissions to access Remindersreminders_recheck_permissions— Recheck and validate Reminders permissionslist_reminders— List reminders from Apple Reminderscreate_reminder— Create a new reminder in Apple Remindersupdate_reminder— Update an existing remindercomplete_reminder— Mark a reminder as completedelete_reminder— Delete a reminder from Apple Reminders
Use cases
- Create reminders with due dates and priorities while coding, without switching apps
- Ask Claude to list your overdue or upcoming reminders during a work session
- Update reminder details (title, due date, priority, list) through natural conversation
- Mark tasks complete as you finish them, keeping your task list in sync
- Organize reminders across different lists and get AI help prioritizing your workload
Apple Reminders MCP server FAQ
It's a Model Context Protocol server that gives Claude and Cursor access to create, read, update, and delete reminders in Apple's native Reminders app on macOS. You interact with it through natural language in your AI chat or editor.
Yes. The server is open-source (MIT license) and free to use. You only need macOS, Python 3.11+, and an MCP-compatible client like Claude or Cursor.
For Claude Desktop, download the `.mcpb` bundle from the releases page and double-click it. For other clients, use `uvx apple-mcp-reminders` or install via PyPI (`apple-mcp-reminders`) and configure it in your client's MCP settings.
The server requires Reminders access on macOS. You'll be prompted to grant permission the first time it runs. Use the `reminders_permission_guide` tool if you need help, or check System Settings > Privacy & Security > Reminders.
No, this server only works on macOS because it accesses Apple's native Reminders app through macOS automation APIs.
Yes. Reminders you create or modify through the server will sync with iCloud and appear on your other Apple devices, just like changes made in the Reminders app.
README (reference)
Source of truth, from the repository.
Apple-MCPs
MCP servers that let an AI client use Apple apps and macOS tools. Create reminders, send messages, check calendars, search mail, manage files, and get directions.
The servers run on your Mac. Your MCP client may send returned data to its model provider, and Apple apps may sync through iCloud or another account. Local execution does not mean the data stays local.
Requires Python 3.11+ and macOS. Uses MCP specification 2026-07-28 and Python SDK 2.x, with support for older client protocol revisions. MIT license.
Install
Install uv, then register the unified server with your client.
Claude Code:
claude mcp add --transport stdio --scope project apple-tools -- uvx apple-tools-mcp
Codex:
codex mcp add apple-tools -- uvx apple-tools-mcp
Other stdio clients:
{
"mcpServers": {
"apple-tools": {
"command": "uvx",
"args": ["apple-tools-mcp"]
}
}
}
Run uvx apple-tools-mcp to start the server directly. Standalone servers use the same approach, such as uvx apple-mcp-mail or uvx apple-calendar-mcp.
Restart your client after installing or upgrading. Call search_tools with calendar health to check discovery without reading app data.
For Claude Desktop, download a server's .mcpb bundle from Releases and double-click it.
Set app-specific safety modes and directories in your client's env settings. The configuration guide lists defaults and options. Mail attachments are disabled until you set APPLE_MAIL_MCP_ALLOWED_ATTACHMENT_ROOT to a dedicated directory. Files tools only access APPLE_FILES_MCP_ALLOWED_ROOTS; macOS may impose further restrictions.
Choose a server
Start with Apple-Tools-MCP. It combines all ten apps and tools below, plus saved defaults, contact routing, Mail thread helpers, undo, briefings, and cross-app workflows.
Choose a standalone server to expose fewer apps to your client:
| Server | macOS access | Health tool | Permission help |
|---|---|---|---|
| Automation access to Mail | mail_health | mail_permission_guide, mail_recheck_permissions | |
| Calendar | Calendar access | calendar_health | calendar_permission_guide, calendar_recheck_permissions |
| Reminders | Reminders access | reminders_health | reminders_permission_guide, reminders_recheck_permissions |
| Messages | Automation; Full Disk Access for history | messages_health | messages_permission_guide, messages_recheck_permissions |
| Contacts | Contacts access | contacts_health | contacts_permission_guide, contacts_recheck_permissions |
| Notes | Automation access to Notes | notes_health | notes_permission_guide, notes_recheck_permissions |
| Shortcuts | Usually no separate prompt | shortcuts_health | shortcuts_permission_guide, shortcuts_refresh_state |
| Files | Allowed roots and protected-folder access | files_health | files_permission_guide |
| System | Some actions need System Events, Accessibility, or Automation | system_health | system_permission_guide |
| Maps | No privacy prompt; Swift helper needs Xcode command line tools | maps_health | maps_permission_guide |
The unified server uses apple_health, apple_permission_guide, and apple_recheck_permissions. You must approve permissions yourself in the macOS prompt or System Settings.
Find and use tools
MCP tools/list returns each tool's schemas and read or write annotations. Use search_tools to search names, descriptions, and aliases; use get_tool_info for one tool's schema and examples.
Resolve recipients through Contacts before sending, unless you have the exact address. For Mail conversations, use mail_get_thread, mail_reply_latest_in_thread, or mail_archive_thread. Pass an exact sender email in from_account when the sending identity matters.
Mail search requires a query: a sender, subject fragment, or *. Reminders due_date requires a timezone offset, such as yyyy-MM-ddTHH:mm:ss-08:00. Omit service_name when sending iMessages.
The unified server also provides apple_generate_daily_briefing, apple_generate_weekly_briefing, and apple_triage_communications_task. Clients without prompt support can use apple_list_prompts, apple_get_prompt, and their per-server equivalents.
For calls from Python, use the metadata in generated/tool_catalogs/ and wrappers in generated/tool_wrappers/python/. See code-mode.md.
Transport and stored state
stdio is the default. To use Streamable HTTP, set APPLE_<DOMAIN>_MCP_TRANSPORT=streamable-http and the matching _HOST and _PORT variables.
HTTP must bind to 127.0.0.1, ::1, or localhost. The servers have no remote authentication and reject network and wildcard binds. Do not expose them through a tunnel or public proxy.
Apple-Tools-MCP stores defaults in ~/.apple-tools-mcp/preferences.json, configurable through APPLE_AGENT_MCP_STATE_FILE. It stores recent actions in ~/.apple-tools-mcp/actions.json for audit and undo.
Develop
git clone https://github.com/JonathanRReed/Apple-MCPs.git
cd Apple-MCPs
uv sync --all-packages
The uv workspace installs every server into .venv/bin. Each server folder also has a start.sh for clients; it uses uv when available and otherwise creates a virtual environment. Root pyproject.toml defines workspace members, and uv.lock pins dependencies.
| Path | Contents |
|---|---|
Apple-Tools-MCP/ | Unified server; module apple_agent_mcp, environment prefix APPLE_AGENT_MCP_* |
Apple<Domain>-MCP/ | Standalone servers; Calendar uses Apple-Calendar-MCP |
AppleMCPCommon/ | Shared discovery and search, published as apple-mcp-common |
generated/ | Tool catalogs and Python wrappers |
scripts/ | Installation, checks, generation, and bundle builds |
docs/ | Project and launch documentation |
Run smoke checks:
bash scripts/inspector_smoke.sh
uv run python scripts/protocol_smoke.py
For the official conformance suite, start the server in a separate terminal:
APPLE_AGENT_MCP_TRANSPORT=streamable-http \
APPLE_AGENT_MCP_PORT=8765 \
APPLE_AGENT_MCP_CONFORMANCE_MODE=1 \
./Apple-Tools-MCP/start.sh
npx -y @modelcontextprotocol/conformance@0.2.0-alpha.11 server --url http://127.0.0.1:8765/mcp --requirements 2026-07-28
Conformance mode registers test fixtures. Use it only for protocol validation. CI runs lint, macOS and Linux tests, generated-file checks, Inspector smoke checks, and conformance tests.
Documentation
Contributing · Security · Troubleshooting · MCP compatibility · Publishing · Changelog · Trademark notice · Launch docs
Related MCP servers

Apple Shortcuts
List, inspect, and run Apple Shortcuts on macOS through MCP.

Apple System
Read and manage macOS system settings and perform scoped desktop actions from Claude or Cursor.

Apple Tools (Unified)
Control Apple apps from Claude and Cursor—Mail, Calendar, Notes, Messages, Reminders, and more on your Mac.
Vectorize images to SVG and export to PDF, EPS, DXF, PNG, JPG, or WEBP via Vectorise.Me.
View repository →Shared memory for AI coding agents. Save once, reuse from Cursor, Claude Code, Codex.
