Skip to main content
Glama

Change a to-do

update_task
DestructiveIdempotent

Change any field of one of Sara's to-dos by its id—title, due time, project, priority, details or status—while leaving other fields unchanged. Use complete_task to simply tick one off.

Instructions

Change one of the owner's to-dos in Sara by its id (from list_tasks or get_today): its title, due time, project, priority, details or status. Only the fields you give change; the rest stay as they are. Use complete_task to simply tick one off. Returns "Changed to-do #id: title" with the new due time. Only listed when the owner turns on "Let other apps change things" in Sara. Follows the owner's approval setting for her todo tool (allowed, ask first, or off): when it asks first, it returns "Waiting for approval in Sara" and nothing changes until the owner presses Allow there; when it is off, it returns that it's turned off.

Input Schema

NameRequiredDescriptionDefault
idYesThe to-do id: the number after # in list_tasks or get_today's results (e.g. 12 for #12). An unknown id is refused with an error and nothing changes.
dueNoNew due time in words or as a date, read in the owner's time zone; "none" removes the due date.
notesNoNew details for the to-do (replaces the old ones). Up to 2,000 characters.
titleNoNew title. Up to 200 characters.
statusNo"done" ticks it off; "open" reopens a done to-do.
projectNoMove it to this planner project (created if new); an empty string takes it out of any project.
priorityNoNew priority: "low", "normal" or "high".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.1

TDQS

A4.6/5.0
Behavior5/5

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

Adds context that annotations cannot convey: partial-update semantics ('Only the fields you give change'), the approval gate with its exact 'Waiting for approval in Sara' response and the guarantee that nothing changes until Allow, and the disabled-tool response. This is far richer than the readOnly/idempotent/destructive hints and is consistent with them.

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-loaded with the core action and field list, then the alternative, return values, and gating. It is dense with sentences chained by semicolons and parentheses, but nearly every clause carries information an agent needs for a gated mutation tool.

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?

With no output schema, the description carries the return contract — 'Changed to-do #id: title' with the new due time, the approval-waiting string, and the turned-off string. Combined with the schema's error note for unknown ids, an agent knows the full call and response picture.

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 the baseline is 3; the description still contributes the cross-cutting partial-update contract that applies to all seven parameters and cannot be inferred from any single field. It does not restate formats already in the schema, which is appropriate.

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?

Names a specific verb and resource ('Change one of the owner's to-dos in Sara by its id') and enumerates the mutable fields. It also identifies its source of ids (list_tasks or get_today), which makes it instantly distinguishable from add_task, delete_task and complete_task.

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?

Explicitly routes the simple case away ('Use complete_task to simply tick one off'), and states the availability prerequisite (the owner must enable 'Let other apps change things'). It does not contrast with delete_task or update_note, but the primary overlap is handled.

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