mcp-ical

MCP.Pizza Chef: Omar-V2

Ask what is on next week, create an appointment with a location and a reminder, move a meeting to a new time, or hunt for a free two-hour slot, all in ordinary sentences. Events land in whichever calendar you name, including a Google calendar synced through iCloud. It runs on macOS only, costs nothing, and asks for calendar permission the first time you use it. Worth knowing: the code has not changed since April 2025 and repeating events are a known weak spot.

Unmaintained ยท no changes since April 2025, no replacement named
Calendar

Use This MCP server To

Ask what is on my calendar next week Add a lunch meeting tomorrow at noon Move tomorrow's team meeting to three o'clock Find a free two-hour slot next Tuesday Set up a weekly sync with a reminder

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

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

mcp-ical FAQ

Is this still maintained?
No. The last change was April 2025 and two dozen reports sit unanswered. The author has not named a replacement.
Does it work on Windows?
No. It reads the Calendar app built into macOS, so a Mac is required.
Do I need a paid key?
No. It works with the calendar already on your Mac and charges nothing.
Can I use this to add events to my Google calendar?
Yes, as long as that calendar is synced into your Mac's Calendar app โ€” just name it when you ask.
Why can it not see my calendar?
macOS only asks for calendar permission when Claude is started from the terminal, which the setup notes walk you through.
Can I use this to find a free slot for a two-hour meeting?
Yes โ€” ask when you are free and it reads your existing events to answer.
What does not work well?
Unusual repeating schedules are often set incorrectly, and reminders on all-day repeating events can be a day out.
How hard is setup?
Developer-level. You download the code, install the uv tool, edit a settings file, and launch Claude from the terminal once.