# fradser/mcp-server-apple-reminders [Health: Active]

**Category:** 📂 Browser Automation  
**Repository:** https://github.com/FradSer/mcp-server-apple-reminders  
**GitHub Stars:** 229  
**npm Downloads (last month):** 988  
**Views:** 8  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/fradser-mcp-server-apple-reminders

## Description
An MCP server for interacting with Apple Reminders on macOS

## Tools
Capabilities this server exposes over MCP:

- **reminders_tasks** — Manages reminder tasks. Supports reading, creating, updating, and deleting reminders. Alarms, recurrence rules, and location-based triggers are read-only via this tool; configure them in Reminders.app.
- **reminders_lists** — Manages reminder lists. Supports reading, creating, updating, and deleting reminder lists.
- **calendar_events** — Manages calendar events (time blocks). Supports reading, creating, updating, and deleting events. URL, structured-location, all-day toggle, availability, alarms, and recurrence rules are read-only via this tool; configure them in Calendar.app. All-day events are inferred from the date format ("YYYY-MM-DD" without a time component).
- **calendar_calendars** — Reads calendar collections. Use to inspect available calendars before creating or updating events. Optional date range filters return only calendars with events in that range.
- **reminders_subtasks** — Manages subtasks/checklists within reminders. Subtasks are stored in the notes field and visible in the native Reminders app. Use this to create checklist items for a reminder.

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

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

## Documentation

## What fradser/mcp-server-apple-reminders MCP server does

fradser/mcp-server-apple-reminders exposes native macOS Reminders and Calendar data as MCP tools. Its backend uses the EventKit framework through a vendored Swift `event` command-line binary. Agents can inspect and change reminder tasks, reminder lists, subtasks, calendar events, and calendar collections without requiring a separate Homebrew installation of the backend.

Reminder operations cover creating, reading, updating, and deleting tasks and lists. Reminder data can include priorities, tags, due dates, completion state, recurring status, and location-related values when those values are returned by macOS. Subtasks act as checklist entries stored in a reminder’s notes and remain visible in the native Reminders application.

Calendar operations support CRUD actions for events and reading calendar collections. Calendar collection queries can be restricted by date range so an agent can find calendars containing events during a particular period.

## How it works

The MCP process passes requests to the bundled EventKit CLI, which communicates with the macOS Reminders and Calendar frameworks. Date inputs support date-only values, timestamps with seconds, and ISO 8601 forms, with timezone-aware handling. Calendar events supplied with a date-only value are treated as all-day events.

The server returns structured results after processing natural-language requests through the connected MCP client. Native values configured in Reminders.app or Calendar.app can be returned when the corresponding records are read.

## Setup and configuration

The published package requires Node.js 20 or newer and runs on macOS. With `npx`, install and start it using:

```bash
npx mcp-server-apple-events
```

For a source build, pnpm and Xcode Command Line Tools are needed. The package includes a prebuilt universal, code-signed `bin/event` binary, so npx users do not need a Swift toolchain.

Configure the server as a stdio MCP server. Cursor and Claude Desktop examples use `npx -y mcp-server-apple-events`; a local checkout can instead launch `dist/index.js` with Node.js. Restart the MCP client after changing its configuration.

macOS permissions must be granted separately to each application that launches the server under System Settings > Privacy & Security > Reminders and Calendars. A permission granted to a terminal does not automatically authorize a desktop MCP client. Hosts must support EventKit permission requests and provide the required usage descriptions.

## Tools and capabilities

- `reminders_tasks`: Read, create, update, and delete reminders; supports filtering by completion, dates, priority, tags, text, recurrence, and location-related criteria.
- `reminders_lists`: Read, create, update, and delete reminder lists.
- `reminders_subtasks`: Create and manage checklist items stored in reminder notes.
- `calendar_events`: Read, create, update, and delete calendar events.
- `calendar_calendars`: Read available calendar collections, optionally filtered by an event date range.

Alarms, recurrence rules, location triggers, event URLs, structured locations, availability, and all-day settings have read-only behavior through the relevant tools. Configure those fields directly in Reminders.app or Calendar.app.

## Limitations and notes

This server depends on macOS EventKit and cannot run as a native Windows or Linux integration. A headless or launchd context may be unable to display the macOS permission prompt; the server terminates an EventKit call after 30 seconds by default. `EVENTKIT_CLI_TIMEOUT_MS` can adjust that limit, while `EVENT_PERMISSION_TIMEOUT_MS` controls the bundled CLI’s permission wait. Invalid or zero timeout values use the default behavior, and the outer timeout cannot be disabled.

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

