# icloud-calendar-mcp

Connects AI coding assistants to iCloud Calendar via CalDAV. Lets agents fetch schedules, create events, and edit recurring meetings from chat.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 23
- Author: icloud-calendar-mcp
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/icloud-calendar-mcp/icloud-calendar-mcp
- Updated: 2026-09-08
- HTML: https://affpapa.org/en/nevibecode/mcp/icloud-calendar-mcp

## What it does

This server connects tools like Claude Code directly to Apple Calendar through standard CalDAV. It operates independently of macOS, Calendar.app, or AppleScript. Assistants receive tools to inspect available calendars, query date spans, insert appointments, and modify existing entries. Recurring events expand into individual occurrences, letting the model update an entire series or a single date.

Under the hood, the server runs a Java application wrapped for npm and Python distribution. Java 21 or newer must be installed on your `PATH`, or the wrapper fails immediately upon start.

Authentication strictly requires an app-specific password rather than your primary Apple ID credentials. The server enforces rate limits of 60 reads and 20 writes per minute, alongside input validation against SSRF and ReDoS vulnerabilities.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `ICLOUD_USERNAME`, `ICLOUD_PASSWORD` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add icloud-calendar-mcp -e ICLOUD_USERNAME=<ICLOUD_USERNAME> -e ICLOUD_PASSWORD=<ICLOUD_PASSWORD> -- npx -y @icloud-calendar-mcp/server
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add icloud-calendar-mcp --env ICLOUD_USERNAME=<ICLOUD_USERNAME> --env ICLOUD_PASSWORD=<ICLOUD_PASSWORD> -- npx -y @icloud-calendar-mcp/server
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "icloud-calendar-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@icloud-calendar-mcp/server"
            ],
            "env": {
                "ICLOUD_USERNAME": "<ICLOUD_USERNAME>",
                "ICLOUD_PASSWORD": "<ICLOUD_PASSWORD>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "icloud-calendar-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@icloud-calendar-mcp/server"
            ],
            "env": {
                "ICLOUD_USERNAME": "<ICLOUD_USERNAME>",
                "ICLOUD_PASSWORD": "<ICLOUD_PASSWORD>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e ICLOUD_USERNAME=<ICLOUD_USERNAME> -e ICLOUD_PASSWORD=<ICLOUD_PASSWORD> icloud-calendar-mcp npx -y @icloud-calendar-mcp/server
```
Replace <…> with your own values

## When to use it
- inspect iCloud calendar schedules over specified date ranges
- reschedule or cancel single instances of recurring meetings
- detect overlapping appointments using built-in prompts
- add new events directly to Apple Calendar from terminal chats

## Example prompts
- List all events on my schedule for tomorrow
- Move my 3 PM appointment to 4 PM on Friday
- Check my calendar for conflicts this Thursday

## Similar
- [Reactive Resume](https://affpapa.org/en/nevibecode/mcp/reactive-resume.md) — MCP server · ★ 44874
- [screenpipe](https://affpapa.org/en/nevibecode/mcp/screenpipe.md) — MCP server · ★ 22053
- [Inbox Zero](https://affpapa.org/en/nevibecode/mcp/inbox-zero.md) — MCP server · ★ 12791
- [kaneo](https://affpapa.org/en/nevibecode/mcp/kaneo.md) — MCP server · ★ 9602
- [Mindwtr](https://affpapa.org/en/nevibecode/mcp/mindwtr.md) — MCP server · ★ 2318
- [Azure DevOps (ADO)](https://affpapa.org/en/nevibecode/mcp/azure-devops-ado.md) — MCP server · ★ 2067

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
