Skip to main content
Glama

Undo

undo

Restore a music project to an earlier state by a specified number of mutation steps, using automatic snapshots of each change.

Instructions

Restore the project to its state steps mutations ago (every mutating op snapshots first).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stepsNo
projectYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.8/5.0
Behavior3/5

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

No annotations, so the description carries the burden. It usefully discloses that every mutating op snapshots first, which explains why undo works at all, and that this rewinds state rather than toggling. However, it omits whether undo itself is reversible, how far back snapshots are retained, and what happens if `steps` exceeds available history.

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?

A single front-loaded sentence with the core operation first and the mechanism in a brief parenthetical. Every clause earns its place with no padding.

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?

An output schema exists, so return-value explanation is not required, and the core rewind semantics are covered for a 2-param tool. The remaining gap is edge behavior around out-of-range `steps` and snapshot retention depth, which an agent would benefit from knowing.

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 0%, so the description must compensate. It meaningfully defines `steps` as the number of mutations to rewind, but says nothing about the default of 1 or bounds/limit semantics, and `project` is left entirely to inference (plausibly obvious as a project identifier). Partial compensation only.

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 specific verb and resource with scope: 'Restore the project to its state `steps` mutations ago'. The parenthetical clarifies the mechanism (snapshot-per-mutation), so an agent knows exactly what operation this is. No sibling overlaps with undo semantics, so no differentiation is needed.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: 'every mutating op snapshots first' tells the agent undo is available after any mutation, but there is no explicit when-to-use, when-not-to-use, or note about alternatives (e.g. whether a redo exists). Adequate but leaves selection entirely to inference.

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