icloud-reminders-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ICLOUD_USERNAME | Yes | Apple ID email | |
| ICLOUD_CALDAV_URL | No | Root URL; the library discovers your account's pNN shard from it | https://caldav.icloud.com/ |
| ICLOUD_APP_PASSWORD | Yes | App-specific password (xxxx-xxxx-xxxx-xxxx) | |
| ICLOUD_REQUEST_TIMEOUT | No | Per-request timeout (seconds) | 30 |
| REMINDERS_ALLOW_DELETE | No | Enable the destructive delete_reminder tool | false |
| REMINDERS_LIST_ALLOWLIST | No | Comma-separated list names the server may touch |
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 |
|---|---|
| list_listsA | List the iCloud reminder lists (VTODO collections) this server can see. Returns each list's stable |
| list_remindersA | List reminders, earliest-due first (undated last). Defaults to incomplete only.
|
| get_reminderA | Fetch a single reminder by its uid (optionally scoped to one list). |
| create_reminderB | Create a reminder (VTODO).
|
| complete_reminderA | Mark a reminder complete (STATUS:COMPLETED + COMPLETED + PERCENT-COMPLETE:100). |
| update_reminderA | Patch mutable fields of a reminder, preserving everything else. Omitted/null fields are left unchanged; pass an empty string ("") to clear
|
| delete_reminderA | Permanently delete a reminder. Gated: requires REMINDERS_ALLOW_DELETE=true on the server AND an explicit confirm=true argument. |
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 7 tools
Each tool has a unique and clear purpose: complete, create, delete, get, list lists, list reminders, and update. No overlap or ambiguity.
All tools follow a consistent verb_noun snake_case pattern (e.g., complete_reminder, list_reminders), making them predictable and easy to understand.
7 tools is well-scoped for a reminders server, covering all essential CRUD operations plus list management without unnecessary bloat.
The set provides full lifecycle management for reminders: create, read, update (including complete/reopen), delete, and list. It also includes list listing, which is necessary for context.