Local MCP server exposing macOS Reminders and Calendar via Apple EventKit
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"eventkit": {
"command": "/path/to/eventkit-mcp-server/target/release/eventkit-mcp-server"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A local Model Context Protocol server that exposes macOS Reminders and Calendar events via Apple's EventKit framework.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in productivity
Dynamic problem-solving through sequential thought chains
Persistent memory using a knowledge graph
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
Local-first AI memory with knowledge graphs and hybrid search. 17+ AI tools via MCP. Free.
MCP Security Weekly
Get CVE alerts and security updates for Eventkit Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A local Model Context Protocol server that exposes macOS Reminders and Calendar events via Apple's EventKit framework.
Created with Claude Code by Anthropic.
cargo build --release
The binary is written to target/release/eventkit-mcp-server.
The server uses stdio transport. On startup it connects to the system Reminders and Calendar databases and requests authorization — on first run macOS shows a permission dialog naming your terminal. Once authorized it serves MCP requests over stdin/stdout until the client disconnects.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"eventkit": {
"command": "/path/to/eventkit-mcp-server/target/release/eventkit-mcp-server"
}
}
}
Use the CLI to register the server. The default scope is local (current project only);
use -s user to register it globally for all projects.
# Current project only:
claude mcp add eventkit /path/to/eventkit-mcp-server/target/release/eventkit-mcp-server
# All projects (global):
claude mcp add -s user eventkit /path/to/eventkit-mcp-server/target/release/eventkit-mcp-server
| Tool | Description |
|---|---|
list_reminder_lists | List all Reminder lists visible to the current user |
list_reminder_sources | List all account sources available for creating reminder lists |
set_default_reminder_source | Set the default source used when creating new reminder lists |
create_reminder_list | Create a new Reminder list |
delete_reminder_list | Delete a Reminder list and all its reminders |
list_reminders | List reminders filtered by completion status and/or list |
get_reminder | Fetch a single reminder by its stable identifier |
create_reminder | Create a new reminder |
update_reminder | Update fields on an existing reminder |
complete_reminder | Mark a reminder as completed |
delete_reminder | Delete a reminder by its stable identifier |
| Tool | Description |
|---|---|
list_calendars | List all Calendars visible to the current user |
list_events | List events in a date range, optionally filtered by calendar |
get_event | Fetch a single event by its stable identifier |
create_event | Create a new calendar event |
update_event | Update fields on an existing event |
delete_event | Delete an event by its stable identifier |
list_reminder_sources — no parameters
set_default_reminder_source
{ "source_id": "source-identifier" }
create_reminder_list
{
"title": "Shopping",
"source_id": "optional-source-identifier"
}
source_id is optional. Omit to use the user-configured default source; if none is set, the system default (from macOS Settings) is used. Call list_reminder_sources to see available sources.
delete_reminder_list
{ "id": "list-identifier" }
Deletes the list and all reminders it contains.
list_reminders
{
"list_id": "optional-list-identifier",
"status": "incomplete"
}
status: "incomplete" (default) — pending reminders only; "completed" — done reminders only; "all" — both.
list_id: optional — omit to search across all lists.
get_reminder / complete_reminder / delete_reminder
{ "id": "reminder-i
... [View full README on GitHub](https://github.com/njacobs5074/eventkit-mcp-server#readme)