Fire in da houseTop Tip:Most people pay up to $340 per month for Perplexity, MidJourney, Runway, ChatGPT, and more - but you can get them all your AI tools for $15 with Galaxy. It's free to test!Fire in da houseCheck it out

mcp-ical

MCP.Pizza Chef: Omar-V2

The mcp-ical server is an MCP-compatible server that enables natural language interaction with the macOS Calendar app. It allows users to query, create, and manage calendar events conversationally, transforming calendar management into an intuitive, hands-free experience. By leveraging MCP, it integrates seamlessly with LLMs to provide real-time, context-aware calendar operations on macOS.

Use This MCP server To

Query macOS calendar events using natural language Create new calendar events via conversational commands Update existing calendar events through chat Delete calendar events with simple text instructions Get daily or weekly schedule summaries Integrate calendar management into AI copilots or assistants Automate meeting scheduling from chat inputs Sync calendar context with LLM workflows

README

MCP iCal Server

πŸ—“οΈ Natural Language Calendar Management for macOS

MIT License Python 3.12+ MCP Compatible

🌟 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.

You: "What's my schedule for next week?"
Claude: "Let me check that for you..."
[Displays a clean overview of your upcoming week]

You: "Add a lunch meeting with Sarah tomorrow at noon"
Claude: "✨ πŸ“… Created: Lunch with Sarah Tomorrow, 12:00 PM"

✨ Features

πŸ“… Event Creation

Transform natural language into calendar events instantly!

"Schedule a team lunch next Thursday at 1 PM at Bistro Garden"
↓
πŸ“Ž Created: Team Lunch
   πŸ“… Thursday, 1:00 PM
   πŸ“ Bistro Garden

Supported Features

  • Custom calendar selection
  • Location and notes
  • Smart reminders
  • Recurring events

Power User Examples

πŸ”„ Recurring Events:
"Set up my weekly team sync every Monday at 9 AM with a 15-minute reminder"

πŸ“ Detailed Events:
"Schedule a product review meeting tomorrow from 2-4 PM in the Engineering calendar, 
add notes about reviewing Q1 metrics, and remind me 1 hour before"

πŸ“± Multi-Calendar Support:
"Add a dentist appointment to my Personal calendar for next Wednesday at 3 PM"

πŸ” Smart Schedule Management & Availability

Quick access to your schedule with natural queries:

"What's on my calendar for next week?"
↓
πŸ“Š Shows your upcoming events with smart formatting

"When am I free to schedule a 2-hour meeting next Tuesday?"
↓
πŸ•’ Available time slots found:
   β€’ Tuesday 10:00 AM - 12:00 PM
   β€’ Tuesday 2:00 PM - 4:00 PM

✏️ Intelligent Event Updates

Modify events naturally:

Before: "Move tomorrow's team meeting to 3 PM instead"
↓
After: ✨ Meeting rescheduled to 3:00 PM

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

  • uv package manager
  • 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.

  1. Clone and Setup

    # Clone the repository
    git clone https://github.com/Omar-V2/mcp-ical.git
    cd mcp-ical
    
    # Install dependencies
    uv sync
  2. Configure 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"
                ]
            }
        }
    }
  3. 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.

  4. 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.

# Install dev dependencies
uv sync --dev

# Run test suite
uv run pytest tests

πŸ› 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:

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. 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

mcp-ical FAQ

How do I install the mcp-ical server?
You can install mcp-ical by cloning its GitHub repository and following the setup instructions, which typically involve installing Python 3.12+ and running the server on your macOS device.
Does mcp-ical support creating recurring events?
Yes, mcp-ical supports creating and managing recurring events through natural language commands.
Can I use mcp-ical with different LLM providers?
Yes, mcp-ical is MCP-compatible and works with various LLMs including OpenAI, Claude, and Gemini.
Is my calendar data secure when using mcp-ical?
mcp-ical runs locally on your macOS device, ensuring your calendar data remains private and secure without cloud exposure.
How does mcp-ical handle time zone differences?
The server respects your macOS system time zone settings and adjusts event times accordingly.
Can mcp-ical provide summaries of my upcoming events?
Yes, you can request daily or weekly summaries of your calendar events in natural language.
What versions of macOS are supported?
mcp-ical requires macOS with Python 3.12+ installed; compatibility is best with recent macOS versions.
Can I integrate mcp-ical with other MCP clients?
Yes, mcp-ical is designed to integrate seamlessly with MCP clients for enhanced AI-driven calendar workflows.