apple-calendar-mcp
Enables reading and creating events in Apple Calendar on macOS, including listing calendars, searching events, creating new events, and finding free time slots.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@apple-calendar-mcpWhat's on my calendar for tomorrow?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
apple-calendar-mcp
A local MCP server that lets Claude read and create events in Apple Calendar on macOS. macOS only — it uses Apple's EventKit framework, which has no cross-platform equivalent.
What Claude can do with it
List your calendars — see every calendar configured in Calendar.app, including iCloud calendars.
List events in a time range, with optional text search.
Create a new event — title, time, location, notes, alarms, all-day or timed.
Find free time — get open slots of a given length, restricted to working hours, personal hours, or any time at all.
Full details, including all parameters: docs/tools.md.
Related MCP server: Nextcloud CalDAV MCP Server
Requirements
macOS 14 (Sonoma) or newer
Node.js 20 or newer
Xcode Command Line Tools (
xcode-select --install) — a full Xcode install is not needed
Installation
Run these from the root of this repository, in order.
1. Install and build.
npm install
npm run build
./swift/build.shThis installs the Node dependencies, compiles the TypeScript server to
dist/, and compiles + signs the Swift calendar helper to
bin/calendar-helper.
2. Register the background helper.
bash launchagent/install.shThis installs the helper as a per-user background service that starts automatically at login, and waits for it to come up.
3. Grant calendar access.
A system dialog appears, asking to let calendar-helper access your
calendar. Click OK, then open System Settings → Privacy & Security →
Calendars → calendar-helper → Options… and make sure Full Access is
selected, not "Add Only". Re-run bash launchagent/install.sh afterwards if
it hadn't already reported success.
4. Configure Claude Desktop.
Quit Claude Desktop first (Cmd+Q). It rewrites its own config file on exit, so editing it while Claude Desktop is still running gets your change silently discarded.
Then add this to
~/Library/Application Support/Claude/claude_desktop_config.json,
replacing the path with the absolute path to dist/index.js in this
checkout:
{
"mcpServers": {
"apple-calendar": {
"command": "node",
"args": ["/absolute/path/to/apple-calendar-mcp/dist/index.js"]
}
}
}5. Start Claude Desktop again.
It only reads the config file on startup, so this is what picks up the new server.
Did it work?
Ask Claude "what calendars do I have?" It should list your calendars. If
instead you get a permission error or no tools appear, see
docs/troubleshooting.md.
Updating after code changes
./swift/build.sh && bash launchagent/install.shWith a Developer ID certificate, your calendar grant survives this. Without one, expect a fresh permission dialog every time.
Uninstalling
bash launchagent/uninstall.shThis stops and removes the background service. It does not revoke the calendar grant itself — do that in System Settings if you want it gone too.
Learn more
docs/architecture.md— how the pieces fit together, and why a background service is required at all (the whole TCC permissions story).docs/tools.md— full MCP tool reference: every parameter, defaults, and the all-day alarm rule.docs/cli.md— the standalonecalendar-helpercommand-line tool, useful for testing without an MCP client.docs/troubleshooting.md— common errors and how to fix them.
License
MIT — see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceEnables Claude and other MCP clients to directly interact with macOS Calendar.app using AppleScript for local calendar management. Provides tools for listing, searching, creating, updating, and deleting calendar events without cloud APIs or CalDAV setup.Last updated324MIT
- Flicense-qualityDmaintenanceAn MCP server that lets Claude create calendar events and tasks in Nextcloud via CalDAV.Last updated
- Alicense-qualityBmaintenanceA local MCP server for CalDAV that gives Claude read access to your calendar, enabling planning, conflict checking, and schedule summaries.Last updatedMIT
- Alicense-qualityBmaintenanceA minimal Python MCP server that gives Claude access to built-in Apple apps (Mail, Contacts, Calendar, Notes, Reminders) on macOS, leveraging native APIs and local databases for speed with no OAuth setup.Last updatedMIT
Related MCP Connectors
Connects ChatGPT to your Apple Calendar via a local Mac agent + Vercel relay
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/redpop/apple-calendar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server