Skip to main content
Glama

undo

Destructive

Reverse one change set (its id is on every event it logged) by applying the opposite as a new change: created items are archived, edits put back, links removed or restored. An edit changed again since is left alone and reported. Subject to the same policy as any change.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

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

Input Schema

NameRequiredDescriptionDefault
actorNoWho you are, for the log.
changesetYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and readOnlyHint=false, but the description adds real substance beyond that: undo is applied as a new change rather than a rollback, created items are archived (not deleted), and conflicting edits are left alone and reported. The only weak spot is 'subject to the same policy as any change', which leaves the authorization gate undefined.

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 dense sentences, front-loaded with the action and mechanism, then the conflict edge case, then the policy caveat. No filler and nothing repeated from the annotations or schema.

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 destructive mutation with no output schema, the description covers effects per change type, the conflict case, and the fact that skipped items are reported back. It stops short of describing the return payload shape or what happens when the policy check fails, which are the remaining gaps an agent would want.

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 only 50% and the changeset parameter has no schema description at all, so the description must compensate — and it does by explaining that the id is found on every event the change set logged. The actor parameter is covered only by the schema ('Who you are, for the log') and is not elaborated in the description.

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?

States a precise verb and resource: 'Reverse one change set', with the scope limited to a single change set identified by its id. The mechanics (created items archived, edits put back, links removed or restored) make it unmistakably distinct from siblings like change, revise, and settle.

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?

The usage context is clear — use it to reverse a prior change set — and it adds an important conditional: an edit changed again since the target is skipped and reported. It does not name an explicit alternative (e.g., when to use revise instead of undo), so it stops short of full when/when-not routing.

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.