Install
$ agentstack add mcp-pailat-mcp-server-eventkit Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Destructive filesystem operation.
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
MCP Server EventKit
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
- Clone the repository:
git clone https://github.com/yourusername/mcp-server-eventkit.git
cd mcp-server-eventkit
- Install dependencies:
bun install
- Build the Swift bridge:
bun run build
- 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:
- MCP Layer (TypeScript): Handles MCP protocol, tool registration, and validation
- FFI Bridge (Bun FFI): Connects TypeScript to Swift via C-compatible functions
- Native Layer (Swift): Interacts with EventKit framework
See [Architecture Decision Records](./docs/adr/) 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
- Open Applications in Finder
- Double-click Uninstall MCP EventKit
- 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
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: pailat
- Source: pailat/mcp-server-eventkit
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.