home / mcp / che-ical mcp server

Che-ical MCP Server

Provides a macOS calendar and reminders MCP server with native EventKit integration and advanced calendar/reminder management.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "kiki830621-che-ical-mcp": {
      "command": "/usr/local/bin/che-ical-mcp",
      "args": []
    }
  }
}

You will run a native macOS MCP server that integrates Calendar and Reminders using EventKit, enabling you to manage calendars, events, and reminders directly from an MCP client with smart search, batching, and disambiguation features.

How to use

You connect to the Che-ical MCP server through an MCP client by referencing the stdio-based local binary you run on your machine. Start by ensuring the MCP server binary is installed at the path shown in your setup notes, then configure your client to communicate with that local process. Once connected, you can list calendars, create and rename calendars, manage events with details like location and URLs, and handle reminders with due dates, completion status, and batch operations. You can also perform advanced actions such as searching for events or reminders by keywords, checking for conflicting times, duplicating or moving events between calendars, and performing batch creates or deletes.

How to install

Prerequisites: macOS 13.0+ and an option to build from source if you prefer. You will also need a terminal-based workflow for command-line setup or a graphical installer if you opt for a one-click package.

Option A: One-Click Install (Recommended) Download the MCP package and run the installer by double-clicking the provided file. This installs the MCP server on your Mac and configures it for use with your MCP client.

Option B: Manual Configuration 1. Ensure the MCP binary is available on your system, for example at /usr/local/bin/che-ical-mcp. 2. Configure your MCP client to point to the local MCP server. 3. If you are using Claude Desktop, place the following configuration in your claude_desktop_config.json file under mcpServers, referencing the binary path. 4. Restart Claude or your MCP client to establish the connection.

Example client configuration snippet for manual setup (as shown in practical usage):
```json
{
  "mcpServers": {
    "che-ical-mcp": {
      "command": "/usr/local/bin/che-ical-mcp"
    }
  }
}
```
> Tip: Install the binary to a local directory such as ~/bin to avoid cloud-synced folder issues that can cause MCP timeouts.

Additional content

Build from source (optional) If you prefer to build from source, you can clone the project and compile it locally. This may involve installing Swift toolchain and using swift build to produce the executable. After building, place the binary in a locally accessible path and configure your MCP client to point to that binary.

Permissions On first use, macOS will prompt for access to Calendar and Reminders. You must grant these permissions for the MCP server to read and manage your calendar data.

Available tools

list_calendars

List all calendars and reminder lists, including their source type.

create_calendar

Create a new calendar.

delete_calendar

Delete an existing calendar.

update_calendar

Rename a calendar or change its color.

list_events

List events with optional filters, sorting, and limits.

create_event

Create an event with optional reminders, location, and URL.

update_event

Update an existing event.

delete_event

Delete an event.

list_reminders

List reminders with filters, sorting, and limits.

create_reminder

Create a reminder with a due date.

update_reminder

Update a reminder.

complete_reminder

Mark a reminder as completed or incomplete.

delete_reminder

Delete a reminder.

search_reminders

Search reminders by keyword(s) with AND/OR matching.

search_events

Search events by keyword(s) with AND/OR matching.

list_events_quick

Provide quick range shortcuts like today, tomorrow, this_week, next_7_days.

create_events_batch

Create multiple events at once.

check_conflicts

Check for overlapping events within 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.

find_duplicate_events

Find duplicate events across calendars.

create_reminders_batch

Create multiple reminders at once.

delete_reminders_batch

Delete multiple reminders at once.