mcp-ical
A Model Context Protocol Server that allows you to interact with your MacOS Calendar through natural language.
claude mcp add --transport stdio omar-v2-mcp-ical uv --directory /ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-ical run mcp-ical
How to use
The mcp-ical MCP server provides natural language calendar management for macOS. It enables you to create, update, and query calendar events using conversational prompts. The server is designed to work with MCP-compatible clients (such as Claude for Desktop) and can leverage your existing calendars (including Google via iCloud integration when configured) to add or modify events using natural language. Typical interactions include asking about your schedule, creating events with location and notes, and adjusting times, dates, reminders, or calendar assignments through simple commands.
To use it, configure your MCP client to point at the mcp-ical server, then issue natural language requests like “Schedule a lunch meeting tomorrow at noon” or “What’s on my calendar for next week?” The server will interpret the intent, map it to calendar actions, and respond with confirmations or results. It supports features such as custom calendar selection, location and notes, smart reminders, recurring events, event updates, and multi-calendar management, including Google Calendar integration when set up via iCloud.
How to install
Prerequisites:
- uv package manager installed and available in your PATH
- macOS with Calendar app configured
- An MCP client (e.g., Claude for Desktop) to connect to the MCP server
Installation steps:
- Clone the repository and set up the project
# Clone the repository
git clone https://github.com/Omar-V2/mcp-ical.git
cd mcp-ical
- Install or sync dependencies with uv
uv sync
- Configure Claude for Desktop to point to the MCP server
Create or edit the Claude desktop config file at:
~/Library/Application Support/Claude/claude_desktop_config.jsonwith the following content:
{
"mcpServers": {
"mcp-ical": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-ical",
"run",
"mcp-ical"
]
}
}
}
- Launch Claude for Calendar Access
Important: Claude must be launched from the terminal to properly request calendar permissions.
/Applications/Claude.app/Contents/MacOS/Claude
- Start using the MCP server In Claude, try a sample prompt like:
What's my schedule looking like for next week?
Notes:
- If you encounter calendar access prompts, ensure Claude was started from the terminal as shown above.
- You can customize the directory path in the config to the absolute path of your mcp-ical folder.
Additional notes
Tips and considerations:
- This MCP server relies on uv for orchestration; use an absolute path in the integration config.
- Ensure Claude (or your chosen MCP client) is launched from the terminal to grant macOS Calendar permissions when prompted.
- If you need Google Calendar integration, ensure your calendars are synced with iCloud and specify the target Google calendar when creating/updating events.
- Known issues include occasional misinterpretation of non-standard recurring schedules; test complex recurrences and adjust prompts accordingly.
- You can update events, move events between calendars, update locations, notes, reminders, and adjust recurring patterns through natural language commands.
Related MCP Servers
dbt
A MCP (Model Context Protocol) server for interacting with dbt.
mcp -odoo
A Model Context Protocol (MCP) server that enables AI assistants to securely interact with Odoo ERP systems through standardized resources and tools for data retrieval and manipulation.
oxylabs
Official Oxylabs MCP integration
LLaMa -Streamlit
AI assistant built with Streamlit, NVIDIA NIM (LLaMa 3.3:70B) / Ollama, and Model Control Protocol (MCP).
roampal-core
Outcome-based memory for Claude Code and OpenCode
asterisk
Asterisk Model Context Protocol (MCP) server.