Skip to main content
Glama

bulk_reminders

Update many iCloud reminders at once: complete, reschedule, move, prioritize, flag, or delete them by ID or filters, with a safe preview before applying changes.

Instructions

Change many reminders at once. SAFE BY DEFAULT: with apply=False (the default) it only previews what would change; call again with apply=True to do it. action: complete | uncomplete | flag | unflag | move | reschedule | set_priority | delete. Choose reminders with ids=[...] (exact), or with filters: list (name or id), flagged, priority ('high'|'medium'|'low'|'none'|'any'), overdue=True, due_from / due_to ('YYYY-MM-DD', inclusive), title_contains. At least one is required, and at most 50 reminders per call. Completed ones are skipped unless include_completed=True. move needs to_list. reschedule needs exactly one of shift_days (+/- days, keeps the time) or new_due ('YYYY-MM-DD' or ISO datetime). set_priority needs set_priority.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idsNo
listNo
applyNo
actionYes
due_toNo
flaggedNo
new_dueNo
overdueNo
to_listNo
due_fromNo
priorityNo
shift_daysNo
set_priorityNo
title_containsNo
include_completedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden and does well: it discloses the dry-run default, the batch cap, and the implicit skipping of completed reminders. It stops short of stating whether delete is reversible, whether any permission/auth constraint applies, or how partial failures are reported.

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?

Front-loads the most important fact (SAFE BY DEFAULT preview behavior) before the action list and filter syntax. It is dense but every clause carries operational information; a minor redundancy is the trailing 'set_priority needs set_priority', which reads as awkward phrasing rather than waste.

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

Completeness4/5

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

For a 15-parameter, no-annotation, no-output-schema mutation tool, the description covers selection, action-specific requirements, limits, and the commit/preview model. It omits what the preview response contains and whether ids can be combined with filters to narrow a set, which are the main remaining gaps.

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

Parameters5/5

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

Schema description coverage is 0% and there are 15 parameters, so the description must compensate entirely — and it does: it documents the action enum values, priority enum values, date formats (YYYY-MM-DD inclusive), shift_days semantics ('keeps the time'), title_contains, include_completed, and the filter-vs-ids relationship.

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

Purpose5/5

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

Opens with a specific verb+resource ('Change many reminders at once') and enumerates all eight supported actions, which cleanly separates it from the single-reminder siblings (update_reminder, complete_reminder, delete_reminder) in the sibling list.

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

Usage Guidelines5/5

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

Explicitly states the safe-by-default workflow (apply=False previews, apply=True commits), how to select targets (ids exact vs filters), and the guardrails: at least one selector required, max 50 per call, completed items skipped unless include_completed=True. Also names per-action prerequisites (move needs to_list, reschedule needs exactly one of shift_days/new_due).

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