Apple Icloud MCP vs MCP Server Apple Events

A side-by-side look at the Apple Icloud MCP and MCP Server Apple Events MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Apple Icloud MCP logoApple Icloud MCPWorkplace & Productivity · Local subprocess (stdio)Unofficial: Apple Music, iCloud Calendar/Contacts/Mail, Apple Maps and WeatherKit, no Mac needed61GoodAuth: not declaredMCP Server Apple Events logoMCP Server Apple EventsWorkplace & Productivity · Local subprocess (stdio)MCP server providing native macOS integration with Apple Reminders and Calendar via EventKit64GoodAuth: no auth required

Verdict: choose Apple Icloud MCP for workplace & productivity work as a local process; choose MCP Server Apple Events for workplace & productivity as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Apple Icloud MCP logoChoose Apple Icloud MCP when

  • You need dedicated capabilities in the Workplace & Productivity domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: ICLOUD_USERNAME, ICLOUD_APP_PASSWORD, ICLOUD_MAIL_ADDRESS, DISPLAY_TZ, APPLE_WRITE_MODE.
  • You want tools like apple_healthcheck, apple_music_search_catalog, apple_music_get_catalog_items.
Explore Apple Icloud MCP

MCP Server Apple Events logoChoose MCP Server Apple Events when

  • You need dedicated capabilities in the Workplace & Productivity domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You have the keys it needs: EVENTKIT_CLI_TIMEOUT_MS, EVENT_PERMISSION_TIMEOUT_MS.
  • You want tools like reminders_tasks, reminders_subtasks, reminders_lists.
Explore MCP Server Apple Events

Feature & specification comparison

Rows where the two servers differ are marked.

SpecApple Icloud MCP logoApple Icloud MCPMCP Server Apple Events logoMCP Server Apple Events
CategoryWorkplace & ProductivityWorkplace & Productivity
Quality signal61/100 · Good64/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNo auth required
PricingBYOK (pay the provider)Free
Required env varsICLOUD_USERNAMEICLOUD_APP_PASSWORDICLOUD_MAIL_ADDRESSDISPLAY_TZAPPLE_WRITE_MODEEVENTKIT_CLI_TIMEOUT_MSEVENT_PERMISSION_TIMEOUT_MS
Verified ownerCommunity listingCommunity listing
GitHub stars0227
Directory activity 1 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools375

Tools & capabilities

Apple Icloud MCP tools 37

  • apple_healthcheckCheck which Apple services (Apple Music, iCloud Calendar, Contacts, Mail, Apple Maps, WeatherKit, iTunes) are configured and reachable. For each: whether credentials are set (and which variables to set if not), and whether Apple accepted them on a cheap read-only request. Also reports the write mode and display time zone. Run this first when a tool fails or to see what this server can do.
  • apple_music_search_catalogSearch Apple Music's catalog by text for songs, albums, artists, playlists, music videos or stations. Results are grouped by type, each group with its own returned/hasMore/nextOffset, and carry catalog ids other tools take (e.g. to add songs to a playlist). Up to 25 per type per call. Needs an Apple Developer key (APPLE_TEAM_ID, APPLE_KEY_ID, APPLE_PRIVATE_KEY) or web-player mode (APPLE_MUSIC_WEB_USER_TOKEN).
  • apple_music_get_catalog_itemsLook up Apple Music catalog songs, albums, artists, playlists, music videos or stations by id — or songs/music videos by ISRC, albums by UPC. A single album or playlist also returns its track list (paged); a single artist can include views such as top-songs or latest-release. Reports ids Apple did not return. Needs an Apple Developer key or web-player mode.
  • apple_music_get_chartsGet Apple Music's top charts (most played songs, albums, playlists, music videos) for a storefront, optionally for one genre. Each chart has its own returned/hasMore/nextOffset and ranked items with catalog ids. Needs an Apple Developer key or web-player mode.
  • apple_music_list_playlistsList the playlists in your Apple Music library (alphabetical), or the contents of one playlist folder (folders and playlists). Each has its library id (p.…), name, description, canEdit, isPublic, hasCatalog, dateAdded and lastModifiedDate. Paged. Needs APPLE_MUSIC_USER_TOKEN with an Apple Developer key, or web-player mode (APPLE_MUSIC_WEB_USER_TOKEN).
  • apple_music_get_playlistRead one playlist — a library playlist (p.…) or a catalog playlist (pl.…) — with its tracks in order. Each track has its 1-based position, library id, catalogId, name, artist, album and duration. Paged (up to 300 per call), or allTracks for the whole list (up to 5000); a complete read returns a revision (for reorder/remove tracks' expectedRevision). Library playlists need APPLE_MUSIC_USER_TOKEN or web-player mode.
  • apple_music_list_foldersList the playlist folders in your Apple Music library: the top level, or the sub-folders of one folder. Each has its folder id (p.…, for apple_music_list_playlists folderId, apple_music_create_folder parentFolderId and apple_music_move_playlist), name and dateAdded, plus how many playlists sit directly in the folder. Needs APPLE_MUSIC_USER_TOKEN or web-player mode.
  • apple_music_search_librarySearch YOUR Apple Music library (not the whole catalog) by text for songs, albums, artists, playlists or music videos. Results are grouped by type with library ids (i.… songs, l.… albums, p.… playlists) and each group's returned/hasMore/nextOffset. Up to 25 per type. Needs APPLE_MUSIC_USER_TOKEN or web-player mode.
  • apple_music_list_libraryList what is in your Apple Music library: all songs, albums, artists or music videos (alphabetical, paged), or recently-added items. Items carry library ids and, for songs, the catalogId. Needs APPLE_MUSIC_USER_TOKEN or web-player mode.
  • apple_music_get_historyYour recent Apple Music listening: recently-played (albums, playlists, stations), recently-played-tracks (songs), recent-stations, or heavy-rotation. Apple gives no play timestamps or counts here and pages recently-played 10 at a time and tracks 30 at a time (this tool pages for you; only about the last 50 items are reachable). Needs APPLE_MUSIC_USER_TOKEN or web-player mode.
  • apple_music_get_recommendationsYour personal Apple Music recommendations ("Made for You", "Recently Played" and similar groups), each with its title and the albums, playlists or stations in it (catalog ids). Needs APPLE_MUSIC_USER_TOKEN or web-player mode.
  • apple_music_get_replayApple Music Replay: your top songs, albums and artists for the latest Replay year, or for a given year (with play counts where Apple provides them). Needs APPLE_MUSIC_USER_TOKEN or web-player mode; a specific year uses an undocumented Apple endpoint that works most reliably in web-player mode.
  • +25 more on the listing page

MCP Server Apple Events tools 5

  • reminders_tasksPriority, tags, subtasks. `startDate` is set via `update`, not `create`; on `read` it scopes the due-date window alongside `endDate`. Cross-list moves unsupported.
  • reminders_subtasksStored in the notes field (human-readable in Reminders.app).
  • reminders_listsRename via `name` → `newName`.
  • calendar_eventsAll-day inferred from date format. Cross-calendar moves unsupported. `span` scopes recurring deletes. `attendees` (update) invites addresses; `occurrenceDate` (delete) excepts one occurrence of a series — both need extra setup, see [Attendees and single occurrences](#attendees-and-single-occurrence…
  • calendar_calendarsWithout a date range, every calendar EventKit reports, with its `source` and write permission. With `startDate`/`endDate`, calendars holding ≥1 event in the window, annotated with an event count.

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Apple Icloud MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "apple-icloud-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "apple-icloud-mcp"
      ],
      "env": {
        "ICLOUD_USERNAME": "YOUR_ICLOUD_USERNAME_HERE",
        "ICLOUD_APP_PASSWORD": "YOUR_ICLOUD_APP_PASSWORD_HERE",
        "ICLOUD_MAIL_ADDRESS": "YOUR_ICLOUD_MAIL_ADDRESS_HERE",
        "DISPLAY_TZ": "YOUR_DISPLAY_TZ_HERE",
        "APPLE_WRITE_MODE": "YOUR_APPLE_WRITE_MODE_HERE"
      }
    }
  }
}

MCP Server Apple Events

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "mcp-server-apple-events": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-apple-events"
      ],
      "env": {
        "EVENTKIT_CLI_TIMEOUT_MS": "YOUR_EVENTKIT_CLI_TIMEOUT_MS_HERE",
        "EVENT_PERMISSION_TIMEOUT_MS": "YOUR_EVENT_PERMISSION_TIMEOUT_MS_HERE"
      }
    }
  }
}

Frequently asked questions

Apple Icloud MCP is categorized under Workplace & Productivity and uses a local stdio subprocess. MCP Server Apple Events belongs to Workplace & Productivity and uses a local stdio subprocess. Pick Apple Icloud MCP for workplace & productivity work and MCP Server Apple Events for workplace & productivity.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Apple Icloud MCP is bring-your-own-key: usage is billed by the API provider you supply a key for. MCP Server Apple Events is listed as free. Auth: no auth required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add apple-icloud-mcp and mcp-server-apple-events as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Apple Icloud MCP has a quality signal of 61/100 (Good) with 1 views, 0 installs and 0 GitHub stars. MCP Server Apple Events has 64/100 (Good) with 1 views, 0 installs and 227 GitHub stars.