MCP iCal Server

by kristofferv98

2 stars
355 downloads
Not rated
GitHub

About

Mcp server with singular tool communication to agent using o4-mini with OpenAI Agent SDK integration to manage google/apple calendar.

Details

Author
kristofferv98
GitHub stars
2
Downloads
355
Categories
AI

- Single MCP tool (send_to_calendar_agent) for all operations
- Stateful conversations that maintain context between requests
- Natural language event creation with location, notes, and reminders
- Smart schedule queries and availability checking
- Intelligent event updates (time, date, calendar, notes)
- Multi-calendar support, including Google Calendar via iCloud sync

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP iCal Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install the server with uv sync, then configure your MCP client (e.g., Claude for Desktop) by adding the server to claude_desktop_config.json with your OPENAI_API_KEY as an environment variable. Launch Claude from the terminal to trigger macOS calendar permissions. Once set up, invoke the single MCP tool send_to_calendar_agent with natural language requests like “What’s my schedule for next week?” or “Add a lunch meeting with Sarah tomorrow at noon.”

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp ical server": {
            "Mcp_calender_agent": {
                "command": "uv",
                "args": [
                    "sync"
                ]
            }
        }
    }
}

McpServers

{
    "Mcp_calender_agent": {
        "command": "uv",
        "args": [
            "sync"
        ]
    }
}

MCP iCal Server

<div align="center">

🗓️ Agent-Powered Calendar Management for macOS

MIT License
Python 3.12+
MCP Compatible

</div>

> This project is based on Omar-V2/mcp-ical with a reimplemented user interaction layer using an agent-based approach.

🌟 Overview

Transform how you interact with your macOS calendar using a dedicated AI agent! This MCP iCal server leverages the OpenAI Agent SDK to provide a single, powerful entry point for all your calendar operations.

Unlike traditional MCP implementations that expose multiple tools, this server uses an agent-based approach:
- 🧠 Single Tool Interface: Just one MCP tool (send_to_calendar_agent) that delegates to a specialized calendar agent
- 🤖 Stateful Conversations: The agent maintains context between requests in the same session
- 🔄 Zero-Config Operation: Natural language processing handled automatically by the specialized agent

You: "What's my schedule for next week?"
Claude: "Let me check that for you..."
[Calendar agent processes request and returns clean schedule]

You: "Add a lunch meeting with Sarah tomorrow at noon"
Claude: "Event created: Lunch with Sarah, tomorrow at 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:
"Move tomorrow's team meeting to 3 PM instead"
↓
✨ 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 - OpenAI API key (set as OPENAI_API_KEY environment variable)

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.