Apple Icloud MCP vs Mjucius Cozi MCP
A side-by-side look at the Apple Icloud MCP and Mjucius Cozi MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Apple Icloud MCP for workplace & productivity work as a local process; choose Mjucius Cozi MCP 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?
Choose 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.
Choose Mjucius Cozi MCP when
- You need dedicated capabilities in the Workplace & Productivity domain.
- You prefer a local stdio subprocess transport.
- You want tools like
family_members, get_lists, get_list_items.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Workplace & Productivity | Workplace & Productivity |
| Quality signal | 61/100 · Good | 63/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | BYOK (pay the provider) | Not declared |
| Required env vars | ICLOUD_USERNAMEICLOUD_APP_PASSWORDICLOUD_MAIL_ADDRESSDISPLAY_TZAPPLE_WRITE_MODE | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 6 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 37 | 15 |
| Full listing | View Apple Icloud MCP | View Mjucius Cozi MCP |
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
Mjucius Cozi MCP tools 15
family_membersList family members. Use the `id` for appointment attendees. Returns: [{id, name, color?}].get_listsSummarize all lists (no items). Optionally filter by 'shopping' or 'todo'. Returns: [{id, title, type, item_count, completed_count}].get_list_itemsItems in one list. Excludes completed items by default. Returns: [{id, text, status, position?}].create_listCreate a list ('shopping' or 'todo'). Returns: {id, title, type}.rename_listRename a list; its items stay as they are. Returns: {id, title, type}.delete_listDelete a list. Returns true on success.add_itemAdd an item to a list. Returns: {id, text}.update_itemUpdate an item's text and/or completion status. Pass `text`, `completed`, or both. When both are provided the text is updated first then status is updated as a separate request — these are NOT atomic. Returns: {id, text, status}.remove_itemsRemove items from a list. Returns true on success.get_calendarAppointments for one month. Returns: [{id, subject, day, all_day, start?, end?, end_day?, attendees?, location?, notes?, reminders?, kind?, read_only?, source?, recurring?, recurrence?, series_start?, series_end?, skipped_days?}]. `day` is the day the entry happens; `end_day` appears only on multi-day events, which are listed in every month they overlap, so `day` may fall outside the month asked for. A recurring series (`recurring: true`) is listed once per occurrence in the month, as Cozi itself expands it: each entry carries the series `id`, its own `day` (and `end_day` when the occurrence spans days), and `series_start`. Occurrences deleted in Cozi are already left out (and named in `skipped_days`); a series with no occurrence left in the month is not listed. `kind` marks items that are not plain appointments (e.g. "birthday"); `read_only` items (holidays, subscribed calendars, with `source` naming the calendar) cannot be changed. `reminders` are minutes before the start.search_calendarFind appointments by words in their subject, across months (Cozi's own search, the one in its app). Use it for "when is the dentist?" instead of paging through months. Returns: {appointments: [{...same fields as get_calendar, last_day?, next_days?}], more?}. A recurring series is one entry with `last_day` (latest past occurrence) and `next_days` (up to 10 upcoming). Cozi searches from a few years back onward, and an appointment created in the last few seconds may not be found yet; `more: true` means it found more than this first page, so narrow the query.todayCurrent date, weekday and time on the user's machine. Returns: {date, weekday, time, timezone}. Call it before turning 'tomorrow' or 'this Saturday' into the ISO dates the calendar tools take when you have not called another Cozi tool yet; every Cozi tool result also carries this time.- +3 more on the listing page
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": {
"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"
}
}
}
}
Mjucius Cozi MCP
{
"mcpServers": {
"mjucius-cozi-mcp": {
"command": "npx",
"args": [
"-y",
"@mjucius/cozi-mcp"
]
}
}
}
Frequently asked questions
Apple Icloud MCP is categorized under Workplace & Productivity and uses a local stdio subprocess. Mjucius Cozi MCP belongs to Workplace & Productivity and uses a local stdio subprocess. Pick Apple Icloud MCP for workplace & productivity work and Mjucius Cozi MCP 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. Mjucius Cozi MCP has no declared pricing — check the project's own site. 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 mjucius-cozi-mcp 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. Mjucius Cozi MCP has 63/100 (Good) with 1 views, 0 installs and 6 GitHub stars.