MCP Directory

Apple Events MCP Server

Native macOS integration with Apple Reminders and Calendar via EventKit

Unverified
stdio (local)
No auth
TypeScript

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
npx -y mcp-server-apple-events

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

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

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

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

About Apple Events MCP Server

Apple Events MCP Server exposes Apple Reminders and Calendar on macOS to MCP clients through service-scoped tools. It uses the EventKit framework via a Swift-compiled binary for performance-critical operations, with a TypeScript MCP layer and Zod schema validation. Tools cover reminder tasks (priority, alarms, recurrence, location triggers, tags, subtasks), reminder subtasks, reminder lists, calendar events, and calendar collections. It runs locally over stdio with no authentication; access is gated by macOS system permissions.

Tools & capabilities (5)

reminders_tasks

Manage 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_subtasks

Manage 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_lists

Manage reminder lists (actions: read, create, update, delete) for organizing reminders.

calendar_events

Handle 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_calendars

Return the available calendars from EventKit (action: read) with IDs and titles; optional date-range and account filters return scoped active calendars with event counts.

What this server can do

Apple Events MCP Server provides tools for these capabilities — tap one to see every MCP server that does the same:

When to use it

  • Create, update, and complete Apple Reminders from natural-language prompts
  • Set high/medium/low priority, recurring schedules, and location-based geofence reminders
  • Organize reminders into lists and tag them for cross-list filtering
  • Break reminders into subtask checklists with progress tracking
  • Read, create, and manage Apple Calendar events and time blocks
  • Plan a day or week using the built-in structured prompt templates

Security notes

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 FAQ

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

How are tags and subtasks stored?

Both are stored inside the reminder's notes field in a human-readable format (tags as `[#tag]`, subtasks as a `---SUBTASKS---` block), so they remain visible in the native Reminders app while staying programmatically parseable.

Alternatives to Apple Events MCP Server

Compare all alternatives →

Self-hosted MCP server for Jira and Confluence Cloud and Server/Data Center.

Verified
stdio (local)
API key
Python
11 tools
Updated 2 months agoRepo

Create, read, and modify Excel workbooks with your AI agent — no Microsoft Excel required.

Unverified
stdio (local)
No auth
Python
25 tools
Updated 2 months agoRepo

Official Notion server to read, search, create, and update pages and databases in your workspace.

Verified
stdio (local)
API key
TypeScript
9 tools
Updated 4 months agoRepo