Skip to main content
Glama
icloud-mcp

icloud-mcp

by adamzaidi

bulk_flag

Bulk flag or unflag emails matching sender, domain, date, size, subject, read status, or attachment filters. Preview changes with dry-run before applying.

Instructions

Flag or unflag emails matching any combination of filters in bulk

Input Schema

NameRequiredDescriptionDefault
sinceNoOnly emails since this date (YYYY-MM-DD)
beforeNoOnly emails before this date (YYYY-MM-DD)
domainNoMatch any sender from this domain (e.g. substack.com)
dryRunNoIf true, report exactly what would change and do not modify anything
largerNoOnly emails larger than this size in KB
senderNoMatch exact sender email address
unreadNoTrue for unread only, false for read only
accountNoAccount name to use (e.g. 'icloud', 'gmail'). Defaults to first configured account. Use list_accounts to see available accounts.
flaggedYesTrue for flagged only, false for unflagged only
mailboxNoMailbox (default INBOX)
smallerNoOnly emails smaller than this size in KB
subjectNoKeyword to match in subject
hasAttachmentNoOnly emails with attachments (client-side BODYSTRUCTURE scan — must be combined with other filters that narrow results to under 500 emails first)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.8.0
    • addedInput schema / properties / dryRun
      Added value: +{
      +  "description": "If true, report exactly what would change and do not modify anything",
      +  "type": "boolean"
      +}
  2. First observedv2.5.1

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about mutation risk, reversibility, auth/account requirements, or rate limits. The only useful caveat (client-side BODYSTRUCTURE scan, 500-email limit) lives in the schema, not the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler. It is arguably under-specified for a 13-parameter destructive tool, but on pure conciseness and structure it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter bulk mutation with no annotations and no output schema, the description omits the dry-run-first workflow, the fact that at least one filter should accompany hasAttachment, and what the operation reports back. An agent would have to infer these from the schema alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already documented in the schema, including the dryRun preview semantics and the hasAttachment constraint. The one-line description adds no syntax or format meaning beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb pair (flag/unflag) plus resource (emails) and scope (bulk, any filter combination) — an agent can distinguish it from flag_email (single) and bulk_flag_by_sender (sender-only). It doesn't name those siblings explicitly, but the scope wording differentiates it functionally.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'In bulk' and 'any combination of filters' imply when this is preferable to flag_email, and the schema's dryRun parameter hints at a safe preview workflow. However, there is no explicit when-to-use vs. bulk_flag_by_sender guidance and no exclusions or prerequisites stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.