Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Eventkit

БесплатноНе проверен

Eventkit — Model Context Protocol server

GitHubEmbed

Описание

Eventkit — Model Context Protocol server

README

A Model Context Protocol (MCP) server that provides native integration with Apple's EventKit framework, allowing Claude to manage Reminders and Calendar events directly in macOS.

Features

Reminders

  • Create reminders that appear instantly in Reminders.app
  • List and search reminders with filters (completed, flagged, priority, date range)
  • Complete reminders with a single command
  • Update reminders (title, notes, due date, priority)
  • List tags from your reminders (requires Full Disk Access)

Calendar Events

  • List calendars available for events
  • List events within a date range
  • Create events with title, dates, location, notes
  • Update events
  • Delete events

Sync

  • iCloud sync - changes sync automatically to all your Apple devices

Installation

Option 1: Installer Package (Recommended)

Download and run the .pkg installer:

# Build the installer (see Building the Installer below)
open dist/MCP-EventKit-Server-1.1.0.pkg

The installer will:

  • Install the server binary to /usr/local/lib/mcp-eventkit/
  • Configure Claude Desktop automatically
  • Install an uninstaller app in /Applications/

Option 2: Manual Installation

  1. Clone the repository:
git clone https://github.com/yourusername/mcp-server-eventkit.git
cd mcp-server-eventkit
  1. Install dependencies:
bun install
  1. Build the Swift bridge:
bun run build
  1. Grant permissions when prompted (or manually in System Settings > Privacy & Security)

Requirements

  • macOS 13.0 (Ventura) or later
  • Bun runtime (for development only)
  • Xcode Command Line Tools (for building from source)

Configuration

Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "eventkit": {
      "command": "/usr/local/bin/mcp-eventkit"
    }
  }
}

Or for development:

{
  "mcpServers": {
    "eventkit": {
      "command": "bun",
      "args": ["run", "/absolute/path/to/mcp-server-eventkit/src/index.ts"]
    }
  }
}

Claude Code

claude mcp add --transport stdio --scope user eventkit -- /usr/local/bin/mcp-eventkit

Available Tools

Reminder Tools

Tool Description
list_reminders List incomplete or completed reminders
create_reminder Create a new reminder
complete_reminder Mark a reminder as completed
delete_reminder Delete a reminder permanently
update_reminder Update reminder title, notes, due date, priority
search_reminders Search reminders with text query and filters
list_reminders_filtered List reminders with advanced filters
toggle_flag Toggle the flagged status of a reminder
list_calendars List all reminder lists/calendars
list_tags List all tags from reminders (requires Full Disk Access)

Calendar Event Tools

Tool Description
list_event_calendars List all calendars available for events
list_calendar_events List events within a date range
create_calendar_event Create a new calendar event
update_calendar_event Update an existing event
delete_calendar_event Delete a calendar event

Building the Installer

To create a distributable .pkg installer:

Prerequisites

  • macOS with Xcode Command Line Tools
  • Bun runtime

Build Steps

# 1. Install dependencies
bun install

# 2. Build the Swift bridge (creates libEventKitBridge.dylib)
./src/swift-bridge/build.sh

# 3. Compile standalone binary (bundles TypeScript into single executable)
bun build --compile --outfile build/mcp-eventkit src/index.ts

# 4. Build the .pkg installer
./installer/build-pkg.sh 1.1.0

The installer will be created at dist/MCP-EventKit-Server-1.1.0.pkg

Installer Contents

The .pkg installs:

Component Location
Server binary /usr/local/lib/mcp-eventkit/mcp-eventkit
Swift library /usr/local/lib/mcp-eventkit/libEventKitBridge.dylib
Symlink /usr/local/bin/mcp-eventkit
Uninstaller /Applications/Uninstall MCP EventKit.app

Signing (Optional)

To sign the package for distribution:

productsign --sign "Developer ID Installer: Your Name" \
  dist/MCP-EventKit-Server-1.1.0.pkg \
  dist/MCP-EventKit-Server-1.1.0-signed.pkg

Development

Project Structure

mcp-server-eventkit/
├── src/
│   ├── index.ts                 # MCP server entry point
│   ├── server.ts                # Server configuration
│   ├── swift-bridge/
│   │   ├── EventKitBridge.swift # Native Swift module
│   │   ├── eventkit-bridge.ts   # TypeScript FFI bindings
│   │   └── build.sh             # Swift compilation script
│   ├── tools/                   # MCP tool implementations
│   ├── schemas/                 # Zod validation schemas
│   └── prompts/                 # MCP prompts
├── installer/
│   ├── build-pkg.sh             # Installer build script
│   ├── scripts/                 # Pre/post install scripts
│   ├── resources/               # Installer UI resources
│   └── payload/                 # Files to install
├── build/
│   ├── mcp-eventkit             # Compiled binary
│   └── libEventKitBridge.dylib  # Compiled Swift library
├── dist/                        # Generated installers
└── docs/                        # Documentation
    ├── adr/                     # Architecture Decision Records
    └── prd/                     # Product Requirements Documents

Running in Development

# Build Swift bridge
bun run build

# Run server (for testing)
bun run start

# Run with hot reload
bun run dev

Architecture

The server uses a three-layer architecture:

  1. MCP Layer (TypeScript): Handles MCP protocol, tool registration, and validation
  2. FFI Bridge (Bun FFI): Connects TypeScript to Swift via C-compatible functions
  3. Native Layer (Swift): Interacts with EventKit framework

See Architecture Decision Records for detailed design decisions.

Permissions

Reminders Access

Required for all reminder operations. Grant in:

  • System Settings > Privacy & Security > Reminders

Calendar Access

Required for calendar event operations. Grant in:

  • System Settings > Privacy & Security > Calendars

Full Disk Access (Optional)

Required only for list_tags tool. Grant in:

  • System Settings > Privacy & Security > Full Disk Access
  • Add /usr/local/bin/mcp-eventkit (or your terminal app for development)

Troubleshooting

"No access to Reminders" error

The app doesn't have permission to access Reminders. Grant access in System Settings > Privacy & Security > Reminders.

"No default calendar for reminders" error

You don't have any Reminders lists. Open the Reminders app and create at least one list.

Tags not working

The list_tags feature requires Full Disk Access because it reads directly from the Reminders SQLite database. Grant access in System Settings > Privacy & Security > Full Disk Access.

Build fails with Swift errors

Ensure you have Xcode Command Line Tools installed:

xcode-select --install

Calendar events not showing

Make sure you've granted Calendar access in System Settings > Privacy & Security > Calendars.

Uninstalling

If installed via .pkg

  1. Open Applications in Finder
  2. Double-click Uninstall MCP EventKit
  3. Confirm and enter admin password

Manual uninstall

sudo rm -rf /usr/local/lib/mcp-eventkit
sudo rm -f /usr/local/bin/mcp-eventkit
rm -rf "/Applications/Uninstall MCP EventKit.app"

Then remove the eventkit entry from your Claude Desktop config.

License

MIT

from github.com/pailat/mcp-server-eventkit

Установка Eventkit

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/pailat/mcp-server-eventkit

FAQ

Eventkit MCP бесплатный?

Да, Eventkit MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Eventkit?

Нет, Eventkit работает без API-ключей и переменных окружения.

Eventkit — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Eventkit в Claude Desktop, Claude Code или Cursor?

Открой Eventkit на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Eventkit with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development