Omar-V2/mcp-ical
A Model Context Protocol Server that allows you to interact with your MacOS Calendar through natural language.
321 ★69 forksPythonUpdated 1y ago
What you need to know
A Python MCP server (MIT) for macOS that turns natural-language calendar management into a conversational experience - creating, updating, and querying events in the macOS Calendar app via PyObjC.
Install
git clone https://github.com/Omar-V2/mcp-ical.git && cd mcp-ical uv sync Configure in ~/Library/Application Support/Claude/claude_desktop_config.json with command "uv", args ["--directory", "/ABS/PATH/mcp-ical", "run", "mcp-ical"]
Usage
- •Prerequisites: uv package manager, macOS with Calendar app configured, an MCP client (Claude for Desktop recommended)
- •Launch Claude from the terminal (/Applications/Claude.app/Contents/MacOS/Claude) so macOS calendars permission prompt triggers - launching from Finder will not
- •Ask in natural language: 'What's my schedule for next week?', 'Schedule a team lunch next Thursday at 1 PM', 'Move tomorrow's team meeting to 3 PM'
- •Supports custom calendar selection, locations, notes, reminders, recurring events, and free-time availability queries
Key features
- ✓Natural-language event creation with custom calendar selection, location, notes, smart reminders, and recurring events
- ✓Smart schedule management and free-time/availability queries (e.g. 'When am I free for a 2-hour meeting next Tuesday?')
- ✓Intelligent event updates: time/date changes, calendar transfers, location and note edits, reminder adjustments
- ✓View all calendars with smart suggestions; works with Google Calendar when synced through iCloud
Best for
macOS users who want to manage Apple Calendar entirely through natural-language chat with an AI assistant.
Caveats
- ⚠macOS only (requires macOS Calendar app and PyObjC)
- ⚠Claude must be launched from the terminal to trigger the calendar permission prompt
- ⚠Known issues: non-standard recurring schedules may not set correctly; better results with Claude 3.5 Sonnet than Haiku; reminder timing for recurring all-day events may be off by one day
- ⚠Tests create temporary calendars/events - only run in development environments
Platforms: macOSClients: Claude for Desktop · any MCP-compatible client
Documentation ↗Reviewed 2026-08-07
Topics
icalendarllmmcpmcp-servermodel-context-protocol
- Stars
- 321★
- Forks
- 69
- Language
- Python
- License
- MIT
- Created
- 2025-02-09
- Last push
- 2025-04-21