Skip to main content
Glama
sharafutdinovdi

Revit Model MCP

Undo Last Action

revit_undo_last
Destructive

Undo the last MCP action in Revit through Revit's own undo command, and specify the document when multiple models are open.

Instructions

Undo the last MCP action in Revit, through Revit's own undo command.

Allowed only when the target document is active, no command is pending in Revit, and Revit's last undo entry is still the one this session recorded. Otherwise the action result carries a clear refusal reason instead of running. Pass document to address a specific open model when several are open; an unknown or ambiguous reference is rejected.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
documentNoCase-insensitive substring of the target open document's title or file name. Required to disambiguate when the Revit process has more than one document open; omit only when a single document is open (the active document is used). An unknown or ambiguous reference is rejected before any change.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, but the description goes well beyond them: it discloses the three guard conditions, the fact that failures return a 'clear refusal reason instead of running', and the ambiguity handling. That is exactly the kind of precondition/refusal behavior an agent needs before invoking a destructive tool.

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?

Three sentences, front-loaded with the core action, then preconditions, then the document disambiguation. Efficient and well ordered; the document sentence is mildly redundant with the schema but not wasteful.

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?

With comprehensive annotations, a 100%-covered single-parameter schema, and an output schema covering return values, the description supplies the remaining piece an agent needs: the preconditions under which the undo is permitted and what a refusal looks like. Nothing material is missing.

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 description coverage is 100%, so the parameter is fully documented in the schema (case-insensitive substring, required only when multiple documents are open, ambiguous refs rejected). The description's document sentence largely restates the schema, so baseline 3 is appropriate.

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 (undo) and resource (the last MCP action in Revit), and pins the scope further with 'through Revit's own undo command.' The 'last MCP action this session recorded' framing distinguishes it from any generic Revit undo, so an agent knows exactly what is being reversed.

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 description gives explicit eligibility conditions ('Allowed only when the target document is active, no command is pending... and Revit's last undo entry is still the one this session recorded') and the consequence when they fail. It does not name alternatives, but there is no competing undo/redo sibling, so the routing story is effectively complete.

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