calendar-mcp
Allows interaction with Apple Calendar data via EventKit, providing tools for listing, creating, updating, and deleting calendar events.
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., "@calendar-mcplist my events for next Monday"
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.
calendar-mcp
Local MCP server that exposes Apple Calendar data through an EventKit helper app.
Built entirely by OpenAI GPT-5.4 via Codex.
Install
git clone https://github.com/<your-account>/calendar-mcp.git
cd calendar-mcp
./bootstrap.shRelated MCP server: apple-calendar-mcp
Run
npm run startPermissions
Run calendar_permissions once with prompt: true and access: "full".
The helper app is intended to be built with the project’s normal code signing so macOS can attribute Calendar access to a stable app identity.
If the prompt does not appear from inside Codex, launch the helper app directly once:
open CalendarMCPHelperApp/build/Build/Products/Release/CalendarMCPHelperApp.appWhen opened directly, the app will request Calendar access and show a status alert. After that initial grant, the MCP tools can read and write events normally.
Delete safety is intentionally narrow: each calendar_delete_event call can remove only one resolved target. Recurring deletes support one occurrence or one entire series, but not futureEvents or any bulk-delete shape.
calendar_update_event updates an event in place instead of forcing a delete-and-recreate flow. Omitted fields stay unchanged. To clear nullable fields, pass one of clearLocation, clearNotes, clearUrl, or clearTimeZone.
Date Inputs
All tool date inputs accept these wire formats:
2026-04-02for a local calendar day2026-04-02T09:30or2026-04-02T09:30:00for a local wall-clock time2026-04-02T09:30:00-05:00or2026-04-02T14:30:00Zfor an exact instant
Local date-only and local date-time inputs are interpreted in the helper app's current macOS time zone. Returned event payloads always use ISO-8601 timestamps with timezone offsets.
calendar_list_events treats start and end as the exact time window after parsing those inputs.
occurrenceDate for recurring-event lookups also accepts YYYY-MM-DD. In that case the helper matches the occurrence by local calendar day. When you already have an occurrenceDate timestamp from a previous tool response, prefer passing that exact timestamp back.
MCP config
{
"mcpServers": {
"calendar": {
"command": "node",
"args": ["/absolute/path/to/calendar-mcp/dist/index.js"],
"env": {
"CALENDAR_MCP_HELPER_APP_PATH": "/absolute/path/to/calendar-mcp/CalendarMCPHelperApp/build/Build/Products/Release/CalendarMCPHelperApp.app"
}
}
}
}Verify
npm run verifyMaintenance
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
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to access and interact with macOS Calendar.app events and reminders, including viewing, searching, and filtering calendar data.2MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Apple Calendar via native EventKit API with proper recurring event support.239MIT
- AlicenseNot gradedqualityCmaintenanceA lightweight MCP server for Apple Calendar on macOS that uses a Swift helper to access EventKit directly, enabling event queries without AppleScript or Calendar.app dependency.13MIT
- FlicenseNot gradedqualityDmaintenanceEnables reading, creating, updating, and deleting Apple Reminders directly on macOS via the EventKit framework.
Related MCP Connectors
Connects ChatGPT to your Apple Calendar via a local Mac agent + Vercel relay
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
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/atfinke/calendar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server