Native macOS Calendar & Reminders MCP server with 25 tools via Apple EventKit.
che-ical-mcp
macOS Calendar & Reminders MCP server - Native EventKit integration for complete calendar and task management.
Why che-ical-mcp?
| Feature | Other Calendar MCPs | che-ical-mcp |
|---|---|---|
| Calendar Events | Yes | Yes |
| Reminders/Tasks | No | Yes |
| Reminder #Tags | No | Yes (MCP-level) |
| Multi-keyword Search | No | Yes |
| Duplicate Detection | No | Yes |
| Conflict Detection | No | Yes |
| Batch Operations | No | Yes |
| Local Timezone | No | Yes |
| Source Disambiguation | No | Yes |
| Create Calendar | Some | Yes |
| Delete Calendar | Some | Yes |
| Event Reminders | Some | Yes |
| Location & URL | Some | Yes |
| Language | Python | Swift (Native) |
Quick Start
For Claude Desktop
Option A: MCPB One-Click Install (Recommended)
Download the latest .mcpb file from Releases and double-click to install.
Option B: Manual Configuration
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"che-ical-mcp": {
"command": "/usr/local/bin/che-ical-mcp"
}
}
}
For Claude Code (CLI)
# Create ~/bin if needed
mkdir -p ~/bin
# Download the latest release
curl -L https://github.com/kiki830621/che-ical-mcp/releases/latest/download/CheICalMCP -o ~/bin/CheICalMCP
chmod +x ~/bin/CheICalMCP
# Add to Claude Code
# --scope user : available across all projects (stored in ~/.claude.json)
# --transport stdio: local binary execution via stdin/stdout
# -- : separator between claude options and the command
claude mcp add --scope user --transport stdio che-ical-mcp -- ~/bin/CheICalMCP
💡 Tip: Always install the binary to a local directory like
~/bin/. Avoid placing it in cloud-synced folders (Dropbox, iCloud, OneDrive) as file sync operations can cause MCP connection timeouts.
Build from Source (Optional)
git clone https://github.com/kiki830621/che-ical-mcp.git
cd che-ical-mcp
swift build -c release
On first use, macOS will prompt for Calendar and Reminders access - click "Allow".
All 25 Tools
Calendars (4)
| Tool | Description |
|---|---|
list_calendars |
List all calendars and reminder lists (includes source_type) |
create_calendar |
Create a new calendar |
delete_calendar |
Delete a calendar |
update_calendar |
Rename a calendar or change its color (v0.9.0) |
Events (4)
| Tool | Description |
|---|---|
list_events |
List events with filter/sort/limit (v1.0.0) |
create_event |
Create an event (with reminders, location, URL) |
update_event |
Update an event |
delete_event |
Delete an event |
Reminders (7)
| Tool | Description |
|---|---|
list_reminders |
List reminders with filter/sort/limit, tags extraction (v1.0.0) |
create_reminder |
Create a reminder with due date, tags (v1.3.0) |
update_reminder |
Update a reminder (including tags) (v1.3.0) |
complete_reminder |
Mark as completed/incomplete |
delete_reminder |
Delete a reminder |
search_reminders |
Search reminders by keyword(s) or tag (v1.3.0) |
list_reminder_tags |
List all unique tags with usage counts (v1.3.0) |
Advanced Features (10) ✨ New in v0.3.0+
| Tool | Description |
|---|---|
search_events |
Search events by keyword(s) with AND/OR matching |
list_events_quick |
Quick shortcuts: today, tomorrow, this_week, next_7_days, etc. |
create_events_batch |
Create multiple events at once |
check_conflicts |
Check for overlapping events in a time range |
copy_event |
Copy an event to another calendar (with optional move) |
move_events_batch |
Move multiple events to another calendar |
delete_events_batch |
Delete events by IDs or date range, with dry-run preview (v1.0.0) |
find_duplicate_events |
Find duplicate events across calendars (v0.5.0) |
create_reminders_batch |
Create multiple reminders at once (v0.9.0) |
delete_reminders_batch |
Delete multiple reminders at once (v0.9.0) |
Installation
Requirements
- macOS 13.0+
- Xcode Command Line Tools (only if building from source)
For Claude Desktop
Method 1: MCPB One
Tools (25)
list_calendarsList all calendars and reminder lists including source type.create_calendarCreate a new calendar.delete_calendarDelete a calendar.update_calendarRename a calendar or change its color.list_eventsList events with filter, sort, and limit options.create_eventCreate an event with reminders, location, and URL.update_eventUpdate an existing event.delete_eventDelete an event.list_remindersList reminders with filter, sort, limit, and tag extraction.create_reminderCreate a reminder with due date and tags.update_reminderUpdate a reminder including tags.complete_reminderMark a reminder as completed or incomplete.delete_reminderDelete a reminder.search_remindersSearch reminders by keyword or tag.list_reminder_tagsList all unique tags with usage counts.search_eventsSearch events by keyword with AND/OR matching.list_events_quickQuick shortcuts for common time ranges like today or next 7 days.create_events_batchCreate multiple events at once.check_conflictsCheck for overlapping events in a time range.copy_eventCopy an event to another calendar.move_events_batchMove multiple events to another calendar.delete_events_batchDelete events by IDs or date range with dry-run preview.find_duplicate_eventsFind duplicate events across calendars.create_reminders_batchCreate multiple reminders at once.delete_reminders_batchDelete multiple reminders at once.Configuration
{"mcpServers": {"che-ical-mcp": {"command": "/usr/local/bin/che-ical-mcp"}}}