Che ICal MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone https://github.com/PsychQuant/che-ical-mcp
cd che-ical-mcp

Then follow the repository README for any remaining dependency or build steps before continuing.

2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add che-ical-mcp -- node "<FULL_PATH_TO_CHE_ICAL_MCP>/dist/index.js"

Replace <FULL_PATH_TO_CHE_ICAL_MCP>/dist/index.js with the actual folder you prepared in step 1.

README.md

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.

English | 繁體中文


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

claude_desktop_config.json
{"mcpServers": {"che-ical-mcp": {"command": "/usr/local/bin/che-ical-mcp"}}}

Try it

List all my reminders due today that have the tag 'work'.
Check my calendar for any conflicting events scheduled for next Tuesday.
Find and delete all duplicate events in my 'Personal' calendar.
Create a new reminder to 'Review project proposal' due tomorrow at 9 AM with the tag 'urgent'.
Show me a quick summary of my events for this week.

Frequently Asked Questions

What are the key features of Che ICal MCP?

Native macOS EventKit integration for Calendar and Reminders.. Advanced batch operations for creating, moving, and deleting events and tasks.. Conflict detection and duplicate event identification across calendars.. Multi-keyword search and tag-based organization for reminders.. Swift-based native performance with local timezone support..

What can I use Che ICal MCP for?

Managing complex schedules by identifying and resolving overlapping calendar events.. Cleaning up cluttered calendars by finding and removing duplicate entries.. Automating task management by batch-creating reminders from project notes.. Quickly filtering and searching through large volumes of tasks using custom tags.. Syncing and organizing events across multiple iCloud, Google, and Exchange calendars..

How do I install Che ICal MCP?

Install Che ICal MCP by running: Edit ~/Library/Application Support/Claude/claude_desktop_config.json

What MCP clients work with Che ICal MCP?

Che ICal MCP 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 Che ICal MCP docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare