Skip to main content
Glama

Update Reminder

update_reminder

Updates an existing reminder in Reminders.app. Change the title, due date, notes, priority, or move it to another list (list_name). Get reminder_id from list_reminders. Requires confirm=true. IMPORTANT: moving to a list in a DIFFERENT account (e.g. iCloud ↔ Exchange) recreates the reminder, so its id changes — the response then has id_changed: true, the new id in reminder_id and the dead one in previous_reminder_id. Always take reminder_id from the response before any follow-up call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesNoNew notes text (optional)
titleNoNew title (optional)
confirmNoMust be true to apply changes
due_dateNoNew ISO 8601 due date. Pass empty string to clear (optional)
priorityNoPriority: none | low | medium | high (optional)
list_nameNoMove the reminder to this list (a name from get_reminder_folders) (optional). Moving to a list in ANOTHER account recreates the reminder and CHANGES its id — read the new one from reminder_id in the response (id_changed: true).
reminder_idYesReminder identifier from list_reminders

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
listNoDestination list, when the update moved the reminder.
noteNo
titleNo
updatedNo
id_changedNotrue when the update recreated the reminder (a move across accounts), which invalidates the id you passed in.
reminder_idNoThe reminder's id AFTER the update — use this one from now on.
previous_reminder_idNoOnly when id_changed: the id you passed in, which no longer exists.

TDQS

A4.7/5.0
Behavior5/5

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

The description goes well beyond annotations by disclosing a non-obvious behavioral trait: moving a reminder to a list in a different account recreates it, changes its id, and returns id_changed, new reminder_id, and previous_reminder_id. It also gives a critical follow-up instruction to always take reminder_id from the response. Annotations only set readOnlyHint=false and destructiveHint=false, so this is additive, not contradictory.

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

Conciseness5/5

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

Three purposeful sentences: purpose first, then prerequisites, then a clear warning about a critical edge case. No filler, every sentence earns its place, and the most important operational caveat is prominently flagged with 'IMPORTANT'.

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

Completeness5/5

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

Given a complex 7-parameter mutation with an output schema, the description covers prerequisites, mandatory confirm, parameter effects, a cross-account recreation edge case, and the required follow-up behavior. No critical guidance an agent needs to invoke the tool correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds operational meaning beyond the schema by stating that confirm=true is required, that reminder_id comes from list_reminders, and by reinforcing the id-changing consequence of list_name. This elevates it above baseline, though the schema already documents most parameter details.

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?

The description uses a specific verb ('Updates'), identifies the resource ('existing reminder in Reminders.app'), and enumerates the modifiable fields. The word 'existing' plus the instruction to get reminder_id from list_reminders clearly distinguishes this from create_reminder and complete_reminder, even without naming them.

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

Usage Guidelines4/5

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

Provides clear operational context: use it to update an existing reminder, obtain reminder_id from list_reminders, and set confirm=true. It doesn't explicitly state when not to use it or point to alternatives, but the 'existing reminder' scope and field list make the applicable case unambiguous.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.5/5.0
Disambiguation3/5

Many tools are clearly distinct per app (e.g., chrome_*, safari_*, m365_*), but there is notable overlap between generic file tools like `file_list` and `finder_list`, both listing files; `search_contacts` and `list_contacts` serve similar purposes; `report_friction` and `report_problem` both send feedback to the team. The large number of tools with similar purposes in different domains creates moderate ambiguity for an agent.

Naming Consistency4/5

The naming convention is very consistent overall: most tools follow a `{app}_action` or `verb_noun` pattern (e.g., `chrome_click`, `create_calendar_event`, `list_reminders`). There are minor deviations like `lmcp_install_upgrade` (two verbs) and `complete_omnifocus_task` vs. `complete_reminder` (inconsistent verb placement). Still, the pattern is predictable and readable across the full set.

Tool Count2/5

With 225 tools, the surface is extremely large and heavy. While it covers many distinct domains (browsers, mail, calendar, files, notes, reminders, video editing, web automation, etc.), the sheer number makes it hard to navigate and likely includes many rarely-used tools. This is far beyond the well-scoped range of 3-15 tools and feels excessive even for a 'local everything' MCP server.

Completeness3/5

For many app integrations, the tool set provides solid CRUD coverage (e.g., Calendar has create, read, update, delete; Apple Notes has create, read, update, list, search; OmniFocus has create, list, search, complete). However, some areas are incomplete: for example, there is no tool to create a new Mail folder or delete notes. The 'web' tools lack a clear update/delete for saved sessions. The suite is broad but has notable gaps within individual domains.