What mcp-server-apple-events MCP server does
The mcp-server-apple-events MCP server gives an MCP client access to native macOS Reminders and Calendar data. It works through the EventKit framework and supports creating, reading, updating, and deleting reminders, reminder lists, subtasks, and calendar events.
Reminder operations include priorities, tags, due dates, completion state, full-text search, recurrence and location-related filtering, and checklist subtasks with progress tracking. Calendar operations support event retrieval and changes, including date-aware queries. The interface accepts dates in formats such as YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, and ISO 8601, with timezone handling.
How it works
The Node-based MCP process launches a vendored Swift event command-line binary. That binary is included in the published npm package and is built into bin/event during pnpm install; installing a separate Homebrew package is not required. A local source build uses Node.js and, when rebuilding the Swift component, the macOS Xcode Command Line Tools.
Requests arrive from the configured MCP client as natural-language tasks and are translated into structured operations against Apple Reminders or Calendar. Values already configured in those Apple applications can be returned through the server, including native settings that EventKit exposes.
Setup and configuration
The runtime requires macOS and Node.js 20 or later. The quickest installation is:
npx mcp-server-apple-events
Configure the process as a local stdio server. For example, Cursor and Claude Desktop can start it with npx -y mcp-server-apple-events. A local checkout can instead run node against dist/index.js. After changing the Claude Desktop configuration, quit and restart the application completely.
macOS permissions must be granted to the application that launches the MCP process. Approve access under System Settings > Privacy & Security > Reminders and Calendars. Permissions granted to a terminal do not automatically authorize a separate desktop client. The host must support EventKit permission requests and provide the required usage descriptions.
Tools and capabilities
The mcp-server-apple-events MCP server supports:
- Creating, reading, updating, and deleting reminders
- Managing reminder lists and checklist subtasks
- Setting reminder priority, tags, due dates, and completion state
- Filtering by completion, dates, priority, tags, text, recurrence, and location
- Creating, reading, updating, and deleting calendar events
- Returning structured results for agent requests
- Handling Unicode input and validating request values
Limitations and notes
EventKit access is limited to macOS. Reminders and Calendar permissions are separate from AppleScript Automation approval. Read access to calendar events may require enabling Full Calendar Access for the calling application.
Headless environments such as SSH or launchd can block while waiting for a permission prompt that cannot appear. The server terminates an event call after 30 seconds by default. Set EVENTKIT_CLI_TIMEOUT_MS to change that limit; invalid or zero values use the default, and the timeout cannot be disabled. The bundled CLI also has its own permission wait limit through EVENT_PERMISSION_TIMEOUT_MS.
Alarms, recurrence rules, and location triggers are read-only through this server, so configure those settings in Reminders.app or Calendar.app. Building from source requires the Xcode Command Line Tools; macOS 26 builds may require Swift 6.3 or newer.