Provides read-only access to the macOS Calendar database, enabling retrieval of calendar events, searching by title, getting upcoming/past events, and accessing detailed event information including location, URL, and recurrence patterns.
Calendar MCP
A Deno monorepo containing packages for macOS Calendar access:
- @wyattjoh/calendar - Core library for read-only macOS Calendar database access
- @wyattjoh/calendar-mcp - Model Context Protocol (MCP) server for LLM integration
Features
- Search calendar events by title/summary
- Get recent past events
- Get upcoming events
- Retrieve events within date ranges
- Get today's events with conflict detection
- Get detailed event information including location, URL, and recurrence
- Filter rescheduled events
Requirements
- macOS (Calendar is only available on macOS)
- Deno 2.x or later
- Read access to
~/Library/Calendars/Calendar.sqlitedb
Packages
@wyattjoh/calendar
Core library for accessing Calendar data:
@wyattjoh/calendar-mcp
MCP server for LLM integration:
For Claude Desktop app integration, add this to your claude_desktop_config.json
:
Option 2: From Source
- Clone this repository
- Run the server:
Available Tools
- get-recent-events - Get recent past calendar events
limit
(optional): Number of events (1-100, default: 10)includeRescheduled
(optional): Include original rescheduled events (default: false)
- get-upcoming-events - Get upcoming calendar events
limit
(optional): Number of events (1-100, default: 10)includeRescheduled
(optional): Include original rescheduled events (default: false)
- get-events-by-date-range - Get events within a date range
startDate
(required): Start date in ISO format (e.g., "2024-01-01")endDate
(required): End date in ISO format (e.g., "2024-01-31")includeRescheduled
(optional): Include original rescheduled events (default: false)
- search-events - Search for events by title/summary
query
(required): Search query for event titleslimit
(optional): Maximum results (1-100, default: 20)timeRange
(optional): "all", "past", or "future" (default: "all")includeRescheduled
(optional): Include original rescheduled events (default: false)
- get-todays-events - Get all events scheduled for today
includeRescheduled
(optional): Include original rescheduled events (default: false)
- get-event-details - Get detailed information about a specific event
eventId
(required): The ROWID of the event
Response Format
All tools return calendar events in this format:
Detailed events (from get-event-details) include additional fields:
Security Notes
- This server runs with read-only access to the Calendar database
- No events can be created, modified, or deleted
- The server only accesses local data
Development
This is a Deno workspace monorepo. All commands run from the root affect all packages.
Working on Individual Packages
License
MIT
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
MCP server for accessing macOS Calendar events
Related MCP Servers
- -securityFlicense-qualityAn MCP server to list and launch applications on MacOSLast updated -415
- -securityAlicense-qualityTransforms macOS calendar management into a conversational experience using natural language, allowing users to create, manage, and update calendar events seamlessly through an MCP-compatible client.Last updated -170MIT License
- -securityFlicense-qualityAn MCP server that enables scheduling, updating, deleting, and listing calendar appointments through Cal.com's Calendar API.Last updated -2