MCP iCal Server

MCP iCal Server

By Omar-V2 GitHub

A Model Context Protocol Server that allows you to interact with your MacOS Calendar through natural language.

icalendar mcp
Overview

What is MCP iCal Server?

MCP iCal Server is a Model Context Protocol Server that allows users to interact with their macOS Calendar using natural language, transforming calendar management into a conversational experience.

How to use MCP iCal Server?

To use MCP iCal Server, set it up with an MCP-compatible client like Claude for Desktop, and then you can issue natural language commands to manage your calendar.

Key features of MCP iCal Server?

  • Natural language event creation and modification
  • Smart schedule management and availability queries
  • Support for multiple calendars and recurring events
  • Integration with Google Calendar when configured with iCloud

Use cases of MCP iCal Server?

  1. Scheduling meetings and events using simple language commands.
  2. Checking availability and upcoming events quickly.
  3. Modifying existing calendar events with natural language.

FAQ from MCP iCal Server?

  • Can I use MCP iCal Server with any calendar?

Yes! It works with macOS Calendar and can integrate with Google Calendar through iCloud.

  • Is there a specific client I need to use?

While it can work with any MCP-compatible client, Claude for Desktop is recommended for the best experience.

  • What are the prerequisites for using MCP iCal Server?

You need macOS with the Calendar app configured, the uv package manager, and an MCP client.

Content

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

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/yourusername/mcp-ical.git
cd mcp-ical

# Install dependencies
uv sync
  1. 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"
            ]
        }
    }
}
  1. 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.

/Applications/Claude.app/Contents/MacOS/Claude
  1. 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 welcomed! 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

No tools information available.
School MCP
School MCP by 54yyyu

A Model Context Protocol (MCP) server for academic tools, integrating with Canvas and Gradescope platforms.

canvas mcp
View Details
repo-template
repo-template by loonghao

A Model Context Protocol (MCP) server for Python package intelligence, providing structured queries for PyPI packages and GitHub repositories. Features include dependency analysis, version tracking, and package metadata retrieval for LLM interactions.

-

google-calendar mcp
View Details
strava-mcp
strava-mcp by jeremysilva1098

MCP server for strava

strava mcp
View Details

Model Context Protocol (MCP) server implementation for Rhinoceros/Grasshopper integration, enabling AI models to interact with parametric design tools

grasshopper mcp
View Details

MCP configuration to connect AI agent to a Linux machine.

security mcp
View Details

AI assistant built with Streamlit, NVIDIA NIM (LLaMa 3.3:70B) / Ollama, and Model Control Protocol (MCP).

python mcp
View Details