cal-mcp
Provides read-only access to local Apple Calendar events, with tools to list calendars and retrieve today's events, events for a specific date, or events in a date range, optionally filtered by calendar titles.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
cal-mcp
A read-only MCP server that reads the local Apple Calendar on this Mac. It uses the streamable HTTP transport.
Written for the mcp Python SDK version 2.x. In that version the class FastMCP
is named MCPServer, and it lives in mcp.server.mcpserver.
Install
git clone https://github.com/burghr/cal-mcp.git
cd cal-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtRelated MCP server: Apple Calendar MCP Server
Grant calendar access
macOS grants calendar access to the program that starts the server, not to the server itself. The first start opens a prompt. Approve it.
To change the grant later, open System Settings, then Privacy & Security, then Calendars.
Start the server
python server.pyThe endpoint is http://127.0.0.1:8001/mcp.
Set MCP_HOST, MCP_PORT, or CAL_NOTES_LIMIT to change the defaults. Port
8001 keeps this server clear of snow-mcp, which uses port 8000.
Connect Claude Code
claude mcp add --transport http cal-mcp http://127.0.0.1:8001/mcpTools
pingtests the connection.list_calendarslists the calendar titles on this Mac.get_today_eventsreturns the events of today.get_events_for_datereturns the events of one day.get_events_in_rangereturns the events between two days.
Every tool except ping accepts an optional calendars list of titles. Omit
the list to read every calendar.
Read-only
The server calls EventKit to read events. It never saves, changes, or deletes an event.
Start it at login
com.burghr.cal-mcp.plist is a launchd agent that starts the server at login
and restarts it if it stops. Replace YOUR-USERNAME in the file with your own
short user name, copy it to ~/Library/LaunchAgents/, then run:
launchctl load ~/Library/LaunchAgents/com.burghr.cal-mcp.plistYour data stays here
The server binds to 127.0.0.1, so nothing outside this Mac can reach it, and
it sends your events nowhere. The only thing that reads them is whatever MCP
client you point at the local endpoint.
License
MIT. See LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Connects ChatGPT to your Apple Calendar via a local Mac agent + Vercel relay
EU-hosted calendar MCP: Google, Outlook, iCloud, GMX, WEB.DE, CalDAV. Read, book, RSVP, sync.
Read and send iCloud Mail, manage iCloud Calendar. Needs an approved account at icloud.mcp.visin.ch.
MCP connector for Apple Reminders — search, create, complete, and edit via your own Mac.
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 gradedqualityDmaintenanceProvides native integration with Apple Calendar on macOS via EventKit, enabling CRUD operations on calendar events and calendars through a standardized MCP interface.750 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to interact with Apple Calendar locally on macOS through EventKit, including listing calendars and events, creating events, and updating events with privacy-conscious safeguards.MIT
- AlicenseNot gradedqualityBmaintenanceProvides local MCP access to Apple Calendar and Reminders on macOS, with no HTTP, LAN, or cloud endpoints.4 npmMIT