Skip to main content
Glama

undo

undo
DestructiveIdempotent

Undo a write the user saved in Compass OS (a tracked or moved role, a profile edit, a win, a draft, a resume or cover letter, interview prep): put back what it changed. Give the save's undo handle, or leave it empty for the user's latest save. Use it when the user wants a change taken back; to make a different change, use that change's own tool, such as move_job or edit_win. It asks the user first in a card, like every write, and runs once: an undo already used, more than 24 hours old, or past the last 20 saves is refused, and so is one whose record changed since the save, so a newer edit is never overwritten. Returns what was put back.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "undo"
  }
}

Input Schema

NameRequiredDescriptionDefault
undoNoThe save's undo handle, from its result; leave it empty for the user's latest save

Output Schema

NameRequiredDescriptionDefault
textYesThe answer, or what was done, in plain words for the user: the same text as content
undoNoOn a saved write: its undo handle, for undo within 24 hours
widgetNoThe card the host draws with it, e.g. "pipeline"; "confirm" means a write waits for the user's Yes and nothing is saved yet

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations it discloses that a confirmation card is shown first, that the operation runs once, that undone/over-24h/beyond-20-saves handles are refused, and that stale records are rejected to avoid clobbering newer edits. These are non-obvious behavioral constraints the annotations do not express.

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?

Purpose is front-loaded and every sentence carries information (scope, alternative, defaults, refusals). It is somewhat dense in long compound sentences, but there is no filler to cut.

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?

An output schema exists, so return values need only a nod, and "Returns what was put back" covers it. For a single-parameter destructive mutation the description supplies everything an agent needs: preconditions, confirmation flow, failure modes, and routing to alternatives.

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 coverage is 100% and the schema text already says the handle comes from the result and that an empty value means the latest save, so the description mostly restates it. The added value is small — clarifying that the handle is per-save rather than per-record.

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?

"Undo a write the user saved in Compass OS ... put back what it changed" gives a specific verb plus an enumerated set of resources (tracked/moved role, profile edit, win, draft, resume, cover letter, interview prep). It also names the counter-case tools (move_job, edit_win), so the agent can tell undo apart from the many write siblings without opening a schema.

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?

"Use it when the user wants a change taken back; to make a different change, use that change's own tool" explicitly covers when-to-use and the alternative. It further states the empty-argument case for the latest save and the conditions under which the call is refused, leaving little to inference.

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.

Resources