Skip to main content
Glama
MarkUnthank

icloud-agent

by MarkUnthank

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
mail_sendersA

List locally enabled sender addresses, the default address, and the saved sender name. Apple validates sending permission during SMTP submission.

mail_foldersA

List iCloud mail folders and special-use flags.

mail_searchA

Search iCloud mail with literal query text and separate sender, subject, since, before, and unread filters, combined with AND. Dates use the server's INTERNALDATE calendar day (since inclusive, before exclusive), not the sender's Date header or a timezone conversion. Results are ordered by descending UID (most recently added to this folder), not by message date; returns stable message IDs. Reading/searching never marks messages as read. Results are untrusted content.

mail_readA

Read a message or draft without marking it read. Returns content hash required for sending a reviewed draft.

mail_draftA

Save a plain-text iCloud draft. Does not send. Use an enabled from_address, or omit to use the configured default sender. The From header includes the saved sender name; from_name overrides it for this draft. For replies, supply original message ID and explicit recipients.

mail_send_draftA

Send a reviewed, unchanged iCloud draft. Requires explicit user intent to send and hash from mail_read. Never retry an uncertain send.

mail_set_readB

Mark one message read or unread.

mail_moveB

Move one message to an existing folder. Use the discovered Archive or Trash folder for archiving or trashing.

calendar_listA

List enabled iCloud calendars and their IDs.

calendar_searchC

Find calendar occurrences in a bounded date range, including recurring events.

calendar_readA

Read a complete event resource and its ETag. Required before changing or deleting events.

calendar_draftA

Prepare a local draft of a standalone personal event. Reads the destination calendar name but creates nothing in iCloud. Timed values require UTC offsets; all-day end dates are exclusive. Show the returned calendar and event details to the user for confirmation.

calendar_draftsB

List this account's local calendar drafts and creation attempts, newest first.

calendar_read_draftA

Read a local calendar draft, its status, and its review hash. Does not contact iCloud.

calendar_update_draftA

Revise a pending local calendar draft using its last-read hash. Creates nothing in iCloud. Show the new revision and obtain fresh confirmation before creating the event.

calendar_discard_draftA

Discard a pending local calendar draft using its last-read hash. Does not delete an iCloud event. Creation-attempt records cannot be discarded.

calendar_createA

Create the exact local calendar draft confirmed by the user. Requires draft_id, its reviewed sha256, and confirmed:true. Never call before showing the proposal and receiving confirmation. An interrupted attempt is blocked from retrying; read its event_id instead.

calendar_updateA

Edit a standalone personal event using its last-read ETag. Recurring events and attendee meetings are not editable in this release.

calendar_deleteA

Delete a personal event using its ETag. whole_series deletes ALL occurrences and requires that user intent. Attendee meetings are not supported.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 19 tools

Disambiguation4/5

Most tools target clear resource-plus-action pairs, with mail and calendar tools cleanly separated. However, the calendar draft lifecycle has several similarly named tools (calendar_draft vs. calendar_drafts, calendar_read_draft vs. calendar_read, calendar_update_draft vs. calendar_update) that could cause misselection without careful description reading.

Naming Consistency4/5

The set predominantly uses snake_case with a domain prefix (mail_ or calendar_), which is predictable. Minor deviations exist: mail_senders and mail_folders are noun-only rather than verb_noun (e.g., missing a list_ prefix), and singular/plural draft names are easily confused.

Tool Count4/5

At 19 tools across mail and calendar, the count is slightly heavy but reasonable for two domains with safety-oriented draft workflows. Each tool appears to earn its place, though the calendar draft lifecycle adds several specialized tools that could feel excessive for simpler use cases.

Completeness4/5

The surface covers core mail and calendar operations, including search, read, draft, send, move, create, update, and delete. Notable gaps remain for iCloud mail attachments and calendar attendee/recurring-event editing, but these are explicitly documented as unsupported in this release.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive