MCP iCal Server
MCP iCal Server
<div align="center">๐๏ธ Natural Language Calendar Management for macOS
</div>๐ Overview
Transform how you interact with your macOS calendar using natural language! The mcp-ical server leverages the Model Context Protocol (MCP) to turn your calendar management into a conversational experience.
โจ Features
๐ Event Creation
Transform natural language into calendar events instantly!
Supported Features:
- Custom calendar selection
- Location and notes
- Smart reminders
- Recurring events
Power User Examples:
๐ Smart Schedule Management & Availability
Quick access to your schedule with natural queries:
โ๏ธ Intelligent Event Updates
Modify events naturally:
Update Capabilities:
- Time and date modifications
- Calendar transfers
- Location updates
- Note additions
- Reminder adjustments
- Recurring pattern changes
๐ Calendar Management
- View all available calendars
- Smart calendar suggestions
- Seamless Google Calendar integration when configured with iCloud
๐ก Pro Tip: Since you can create events in custom calendars, if you have your Google Calendar synced with you iCloud Calendar, you can use this MCP server to create events in your Google Calendar too! Just specify the google calendar when creating/updating events
๐ Quick Start
๐ก Note: While these instructions focus on setting up the MCP server with Claude for Desktop, this server can be used with any MCP-compatible client. For more details on using different clients, see the MCP documentation.
Prerequisites
- uv package manager
- macOS with Calendar app configured
- An MCP client - Claude for desktop is recommend
Installation
Whilst this MCP server can be used with any MCP compatible client, the instructions below are for use with Claude for desktop.
- Clone and Setup
- Configure Claude for Desktop
Create or edit ~/Library/Application\ Support/Claude/claude_desktop_config.json
:
- Launch Claude for Calendar Access
โ ๏ธ Critical: Claude must be launched from the terminal to properly request calendar permissions. Launching directly from Finder will not trigger the permissions prompt.
- Start Using!
๐ Note: When you first use a calendar-related command, macOS will prompt for calendar access. This prompt will only appear if you launched Claude from the terminal as specified above.
๐งช Testing
โ ๏ธ Warning: Tests will create temporary calendars and events. While cleanup is automatic, only run tests in development environments.
๐ Known Issues
Recurring Events
- Non-standard recurring schedules may not always be set correctly
- Better results with Claude 3.5 Sonnet compared to Haiku
- Reminder timing for recurring all-day events may be off by one day
๐ค Contributing
Feedback and contributions are welcomed! Here's how you can help:
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Built with Model Context Protocol
- MacOS Calendar integration built with PyObjC
This server cannot be installed
Transforms 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.