mcp-ical
by: Omar-V2
A Model Context Protocol Server that allows you to interact with your MacOS Calendar through natural language.
πOverview
Purpose: To enhance macOS calendar management by enabling users to create and manage events using natural language through the MCP iCal Server.
Overview: The MCP iCal Server allows users to interact with their macOS calendar seamlessly using conversational commands. By leveraging the Model Context Protocol, it transforms the scheduling experience into a more intuitive and engaging format.
Key Features:
-
Event Creation: Quickly converts natural language requests into calendar events, enabling efficient scheduling with smart reminders, location entries, and multiple calendar support.
-
Smart Schedule Management & Availability: Provides instant access to upcoming events and identifies available time slots for meetings based on natural language queries.
-
Intelligent Event Updates: Allows users to modify existing events naturally, including changes to time, location, and reminders, ensuring effortless updates to their schedules.
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) for a conversational calendar management experience.
β¨ Features
π Event Creation
Transform natural language into calendar events instantly!
Supported Features:
- Custom calendar selection
- Location and notes
- Smart reminders
- Recurring events
π Smart Schedule Management & Availability
Quick access to your schedule with natural queries.
βοΈ Intelligent Event Updates
Modify events naturally with capabilities to change time, location, notes, and reminders.
π Calendar Management
- View all available calendars
- Smart calendar suggestions
π Quick Start
Prerequisites
- uv package manager
- macOS with Calendar app configured
- An MCP client - Claude for desktop is recommended
Installation
-
Clone and Setup
git clone https://github.com/yourusername/mcp-ical.git cd mcp-ical uv sync
-
Configure Claude for Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json
with the following:
json { "mcpServers": { "mcp-ical": { "command": "uv", "args": [ "--directory", "/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-ical", "run", "mcp-ical" ] } } }
- Launch Claude for Calendar Access
Launch Claude from the terminal to request calendar permissions:
bash /Applications/Claude.app/Contents/MacOS/Claude
- Start Using!
Try: "What's my schedule looking like for next week?"
π§ͺ Testing
uv sync --dev
uv run pytest tests
π Known Issues
- Non-standard recurring schedules may not always be set correctly.
- Results may vary based on the version of Claude.
π€ Contributing
- 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.
π Acknowledgments
- Built with Model Context Protocol
- MacOS Calendar integration built with PyObjC