- Home
- MCP servers
- Apple Calendar
Apple Calendar
- typescript
0
GitHub Stars
typescript
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"null-phnix-apple-calendar-mcp": {
"command": "node",
"args": [
"/Users/josii/mcp-servers/calendar/dist/index.js"
]
}
}
}This MCP server provides Claude with full access to Apple Calendar for smart scheduling, calendar management, and time management assistance. It enables you to manage calendars, create and modify events, find free time, use reusable templates, and analyze your schedule from a single, programmable interface.
How to use
You can interact with this Apple Calendar MCP server through an MCP client to perform practical calendar tasks. Manage calendars by listing, creating, renaming, or deleting them. Create events using natural language timing, search across calendars, and update or move events between calendars. Leverage smart scheduling features to find free time, check for conflicts, and receive AI-assisted time suggestions based on your preferences. Save event configurations as templates and reuse them to streamline planning. Finally, analyze your schedule to understand meeting density, total time spent in meetings, and daily activity patterns.
How to install
Prerequisites you need before installing this MCP server include the following: macOS (required for Apple Calendar), Node.js 20 or newer with npm, the Apple Calendar app, and Claude Code CLI.
cd ~/mcp-servers/calendar
npm install
npm run build
Configuration and start
You configure the MCP integration inside Claude Code to connect your local MCP server. Use the provided configuration snippet to point Claude Code at the built server script.
{
"mcpServers": {
"apple-calendar": {
"command": "node",
"args": [
"/Users/josii/mcp-servers/calendar/dist/index.js"
]
}
}
}
Restart and run
After saving the configuration, restart Claude Code. The server will automatically start when Claude Code launches.
Usage examples
Basic calendar operations you can perform include listing calendars, creating a new calendar, renaming a calendar, and deleting a calendar.
Creating events supports natural language, such as tomorrow at 2pm, next Tuesday at 10am for 1 hour, or a specific title with a time. You can also specify the calendar to use.
Smart scheduling helps you find free time, verify availability for a given time, and get suggested meeting times based on your preferences, including a focus on business hours.
Templates allow you to save event configurations and quickly schedule new events from saved templates.
Analytics provide insights like meeting density, total time spent in meetings, and a daily breakdown of your schedule.
Troubleshooting
If you see a calendar access error, grant automation permissions in System Preferences > Security & Privacy > Privacy > Automation.
If the server fails to connect, check logs in the user library, verify the build succeeded, test running the script directly, and ensure Calendar.app is functioning properly.
If date parsing fails, rely on common formats and explicit dates when needed. The system supports natural language parsing but some edge cases may require explicit dates.
If events do not appear, verify the target calendar name exactly matches, ensure Calendar.app is running, and refresh the calendar view.
Notes
Default settings manage the default calendar, event duration, and business hours to tailor suggestions and scheduling behavior.
Development and building
Build the server with the following command.
npm run build
Future enhancements
Potential improvements for future versions include recurring events with RRULE support, attendee management, location autocomplete, video conferencing link generation, iCal import/export, proactive schedule optimization, and machine learning-based event categorization.
Available tools
list_calendars
List all available calendars in your Apple Calendar setup.
create_calendar
Create a new calendar with a specified name.
delete_calendar
Delete an existing calendar.
rename_calendar
Rename an existing calendar.
create_event
Create a new event with natural language date parsing and optional duration.
list_events
List events in a specific calendar.
list_all_events
List events across all calendars.
search_events
Search for events by keyword across titles, locations, and descriptions.
update_event
Update properties of an existing event.
delete_event
Delete a specific event.
move_event
Move an event to a different calendar.
find_free_time
Find available time slots with optional business hours filtering.
check_conflicts
Check for scheduling conflicts for proposed times.
suggest_optimal_time
AI-powered time suggestions based on user preferences.
create_template
Save event configurations as reusable templates.
use_template
Create events from saved templates.
list_templates
List all saved templates.
delete_template
Remove a saved template.
analyze_schedule
Provide insights on schedule density, total time in meetings, and daily breakdowns.