
Calendar.app
io.github.p-l-taPublished by GitHub account p-l-tav1.0.0Updated Oct 24, 2026
List, search, and manage calendar events via macOS Calendar.app across all configured accounts.
Overview
A local macOS MCP server that lets an assistant list, search, create, update and delete Calendar.app events across all configured accounts.
- What you can do
- List calendars with name, color, account and UUID, and list events in a date range including recurring occurrences, reading Calendar's database directly for fast results across all accounts. Get full details of a single event by UUID, including attendees, and search events by text across title, description and location. Create new events, update properties of existing events, and permanently delete events through AppleScript automation, so changes sync to connected accounts as if made in the app.
- When to use it
- Useful on a Mac when you want an assistant to check your schedule, find events by keyword, or add, edit and remove appointments across iCloud, Google or Exchange calendars without switching apps.
- Requirements
- macOS with Calendar.app, Node.js 20+, and an MCP host such as Claude Desktop or any stdio client; runs locally via npx or a global npm install. The host application needs Full Disk Access and Automation permission for Calendar in System Settings, since the server inherits the host's permissions. No API keys or environment variables.
Installation
In SourceWeft
- Open Calendar.app in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
calendar-mcp
MCP server that gives Claude (and other MCP hosts) full access to Calendar.app on macOS — list, search, create, update, and delete events — across every account configured in Calendar.app (iCloud, Google, Exchange, etc.).
Prerequisites
- macOS (Calendar.app required)
- Node.js 20+
- An MCP host: Claude Desktop or any stdio MCP client
Installation
Claude Desktop — one-click install (recommended)
- Download
calendar-mcp.mcpbfrom the latest release - Double-click the
.mcpbfile — Claude Desktop installs it automatically - Grant the required macOS permissions (see below)
Manual / other hosts
Or install globally:
Point your MCP host at the calendar-mcp binary (stdio transport). Example config:
Required macOS permissions
Grant these to the application that runs the MCP host (Claude Desktop, etc.):
The MCP server process inherits permissions from the host application that launches it.
Tools
How it works
- Reads (
list_calendars,list_events,search_events,get_event) — query Calendar's SQLite database directly for fast, structured results across all accounts. Recurring events are expanded correctly via Calendar'sOccurrenceCachetable. - Writes (
create_event,update_event,delete_event) — driven by AppleScript automation against Calendar.app, so changes sync to all connected accounts (iCloud, Google, Exchange) just as if you'd made them in the app.
Development
Note:
npm run smokerequires Terminal.app (or your terminal emulator) to have Full Disk Access, since it reads Calendar.sqlitedb directly.
Interactive MCP testing:
Privacy Policy
calendar-mcp is a local MCP server that runs entirely on your Mac. It has no backend, no telemetry, and makes no network requests of its own.
What it accesses:
- Calendar's SQLite database (
~/Library/Group Containers/group.com.apple.calendar/Calendar.sqlitedb) — read-only, used for list/search queries - Calendar.app via AppleScript — to create, update, and delete events
What it does NOT do:
- Collect, store, or transmit any data outside your Mac
- Connect to any external server or API
- Log calendar data anywhere
All calendar data stays on your device and is only passed to the MCP host (Claude Desktop or another client) as part of normal tool responses. You control exactly which tools Claude can invoke.
License
MIT
Source: README.md at commit 1691345
Tools
0Version history
1- v1.0.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts