Skip to content
Zed

apple icloud mcp for Zed

io.github.chrischall/apple-icloud-mcp

Unofficial: Apple Music, iCloud Calendar/Contacts/Mail, Apple Maps and WeatherKit, no Mac needed

client:Zed transport:stdio runtime:npm

Install apple icloud mcp in Zed

~/.config/zed/settings.json · windows: %APPDATA%\Zed\settings.json

Held in this page only — never stored, logged, or sent anywhere but back to your screen.

{
  "context_servers": {
    "apple-icloud-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "apple-icloud-mcp"
      ],
      "env": {
        "APPLE_TEAM_ID": "<APPLE_TEAM_ID>",
        "APPLE_KEY_ID": "<APPLE_KEY_ID>",
        "APPLE_PRIVATE_KEY": "<APPLE_PRIVATE_KEY>",
        "APPLE_PRIVATE_KEY_PATH": "<APPLE_PRIVATE_KEY_PATH>",
        "APPLE_MUSIC_KEY_ID": "<APPLE_MUSIC_KEY_ID>",
        "APPLE_MUSIC_PRIVATE_KEY": "<APPLE_MUSIC_PRIVATE_KEY>",
        "APPLE_MAPS_KEY_ID": "<APPLE_MAPS_KEY_ID>",
        "APPLE_MAPS_PRIVATE_KEY": "<APPLE_MAPS_PRIVATE_KEY>",
        "APPLE_WEATHERKIT_KEY_ID": "<APPLE_WEATHERKIT_KEY_ID>",
        "APPLE_WEATHERKIT_PRIVATE_KEY": "<APPLE_WEATHERKIT_PRIVATE_KEY>",
        "APPLE_WEATHERKIT_SERVICE_ID": "<APPLE_WEATHERKIT_SERVICE_ID>",
        "APPLE_MUSIC_DEVELOPER_TOKEN": "<APPLE_MUSIC_DEVELOPER_TOKEN>",
        "APPLE_MUSIC_USER_TOKEN": "<APPLE_MUSIC_USER_TOKEN>",
        "APPLE_MUSIC_WEB_USER_TOKEN": "<APPLE_MUSIC_WEB_USER_TOKEN>",
        "APPLE_MUSIC_WEB_DEVELOPER_TOKEN": "<APPLE_MUSIC_WEB_DEVELOPER_TOKEN>",
        "APPLE_MUSIC_STOREFRONT": "<APPLE_MUSIC_STOREFRONT>",
        "ICLOUD_USERNAME": "<ICLOUD_USERNAME>",
        "ICLOUD_APP_PASSWORD": "<ICLOUD_APP_PASSWORD>",
        "ICLOUD_MAIL_ADDRESS": "<ICLOUD_MAIL_ADDRESS>",
        "ICLOUD_DEFAULT_CALENDAR": "<ICLOUD_DEFAULT_CALENDAR>",
        "APPLE_WRITE_MODE": "<APPLE_WRITE_MODE>",
        "APPLE_SERVICES": "<APPLE_SERVICES>",
        "DISPLAY_TZ": "<DISPLAY_TZ>",
        "APPLE_UNITS": "<APPLE_UNITS>",
        "APPLE_STATE_CACHE": "<APPLE_STATE_CACHE>",
        "APPLE_REQUEST_TIMEOUT_MS": "<APPLE_REQUEST_TIMEOUT_MS>",
        "APPLE_DEBUG_LOG": "<APPLE_DEBUG_LOG>",
        "MCP_CONFIRM_MODE": "<MCP_CONFIRM_MODE>",
        "MCP_CONFIRM_ELICITATION": "<MCP_CONFIRM_ELICITATION>",
        "MCP_CONFIRM_TTL_SECONDS": "<MCP_CONFIRM_TTL_SECONDS>",
        "MCP_CONFIRM_SECRET": "<MCP_CONFIRM_SECRET>"
      }
    }
  }
}

Merge this into your existing settings object — do not replace the file. Zed docs

apple icloud mcp in other clients