MCPLow riskUnclaimed

icloud-mcp

Read-only-by-default MCP server for iCloud mail, calendar, and contacts (IMAP/CalDAV/CardDAV).

eodozzyeodozzy/icloud-mcp★ 1Updated Jun 30, 2026

server.json

{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "name": "io.github.eodozzy/icloud-mcp",
  "description": "Read-only-by-default MCP server for iCloud mail, calendar, and contacts (IMAP/CalDAV/CardDAV).",
  "repository": {
    "url": "https://github.com/eodozzy/icloud-mcp",
    "source": "github"
  },
  "version": "0.1.1",
  "packages": [
    {
      "registryType": "pypi",
      "identifier": "icloud-mcp",
      "version": "0.1.1",
      "transport": {
        "type": "stdio"
      },
      "environmentVariables": [
        {
          "description": "Your Apple ID email (the IMAP/CalDAV username).",
          "isRequired": true,
          "format": "string",
          "name": "ICLOUD_USERNAME"
        },
        {
          "description": "OS-keyring service name to read the app-specific password from. Default: icloud-mcp. Set to reuse an existing entry.",
          "format": "string",
          "name": "ICLOUD_KEYRING_SERVICE"
        },
        {
          "description": "App-specific password. Fallback only; preferred storage is the OS keyring. Used only when no keyring entry is found.",
          "format": "string",
          "isSecret": true,
          "name": "ICLOUD_APP_PASSWORD"
        },
        {
          "description": "Enable mutating tools (send/reply/forward mail, create/update/delete event & contact). Off by default; each write still requires interactive confirmation. Accepts 1/true/yes/on.",
          "format": "string",
          "name": "ICLOUD_ENABLE_WRITES"
        },
        {
          "description": "IMAP host override. Default: imap.mail.me.com",
          "format": "string",
          "name": "ICLOUD_IMAP_HOST"
        },
        {
          "description": "IMAP port override. Default: 993",
          "format": "number",
          "name": "ICLOUD_IMAP_PORT"
        },
        {
          "description": "SMTP host override (used only by write/send tools). Default: smtp.mail.me.com",
          "format": "string",
          "name": "ICLOUD_SMTP_HOST"
        },
        {
          "description": "SMTP port override. Default: 587",
          "format": "number",
          "name": "ICLOUD_SMTP_PORT"
        },
        {
          "description": "CalDAV base URL override. Default: https://caldav.icloud.com/",
          "format": "string",
          "name": "ICLOUD_CALDAV_URL"
        },
        {
          "description": "CardDAV base URL override. Default: https://contacts.icloud.com/",
          "format": "string",
          "name": "ICLOUD_CARDDAV_URL"
        },
        {
          "description": "IANA timezone for rendering/scoping events. Default: system local time.",
          "format": "string",
          "name": "ICLOUD_TZ"
        }
      ]
    }
  ]
}

Permissions

DeclaredDetected
Runs code—python
Installs—pypi:icloud-mcp@0.1.1
Runs install scripts—None
NetworkNoneNone
Needs credentialsICLOUD_APP_PASSWORDICLOUD_APP_PASSWORD
Outside the workspace—None
Agent tools—None

Checks

Low risk · Nothing worth a warning was found.

Not reviewed by a person · Checked by rules; the model review is not switched on yet.

Versions

  1. #10.1.1latestOct 7, 2026