# mcp-server-apple-events [Health: Active]

**Category:** 🏢 Workplace & Productivity  
**Repository:** https://github.com/FradSer/mcp-server-apple-events  
**GitHub Stars:** 224  
**npm Downloads (last month):** 2021  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/mcp-server-apple-events

## Description
MCP server providing native macOS integration with Apple Reminders and Calendar via EventKit

## Tools
Capabilities this server exposes over MCP:

- **reminders_tasks** — Priority, tags, subtasks. `startDate` is set via `update`, not `create`; on `read` it scopes the due-date window alongside `endDate`. Cross-list moves unsupported.
- **reminders_subtasks** — Stored in the notes field (human-readable in Reminders.app).
- **reminders_lists** — Rename via `name` → `newName`.
- **calendar_events** — All-day inferred from date format. Cross-calendar moves unsupported. `span` scopes recurring deletes. `attendees` (update) invites addresses; `occurrenceDate` (delete) excepts one occurrence of a series — both need extra setup, see [Attendees and single occurrences](#attendees-and-single-occurrence…
- **calendar_calendars** — Without a date range, every calendar EventKit reports, with its `source` and write permission. With `startDate`/`endDate`, calendars holding ≥1 event in the window, annotated with an event count.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "mcp-server-apple-events": {
    "command": "npx",
    "args": ["-y","mcp-server-apple-events"]
  }
}
```

## Documentation

## 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:

```bash
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.

_Full upstream README: https://allmcps.com/mcp/mcp-server-apple-events/readme_

