# Apple Calendar [Health: Active]

**Category:** 🏢 Workplace & Productivity  
**Repository:** https://github.com/redpop/apple-calendar-mcp  
**GitHub Stars:** 2  
**npm Downloads (last month):** 245  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/apple-calendar-3

## Description
Read and create Apple Calendar events on macOS, and find free time across calendars.

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

```json
"mcpServers": {
  "apple-calendar": {
    "command": "npx",
    "args": ["-y","@redpop/apple-calendar-mcp"]
  }
}
```

## Documentation

## What Apple Calendar MCP server does

The Apple Calendar MCP server gives an MCP-compatible client access to calendars on a Mac. It can list available calendars, retrieve events within a date range, optionally filter those events by text, and create, update, or delete entries.

Events can be timed or all-day and may include a location, notes, and alarms. Recurring events are returned as separate occurrences instead of only exposing the recurring master event. When changing or removing one of those occurrences, the request must distinguish between affecting that occurrence and affecting later occurrences as well.

Its scheduling feature reports open gaps rather than returning only busy periods. A request can look for a specified amount of time across calendars, apply working-hour rules, and add a buffer around existing meetings. The documented behavior treats “work” as weekdays within working hours, “personal” as any day, and generally excludes all-day events from busy-time calculations.

## How it works

The MCP process communicates with a signed helper binary included in the npm package. The helper uses EventKit, Apple’s calendar framework, to access local calendar data. Calendar information travels locally from EventKit through the helper and MCP server to the client; the project states that it contains no network code.

macOS grants access to the helper’s permission identity. On first use, the operating system asks for calendar access under the name `calendar-helper`, rather than the name of the AI client. The grant is shared across clients using the helper on that machine.

## Setup and configuration

The supported runtime is macOS 14 Sonoma or newer with Node.js 20 or newer. Installation through npm does not require Xcode, Swift, or a repository checkout. Add the server to an MCP client with:

```bash
claude mcp add apple-calendar -- npx -y @redpop/apple-calendar-mcp
```

For clients that use a JSON configuration, the command is `npx` and the arguments are `-y` and `@redpop/apple-calendar-mcp`. No environment variables are required. The client must support MCP over standard input and output.

After adding it, ask the assistant to list the calendars. Approve the macOS permission prompt, then open System Settings → Privacy & Security → Calendars and give `calendar-helper` Full Access. Add Only or read-only access is insufficient because the helper checks for full access when it starts.

To update the package, run `npx -y @redpop/apple-calendar-mcp@latest`. The documented installation keeps the helper at a fixed path, so the calendar grant survives package updates. To remove it, delete the client configuration entry and remove `~/Library/Application Support/apple-calendar-mcp`; revoke the remaining macOS permission separately if needed.

## Tools and capabilities

The Apple Calendar MCP server supports these calendar operations:

- List calendars available through EventKit.
- Read events in a selected range, with optional text search.
- Find free gaps for a requested duration.
- Create timed or all-day events.
- Update existing events.
- Delete events.
- Set locations, notes, and alarms on events.
- Account for working context and meeting buffers when finding free time.

## Limitations and notes

The Apple Calendar MCP server is macOS-only because EventKit has no cross-platform equivalent in this project. The packaged installation requires macOS 14 or later and Node.js 20 or later. Building from source additionally requires Xcode Command Line Tools and changes the permission behavior: ad-hoc builds can trigger a new calendar prompt after each rebuild.

Calendar access is local and requires explicit macOS approval. Recurring-event edits and deletions require an explicit choice about whether the operation applies to one occurrence or later occurrences too. The server does not infer that choice.

_Full upstream README: https://allmcps.com/mcp/apple-calendar-3/readme_

