Apple Events MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add apple-events -- npx -y mcp-server-apple-events
README.md

Native integration with Apple Reminders and Calendar on macOS

Apple Events MCP Server

English | 简体中文

A Model Context Protocol (MCP) server that provides native integration with Apple Reminders and Calendar on macOS. This server allows you to interact with Apple Reminders and Calendar Events through a standardized interface with comprehensive management capabilities.

Features

Core Functionality

  • List Management: View all reminders and reminder lists with advanced filtering options
  • Reminder Operations: Full CRUD operations (Create, Read, Update, Delete) for reminders across lists
  • Rich Content Support: Complete support for titles, notes, due dates, URLs, and completion status
  • Native macOS Integration: Direct integration with Apple Reminders using EventKit framework

Enhanced Reminder Features (v1.3.0)

  • Priority Support: Set reminder priority (high/medium/low/none) with visual indicators
  • Recurring Reminders: Create repeating reminders with flexible recurrence rules (daily, weekly, monthly, yearly)
  • Location-Based Triggers: Set geofence reminders that trigger when arriving at or leaving a location
  • Tags/Labels: Organize reminders with custom tags for cross-list categorization and filtering
  • Subtasks/Checklists: Add checklist items to reminders with progress tracking

Advanced Features

  • Smart Organization: Automatic categorization and intelligent filtering by priority, due date, category, or completion status
  • Powerful Search: Multi-criteria filtering including completion status, due date ranges, tags, and full-text search
  • Batch Operations: Efficient handling of multiple reminders with optimized data access patterns
  • Permission Management: Automatic validation and request for required macOS system permissions
  • Flexible Date Handling: Support for multiple date formats (YYYY-MM-DD, ISO 8601) with timezone awareness
  • Unicode Support: Full international character support with comprehensive input validation

Technical Excellence

  • Clean Architecture: 4-layer architecture following Clean Architecture principles with dependency injection
  • Type Safety: Complete TypeScript coverage with Zod schema validation for runtime type checking
  • High Performance: Swift-compiled binaries for performance-critical Apple Reminders operations
  • Robust Error Handling: Consistent error responses with detailed diagnostic information
  • Repository Pattern: Data access abstraction with standardized CRUD operations
  • Functional Programming: Pure functions with immutable data structures where appropriate

Prerequisites

  • Node.js 18 or later
  • macOS (required for Apple Reminders integration)
  • Xcode Command Line Tools (required for compiling Swift code)
  • pnpm (recommended for package management)

macOS Permission Requirements (Sonoma 14+ / Sequoia 15)

Apple now separates Reminders and Calendar permissions into write-only and full-access scopes. The Swift bridge declares the following privacy keys so Claude can both read and write data when you approve access:

  • NSRemindersUsageDescription
  • NSRemindersFullAccessUsageDescription
  • NSRemindersWriteOnlyAccessUsageDescription
  • NSCalendarsUsageDescription
  • NSCalendarsFullAccessUsageDescription
  • NSCalendarsWriteOnlyAccessUsageDescription

When the CLI detects a notDetermined authorization status it calls requestFullAccessToReminders / requestFullAccessToEvents, which in turn triggers macOS to show the correct prompt. If the OS ever loses track of permissions, rerun ./check-permissions.sh to re-open the dialogs.

If a Claude tool call still encounters a permission failure, the Node.js layer automatically runs a minimal AppleScript (osascript -e 'tell application "Reminders" …') to surface the dialog and then retries the Swift CLI once.

Troubleshooting Calendar Read Errors

If you see Failed to read calendar events, verify Calendar is set to Full Calendar Access:

  • Open System Settings > Privacy & Security > Calendars
  • Find the app that launches this MCP server (for example Terminal or Claude Desktop)
  • Change access to Full Calendar Access

You can also re-run ./check-permissions.sh (it now validates both Reminders and Calendars access).

Verification command

pnpm test -- src/swift/Info.plist.test.ts

The test suite ensures all required usage-description strings are present before shipping the binary.

Quick Start

You can run the server directly using npx:

npx mcp-server-apple-events

Configuration

Configure Cursor

  1. Open Cursor
  2. Open Cursor settings
  3. Click on "MCP" in the sidebar
  4. Click "Add new global MCP server"
  5. Configure the server with the following settin

Tools (4)

list_remindersList reminders with optional filtering
create_reminderCreate a new reminder
list_calendar_eventsList calendar events within a date range
create_calendar_eventCreate a new calendar event

Configuration

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

Try it

List all my pending reminders for today.
Create a new reminder to 'Buy groceries' in my 'Personal' list for tomorrow at 5 PM.
What events do I have on my calendar for this coming Friday?
Schedule a meeting titled 'Project Sync' for next Monday from 10 AM to 11 AM.
Mark the reminder 'Submit expense report' as completed.

Frequently Asked Questions

What are the key features of Apple Events?

Full CRUD operations for Apple Reminders. Native macOS integration using EventKit framework. Support for recurring reminders and priority levels. Location-based geofence reminder triggers. Multi-criteria search and filtering for events and tasks.

What can I use Apple Events for?

Managing daily task lists directly through Claude's interface. Automating calendar event creation from natural language meeting notes. Filtering and organizing reminders using custom tags and priority levels. Syncing project deadlines from chat conversations into Apple Reminders.

How do I install Apple Events?

Install Apple Events by running: npx mcp-server-apple-events

What MCP clients work with Apple Events?

Apple Events works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Apple Events docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Open Conare