
How to add Apple Events MCP Server to Claude Desktop
Native macOS integration with Apple Reminders and Calendar via EventKit Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.
Last updated June 14, 2026 ยท 142โ ยท stdio ยท no auth
Claude Desktop config for Apple Events MCP Server
npx -y mcp-server-apple-events{
"mcpServers": {
"apple-events-mcp-server": {
"command": "npx",
"args": [
"-y",
"mcp-server-apple-events"
]
}
}
}Setup steps
- 1Open Claude Desktop โ Settings โ Developer โ Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
- 2Paste the Apple Events MCP Server config below under the top-level "mcpServers" key.
- 3Fill in any placeholder secrets (API keys, paths) in the snippet.
- 4Save the file, then fully quit and reopen Claude Desktop.
- 5Open a chat and confirm Apple Events MCP Server's tools appear under the ๐ tools menu.
Before you start
- Node.js 20 or later
- macOS (required for Apple Reminders/Calendar integration)
- Xcode Command Line Tools (for compiling Swift code)
- pnpm (recommended for package management)
- macOS Reminders and Calendar permissions granted to the launching app
What Apple Events MCP Server can do in Claude Desktop
reminders_tasksManage individual reminder tasks with full CRUD support (actions: read, create, update, delete), including priority, alarms, recurrence rules, start/due/completion dates, location triggers, tags, and subtasks.
reminders_subtasksManage subtasks/checklists within reminders (actions: read, create, update, delete, toggle, reorder). Subtasks are stored in the notes field in a human-readable format visible in the native Reminders app.
reminders_listsManage reminder lists (actions: read, create, update, delete) for organizing reminders.
calendar_eventsHandle EventKit calendar events / time blocks with CRUD capabilities (actions: read, create, update, delete), including alarms, recurrence rules, availability, and span scope for recurring changes.
calendar_calendarsReturn the available calendars from EventKit (action: read) with IDs and titles; optional date-range and account filters return scoped active calendars with event counts.
Security
Requires macOS permissions for Reminders and Calendar (Sonoma 14+/Sequoia 15 separate write-only and full-access scopes). macOS attributes EventKit access to the responsible process that launches the server, so desktop MCP clients (e.g. Claude Desktop, Codex Desktop) may hit permission failures if their bundle is missing the required NSReminders/NSCalendars usage strings. Running from a terminal-based client (Claude Code, Codex CLI) inherits the terminal's grants and is the reliable workaround. No network or API keys involved; all data access is local.
Apple Events MCP Server + Claude Desktop FAQ
Where is the Claude Desktop config file?
Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the Apple Events MCP Server config there under the "mcpServers" key and restart the client.
Is Apple Events MCP Server safe to use with Claude Desktop?
Requires macOS permissions for Reminders and Calendar (Sonoma 14+/Sequoia 15 separate write-only and full-access scopes). macOS attributes EventKit access to the responsible process that launches the server, so desktop MCP clients (e.g. Claude Desktop, Codex Desktop) may hit permission failures if their bundle is missing the required NSReminders/NSCalendars usage strings. Running from a terminal-based client (Claude Code, Codex CLI) inherits the terminal's grants and is the reliable workaround. No network or API keys involved; all data access is local.
Does it work on Windows or Linux?
No. It requires macOS because it integrates directly with Apple Reminders and Calendar through the EventKit framework via a bundled Swift binary.
Why does it fail with a permission error inside some desktop apps?
macOS attributes EventKit access to the responsible process that launches the server. If the desktop client's bundle is missing the NSReminders/NSCalendars usage strings, TCC refuses the request. The reliable workaround is to run the server from a terminal-based client (e.g. Claude Code or Codex CLI), which inherits the terminal's Reminders/Calendar grants.
How do I run it?
You can run it directly with `npx mcp-server-apple-events`, or configure it in your MCP client with command `npx` and args `["-y", "mcp-server-apple-events"]`. A local build can instead point `node` at `dist/index.js`.