Skip to main content
Glama
ArchitectureWorld

Revit MCP Automation

click_revit_dialog_button

Clicks an observed button in a managed Revit modal dialog using a fresh snapshot, enabling safe warning resolution without guessing labels or auto-authorizing destructive actions.

Instructions

Click one observed button in the managed Revit modal dialog. Requires a fresh snapshot from get_revit_dialogs. Handle ordinary warnings within the existing user task authorization; do not guess labels or automatically authorize deletion, discarded edits, overwrites, authentication or security permissions. After a waiting_for_dialog result, retrieve the original operation result instead of repeating the original model command.

Input Schema

NameRequiredDescriptionDefault
reasonYesWhy this observed button is appropriate for the user-authorized task.
button_idYes
dialog_handleYes
snapshot_hashYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.4

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the whole burden and does well: it discloses the authorization envelope (ordinary warnings fall inside the existing user task, destructive ones do not), warns against label guessing, and explains the waiting_for_dialog follow-up flow. It falls short of a 5 because it does not say what a successful click returns or how to tell a rejected click from an applied one.

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?

Four sentences, front-loaded with the action, then prerequisites, then safety boundaries, then recovery. Every sentence carries distinct information, though the safety sentence is a dense run-on that packs several policies into one line.

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 four-required-param mutation tool with no annotations and no output schema, the description supplies the missing safety profile, the snapshot freshness prerequisite, and the post-dialog recovery path. Only the return shape and failure/error semantics remain unaddressed, which is a modest gap.

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 only 25% — just 'reason' is documented — so the description must compensate, and it only partially does. 'Requires a fresh snapshot' implicitly ties snapshot_hash to freshness and 'observed button' implies button_id must come from get_revit_dialogs, but dialog_handle and button_id formats/sources are never spelled out.

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: click one observed button in the managed Revit modal dialog. It is clearly distinguished from get_revit_dialogs (which produces the snapshot it consumes) and from get_revit_operation_result (which it defers to after a waiting_for_dialog result). An agent can tell which tool to reach for without opening any 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?

Explicit prerequisites (requires a fresh snapshot from get_revit_dialogs), explicit exclusions (do not guess labels; do not automatically authorize deletion, discarded edits, overwrites, or auth/security permissions), and an explicit routing rule (after waiting_for_dialog, retrieve the original operation result rather than repeating the model command). Both when-to-use and when-not-to-use are covered.

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