icloud-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ICLOUD_APPLE_ID | No | Apple ID to use. Defaults to the ID saved by `login`. | |
| ICLOUD_LOCAL_ROOT | No | Local sync folder. | %USERPROFILE%\iCloudDrive on Windows, ~/Library/Mobile Documents/com~apple~CloudDocs on macOS |
| ICLOUD_SESSION_DIR | No | Where session cookies live. | ~/.icloud-session |
| ICLOUD_MAX_READ_BYTES | No | Cap for one `icloud_read_file` call. | 200000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| icloud_statusA | Report the Apple ID in use, whether the saved iCloud session works, and the local sync folder. |
| icloud_listC | List a Drive folder (default: root). Each entry has path, name, type, size, modified, local. |
| icloud_infoA | Metadata for one file or folder, including its local sync state. |
| icloud_searchB | Find items by name under a folder. Substring match, or a glob if the query has * ? [. |
| icloud_read_fileB | Read a file as UTF-8 text (lossy for binary). Capped per call; page with offset. Local copy first. |
| icloud_downloadC | Save a Drive file to a local path (a directory keeps the file's name). Local copy first. |
| icloud_uploadB | Upload a local file into a Drive folder. Existing names fail unless overwrite is true. |
| icloud_write_fileA | Create a text file in Drive from a string. Existing names fail unless overwrite is true. |
| icloud_mkdirA | Create a folder (parent must exist). Returns the existing folder if it is already there. |
| icloud_renameC | Rename a file or folder in place. |
| icloud_moveC | Move a file or folder into another folder. |
| icloud_trashA | Move a file or folder to the iCloud trash (recoverable with icloud_restore). |
| icloud_list_trashB | List items in the iCloud Drive trash. |
| icloud_restoreC | Restore an item from the trash by name. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Most tools target distinct operations, but a few pairs overlap: icloud_read_file vs icloud_download (inline text vs save-to-disk) and icloud_upload vs icloud_write_file (local file vs string content). Descriptions clarify these boundaries, so misselection risk is low but nonzero.
All tools share a uniform icloud_ prefix and lowercase snake_case, which is predictable. The only minor deviation is mixing bare nouns (status, list, info) with verb_noun forms (read_file, write_file, list_trash), but it remains readable.
14 tools is well within the ideal range and each one covers a distinct file/folder lifecycle operation. Nothing feels padded or redundant.
The surface covers create (mkdir, write_file, upload), read (list, info, search, read_file, download), update (rename, move, overwrite), and delete/restore (trash, list_trash, restore) — strong lifecycle coverage. Minor gaps like copy or share/permission operations exist but are workaroundable.