io.github.IceyWu/icloud-calendar

Registre officiel Productivité

Manage Apple iCloud Calendar through a reliable CalDAV MCP server.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package icloud-calendar-mcp
Claude Code
claude mcp add icloud-calendar -e 'ICLOUD_USERNAME=<ICLOUD_USERNAME>' -e 'ICLOUD_APP_PASSWORD=<your icloud_app_password>' -- npx -y icloud-calendar-mcp@0.1.3
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "icloud-calendar": {
            "command": "npx",
            "args": [
                "-y",
                "icloud-calendar-mcp@0.1.3"
            ],
            "env": {
                "ICLOUD_USERNAME": "<ICLOUD_USERNAME>",
                "ICLOUD_APP_PASSWORD": "<your icloud_app_password>"
            }
        }
    }
}

Variables d'environnement

  • ICLOUD_USERNAME obligatoire Apple Account email address
  • ICLOUD_APP_PASSWORD obligatoire secret Apple app-specific password (never the Apple Account password)

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. iCloud Calendar MCP
  2. Setup
  3. Tools
  4. Example requests
  5. Behavior
  6. HTTP
  7. Development
  8. License

iCloud Calendar MCP

An MCP server for managing iCloud Calendar.

English · 简体中文

Setup

Requirements:

Add the server to your MCP client:

{
  "mcpServers": {
    "icloud-calendar": {
      "command": "npx",
      "args": ["-y", "icloud-calendar-mcp"],
      "env": {
        "ICLOUD_USERNAME": "you@example.com",
        "ICLOUD_APP_PASSWORD": "xxxx-xxxx-xxxx-xxxx"
      }
    }
  }
}

Use an app-specific password, not your Apple Account password.

Tools

ToolPurpose
list_calendarsList calendars
list_eventsList events in a time range
get_eventGet an event
create_eventCreate an event
update_eventUpdate an event
delete_eventDelete an event
find_conflictsFind overlapping events
free_busyReturn busy time ranges

Events can include time zones, all-day dates, recurrence rules, alarms, locations, descriptions, URLs, and attendees.

Example requests

Once the server is connected, you can ask your MCP client:

Show my calendars.

What is on my calendar next week in Asia/Shanghai time?

Add a project review to my Work calendar tomorrow from 2:00 PM to 3:00 PM, with a reminder 15 minutes before.

Do I have any conflicts on Friday between 9:00 AM and noon?

Move the project review to 4:00 PM and change the location to Meeting Room B.

Add an all-day event called “Company holiday” on October 1.

Delete the project review event.

For ambiguous requests, include the calendar, date, time, and time zone when possible.

Behavior

  • All-day event end dates are exclusive. A one-day event on August 18 uses 2026-08-18 to 2026-08-19.
  • Create, update, and delete operations accept a request_id for safe retries.
  • Concurrent changes are detected with ETags.
  • Whole recurring series can be updated or deleted. Unsupported occurrence-level changes return an error instead of modifying the series.

See tool contracts for complete inputs, outputs, and error codes.

HTTP

stdio is the default transport. Streamable HTTP is optional:

ICLOUD_MCP_TRANSPORT=http \
ICLOUD_MCP_HTTP_TOKEN='replace-with-a-long-random-token' \
ICLOUD_MCP_HTTP_PORT=3000 \
npx -y icloud-calendar-mcp

HTTP mode requires a bearer token and listens on loopback by default. See security before exposing it through a proxy.

Development

pnpm install
pnpm check

See architecture, contributing, and releasing.

License

MIT

Questions fréquentes

Qu'est-ce que io.github.IceyWu/icloud-calendar ?

Manage Apple iCloud Calendar through a reliable CalDAV MCP server.

Comment installer io.github.IceyWu/icloud-calendar ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add icloud-calendar -e 'ICLOUD_USERNAME=<ICLOUD_USERNAME>' -e 'ICLOUD_APP_PASSWORD=<your icloud_app_password>' -- npx -y icloud-calendar-mcp@0.1.3. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.IceyWu/icloud-calendar ?

Oui. Il attend ICLOUD_USERNAME, ICLOUD_APP_PASSWORD, à renseigner dans sa configuration.

io.github.IceyWu/icloud-calendar est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.IceyWu/icloud-calendar ?

Il est publié par IceyWu. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.