Skip to main content
Glama

Undo recent changes

undo
Destructive

Undo — revert, roll back, take back, or cancel the last — a recent schedule/confirm_schedule create, a write_events / delete_events batch, a review_day action, or a manage_backlog remove, using the undoTokens they returned. Pass tokens. Each works only while still active and within its 30-minute window; a schedule/confirm_schedule token deletes the event it created, a write_events / delete_events / review_day / manage_backlog token reverses the whole change (deletes what it created, restores what it changed/removed), and a batchUndoToken from a multi-event schedule call removes the events that batch auto-created and voids its open proposals (times you confirm from proposals keep their own undo tokens). This needs a token from a recent call — to discard a whole day's reflection by date instead, use review_day with action 'discard'. Returns per-token results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tokensYesundoToken(s) returned by schedule, confirm_schedule, write_events, delete_events, review_day, or manage_backlog (incl. a `batchUndoToken`).

TDQS

A4.6/5.0
Behavior4/5

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

The description discloses behavioral traits beyond annotations: that tokens are single-use within a 30-minute window, that different token types have different effects (some delete the created event, some reverse the whole change), and that batchUndoToken removes auto-created events and voids proposals. The destructiveHint=true annotation aligns with the described dedructive effects rather than contradicting them. For a mutation tool with no output schema, the description carries substantive behavioral detail about what each token type does.

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?

The description is dense but front-loaded with the purpose. It uses parentheticals effectively to enumerate token effects. It's somewhat lengthy (a single long paragraph) but every sentence adds meaningful information about token semantics and edge cases. The final clause about alternatives is a useful closing note rather than filler.

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?

For a tool with a single parameter at 100% schema coverage, no nested objects, and no output schema, the description is thorough. It explains the full token-type matrix, the time window constraint, the batchUndoToken special case, and clearly documents the return as per-token `results`. It even gives an alternative approach for a related need. This is essentially complete for the tool's complexity.

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% (the single `tokens` parameter is documented, including the batchUndoToken variant). The description adds valuable semantics beyond the schema by explaining that tokens are time-limited (30-minute window), single-use, and that different token types have distinct effects. It also clarifies the maxItems=20 and minItems=1 constraints implicitly through the 'recent' framing. The description genuinely supplements the schema.

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 specific verbs (revert, roll back, take back, cancel) tied to a clear resource (recent schedule/confirm_schedule/write_events/delete_events/review_day/manage_backlog operations) via their undo tokens. It explicitly enumerates the source tools and the token requirement, making the scope unambiguous. This distinguishes the tool from siblings like review_day and write_events by focusing on the undo mechanism specifically.

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?

The description clearly states when to use this tool (with a token from a recent call) and gives an explicit 'when-not' with an alternative: 'to discard a whole day's reflection by date instead, use review_day with action 'discard''. It also explains the constraints under which the tool works (within 30 minutes, while tokens remain active), which is essential usage context for an agent.

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

A4.5/5.0
Disambiguation5/5

Each tool targets a distinct operation: reading (get_schedule, find_event, get_energy, get_weather, show_day), scheduling (schedule, confirm_schedule), event editing (write_events, delete_events), backlog management (manage_backlog), category management (manage_categories), reflection (review_day), undo, and feedback. The boundary between schedule and write_events is explicitly clear (exact times vs. conflict-free search), and get_schedule vs. show_day are differentiated by text vs. visual presentation. The only minor ambiguity is that manage_backlog includes a 'schedule' op, but that's internal to the tool.

Naming Consistency4/5

All but two tools follow verb_noun snake_case: confirm_schedule, delete_events, find_event, get_energy, get_schedule, get_weather, manage_backlog, manage_categories, review_day, send_feedback, show_day, write_events. The exceptions are 'schedule' and 'undo', which are bare verbs and thus slightly break the consistent pattern.

Tool Count5/5

14 tools is well-scoped for a comprehensive scheduling assistant: read surfaces, write surfaces, assisted scheduling, backlog/category management, reflection, undo, weather/energy, and feedback. Each tool covers a distinct capability, and none feels redundant. Only the extra weather and energy getters could arguably be merged with get_schedule, but they serve specific use cases.

Completeness5/5

The tool surface covers the full lifecycle: create (schedule, write_events), read (get_schedule, find_event), update (write_events, manage_backlog, manage_categories), delete (delete_events, review_day discard), plus undo and confirmation flows. There are no obvious dead ends or missing CRUD operations for the scheduling domain. Weather and energy are bonuses that support informed scheduling decisions.