Undo a timeline edit
undo_timelineRestore the previous timeline revision, or a specific rev from timeline_history.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rev | No | ||
| project | Yes | Project id or exact name |
undo_timelineRestore the previous timeline revision, or a specific rev from timeline_history.
| Name | Required | Description | Default |
|---|---|---|---|
| rev | No | ||
| project | Yes | Project id or exact name |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose destructiveHint=true and readOnlyHint=false, so the safety profile is carried by structured data. The description adds that the revision source is timeline_history, but does not say what happens to the current timeline state or whether the revert itself can be undone, leaving a gap for a destructive mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no padding. The default behavior ('previous revision') is stated before the explicit-rev variant, which is the right ordering for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter destructive mutation with no output schema, the definition covers the core behavior but omits what the caller loses (current edits) and any confirmation/precondition expectations. That is acceptable only because destructiveHint carries part of the burden.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: 'project' is documented in the schema, but 'rev' has no schema description at all. The description partially compensates by telling the agent where to obtain a valid rev ('from timeline_history'), but it says nothing about project identification or rev range/validity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Restore') and resource ('previous timeline revision'), which clearly distinguishes an undo/revert operation from apply_timeline and check_timeline. It stops short of explicitly contrasting with siblings, but the revert semantics are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the two usage modes (default previous revision, or a specific rev sourced from timeline_history), but it never says when *not* to use this tool or how it relates to apply_timeline. The pointer to timeline_history is useful but is about parameter sourcing rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.