Supports creating and managing events in Google Calendar when synced with iCloud Calendar
Integrates with iCloud Calendar for event management and calendar operations
Integrates with the macOS Calendar app for creating, viewing, updating, and managing calendar events through natural language requests
Uses OpenAI Agent SDK to power the calendar agent that processes natural language requests and executes calendar operations
MCP iCal Server
๐๏ธ Agent-Powered Calendar Management for macOS
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
โจ Features
๐ Event Creation
Transform natural language into calendar events instantly!
Supported Features:
Custom calendar selection
Location and notes
Smart reminders
Recurring events
Power User Examples:
๐ Smart Schedule Management & Availability
Quick access to your schedule with natural queries:
โ๏ธ Intelligent Event Updates
Modify events naturally:
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
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.
Clone and Setup
Configure Claude for Desktop with API Key
Create or edit ~/Library/Application\ Support/Claude/claude_desktop_config.json
and include your OpenAI API key as an environment variable:
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.
Start Using!
๐ 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.
๐ง How It Works
This implementation uses a unique architecture:
A single MCP tool (
send_to_calendar_agent
) is exposed to the clientWhen invoked, this tool passes the request to a specialized calendar agent built with the OpenAI Agent SDK
The agent processes the natural language request and calls the appropriate calendar operations
Results are formatted and returned to the client
This approach offers several advantages:
Simplified client integration: Only one tool to invoke
Improved context handling: The agent maintains conversation state
More natural interactions: The specialized agent understands calendar-specific terminology and intent
โ How This Project Differs From The Original
This implementation maintains much of the core calendar functionality from Omar-V2/mcp-ical but completely reimplements the user interaction layer:
Single Entry Point: Instead of exposing multiple MCP tools directly to the client, we've implemented a single entry point that delegates to an OpenAI-powered agent
Agent-Based Processing: Added an OpenAI Agent to handle natural language understanding and translation to calendar operations
Stateful Conversations: Added conversation context tracking between requests in the same session
Simplified Client Integration: Clients only need to know about one tool instead of multiple calendar operations
The core calendar operations (event creation, listing, etc.) and macOS integration remain largely unchanged from the original implementation.
๐ Known Issues
Recurring Events
Non-standard recurring schedules may not always be set correctly
Better results with more powerful LLM models
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:
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 - see the LICENSE file for details.
๐ Acknowledgments
Original Project: Based on Omar-V2/mcp-ical by Omar-V2
Built with Model Context Protocol
Calendar integration built with PyObjC
Agent capabilities powered by OpenAI Agent SDK
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Agent-powered calendar management for macOS that transforms natural language into calendar operations through a single MCP tool interface.
Related MCP Servers
- -securityAlicense-qualityTransforms macOS calendar management into a conversational experience using natural language, allowing users to create, manage, and update calendar events seamlessly through an MCP-compatible client.Last updated -182MIT License
- -securityFlicense-qualityAn MCP server that enables scheduling, updating, deleting, and listing calendar appointments through Cal.com's Calendar API.Last updated -2
- AsecurityFlicenseAqualityA Model Context Protocol server for AI models to access and manipulate Apple Calendar data on macOS through a standardized interface.Last updated -7164
- AsecurityAlicenseAqualityA Model Context Protocol server that enables direct integration with macOS Calendar application using AppleScript, allowing users to create, list, and search calendar events without requiring OAuth setup.Last updated -83MIT License