Skip to main content

apple-eventkit-tools

Apple Calendar and Reminders MCP server for Claude Code. Reads and writes calendar events and reminders natively through macOS EventKit via PyObjC - no API keys, no credentials, no CalDAV setup.

Talks directly to the CalendarAgent daemon. Calendar.app and Reminders.app do not need to be running. Works with all providers configured in macOS: iCloud, Exchange, Google, subscriptions, and local calendars.

macOS only - requires EventKit framework.

This package merges the former ical-tools and reminders-tools into a single package backed by a shared EventKit base class.

Setup

From Source

git clone https://github.com/mrlesmithjr/mcp.git
cd mcp/packages/apple-eventkit-tools
uv tool install --editable .

On first use, macOS will prompt your terminal app for Calendar and Reminders access. Grant both in System Settings > Privacy & Security.

MCP Server

Register as a Claude Code MCP server:

claude mcp add -s user apple-eventkit-tools -- apple-eventkit-mcp

MCP Tools: Calendar (10)

Read

Tool Description
list_calendars All calendars with type, color, and modification status
list_events Events in a date range, optional calendar filter
today_agenda Quick view of today's events
upcoming_events Events in the next N days (default: 7)
event_search Search events by title across a date range

Write

Tool Description
create_event Create event with location, notes, alarms, URL
update_event Update any field, supports recurring event span
delete_event Delete single or future recurring occurrences

Analysis

Tool Description
find_free_time Find available time slots in a date range
event_conflicts Find overlapping/conflicting events with overlap duration

MCP Tools: Reminders (9)

Lists

Tool Description
reminder_lists List all reminder lists with IDs, colors, and modification status
reminder_list List reminders (all or by list), with optional completed filter

Create and Modify

Tool Description
reminder_create Create a reminder with due date, time, notes, priority, and recurrence
reminder_update Update title, due date, time, notes, or priority
reminder_complete Mark a reminder as completed
reminder_uncomplete Mark a completed reminder as incomplete
reminder_delete Delete a reminder

Search and Analysis

Tool Description
reminder_search Search reminders by title or notes text (case-insensitive)
reminder_overdue Find past-due incomplete reminders, sorted by most overdue first

Entry Points

Three command names are available - all run the same server:

Command Purpose
apple-eventkit-mcp Canonical entry point for new installations
ical-mcp Backward-compatible alias for existing ical-tools registrations
reminders-mcp Backward-compatible alias for existing reminders-tools registrations

How It Works

EventKit is Apple's native framework for calendar and reminder access. The same framework powers Calendar.app and Reminders.app. PyObjC bridges it to Python, giving full read/write access to all calendars and reminder lists configured in macOS.

No network requests are made. All data comes from the local CalendarAgent daemon, which syncs with iCloud (or other providers) in the background.

Requirements

  • macOS 12+ (Monterey or later)
  • Python 3.11+
  • Terminal app granted Calendar and Reminders access (TCC permissions)

Project Structure

apple_eventkit_tools/
├── __init__.py      # Package init
├── __main__.py      # python -m entry
├── base.py          # EventKitBase: shared store init and _request_access
├── utils.py         # Shared date/color conversion utilities
├── calendar.py      # CalendarManager (10 calendar operations)
├── reminders.py     # RemindersManager (9 reminders operations)
└── mcp_server.py    # FastMCP server (19 tools, JSON output)

License

MIT

Metadata

Release files for mrlesmithjr-mcp-apple-eventkit-tools 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mrlesmithjr-mcp-apple-eventkit-tools 0.2.4
File Size Uploaded
mrlesmithjr_mcp_apple_eventkit_tools-0.2.4.tar.gz 39.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mrlesmithjr-mcp-apple-eventkit-tools 0.2.4
File Interpreter ABI Platform
mrlesmithjr_mcp_apple_eventkit_tools-0.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 70.1 kB

Release files / mrlesmithjr_mcp_apple_eventkit_tools-0.2.4.tar.gz

Download URL mrlesmithjr_mcp_apple_eventkit_tools-0.2.4.tar.gz
Size 39.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a5d07b8a0fdad17f6bef27c11e894b8c4d4f713474c7b8d0fb1ad2aedacb2b73
BLAKE2b-256 checksum
How to use checksums
39a8a33a66703c7ad40da21310ee93ea0891ec8d1756838a99c04c89b7fa4ec1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / mrlesmithjr_mcp_apple_eventkit_tools-0.2.4-py3-none-any.whl

Download URL mrlesmithjr_mcp_apple_eventkit_tools-0.2.4-py3-none-any.whl
Size 30.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e7b967c3a306bc0a005ad4720b50042ae1b94647684f311dfdefb3798a073e4d
BLAKE2b-256 checksum
How to use checksums
5904709bdc9522f422943cfca9329df3f54f42b040f6b5f4d9e19ae673edd120
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.2.4 This release

2 release files

0.2.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page