Works with Google Calendar when synced with iCloud Calendar, enabling users to create and manage events in Google Calendar through the same natural language interface.
Integrates with iCloud Calendar, providing comprehensive calendar management including event creation, modifications, and schedule viewing through natural language queries.
Integrates with macOS Calendar app for natural language calendar management, allowing users to create, view, and modify calendar events through conversation.
MCP iCal Server
🗓️ Natural Language Calendar Management for macOS
🌟 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.
Related MCP server: Cal.com Calendar MCP Server
✨ 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 your 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
macOS with Calendar app configured
An MCP client - Claude for desktop is recommended
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
# Clone the repository git clone https://github.com/Omar-V2/mcp-ical.git cd mcp-ical # Install dependencies uv syncConfigure Claude for Desktop
Create or edit
~/Library/Application\ Support/Claude/claude_desktop_config.json:{ "mcpServers": { "mcp-ical": { "command": "uv", "args": [ "--directory", "/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-ical", "run", "mcp-ical" ] } } }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.
Run the following command in your terminal.
/Applications/Claude.app/Contents/MacOS/Claude⚠️ Warning: Alternatively, you can manually grant calendar access, but this involves modifying system files and should only be done if you understand the risks involved.
Start Using!
Try: "What's my schedule looking like for next week?"
🔑 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 welcome. 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