icloud-calendar-mcp
Manages iCloud calendar events, including creating, reading, updating, and deleting events via CalDAV.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@icloud-calendar-mcpcreate a meeting tomorrow at 10am with John"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Remote iCloud calendar MCP Server
Remote MCP server so Claude Code (or any MCP-compatible client) can manage calendar events directly you can deploy at https://horizon.prefect.io/.
Works with
Claude Code / Claude Desktop / Claude.ai
ChatGpt
Anything that supports Oauth MCP servers
Environment Variables
Variable | Required | Default | Description |
| Yes | — | iCloud account email address |
| Yes | — | iCloud app-specific password |
| No |
| Name of the target iCloud calendar |
Credentials are stored encrypted in secrets.env via SOPS + Age and loaded automatically by direnv.
Related MCP server: iCloud CalDAV MCP Connector
ICS Import (CLI)
Import an ICS file directly into iCloud:
uv run python main.py SchemaICAL.ics
# or, if inside the devenv shell:
import SchemaICAL.icsOptions:
usage: main.py [-h] [--username USERNAME] [--password PASSWORD] [--calendar CALENDAR] ics_file
positional arguments:
ics_file Path to the ICS file to import
options:
-u, --username USERNAME iCloud username (falls back to ICLOUD_USERNAME)
-p, --password PASSWORD iCloud app-specific password (falls back to ICLOUD_PASSWORD)
-c, --calendar CALENDAR Target calendar name (default: Alex Plugg)MCP Server
server.py is a FastMCP server that exposes CRUD operations on iCloud calendar events.
Tools
Tool | Description |
| List events in a date range (defaults to current month) |
| Fetch a single event by UID |
| Create a new event with title, time, description, and location |
| Update any fields of an existing event by UID |
| Delete an event by UID |
Installation — Claude Code (user-level)
Register the server globally so it is available in every project:
claude mcp add --scope user icloud-calendar \
uv -- run fastmcp run /home/kog/repos/ics-icloud-import/server.pyThe server reads ICLOUD_USERNAME, ICLOUD_PASSWORD, and ICLOUD_CALENDAR from the environment. These are already available in any shell that loads this repo's direnv config.
Installation — Claude Desktop (macOS / Windows)
Add the following to your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"icloud-calendar": {
"command": "uv",
"args": [
"run",
"--project", "/path/to/ics-icloud-import",
"fastmcp", "run", "/path/to/ics-icloud-import/server.py"
],
"env": {
"ICLOUD_USERNAME": "your@icloud.com",
"ICLOUD_PASSWORD": "xxxx-xxxx-xxxx-xxxx",
"ICLOUD_CALENDAR": "My Calendar"
}
}
}
}Replace /path/to/ics-icloud-import with the actual path to this repository.
Running the server manually
uv run fastmcp run server.pyThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/reinthal/icloud-calendar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server