Skip to main content
Glama
sharafutdinovdi

Revit Model MCP

Rotate Elements

revit_rotate
Destructive

Rotate Revit elements around a vertical axis using specified angle and optional center point. Preview changes with dry run and identify skipped group members before applying.

Instructions

Rotate elements about a vertical axis through center_mm, or their combined bounding box center. Members of groups that Revit refuses to change are reported in skipped.inGroup and skipped; dry_run predicts this, and the call is refused if every element is such a member.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dry_runNo
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.
angle_degYes
center_mmNo
element_idsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.9.1

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, and the description goes further by disclosing a non-obvious constraint: Revit group members may be silently unchangeable, those are surfaced in skipped.inGroup, dry_run predicts the skip, and the whole call is refused if every element is such a member. This is exactly the kind of failure-mode context the annotations cannot carry, though permission requirements and reversibility are still unstated.

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?

Two dense sentences, front-loaded with the rotation geometry before the failure-mode detail; nothing is padded. The 'skipped.inGroup and skipped' phrasing is slightly cryptic and marginally redundant with the output schema, but it earns its place by explaining why the skip occurs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations covering the safety profile and an output schema covering return fields, the description only needs to carry geometry and failure semantics. It covers the pivot and the group-skip refusal, but the sign/rotation direction of angle_deg and the units/coordinate assumption for center_mm remain unaddressed for a destructive transform.

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 20% (only 'document' is documented), so the description must compensate. It does explain center_mm's default-null behavior and dry_run's predictive semantics, but says nothing about angle_deg direction/sign convention or the coordinate frame for center_mm, leaving those two core parameters ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (rotate) and resource (elements) plus the exact rotation axis and pivot semantics ('vertical axis through center_mm, or their combined bounding box center'). An agent can distinguish it from revit_move, revit_mirror and revit_copy, though it never names them explicitly.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no comparison with the transform siblings (revit_move, revit_mirror, revit_copy). The only implied guidance is that dry_run 'predicts' skips, which hints at a safe preflight but is stated as a behavior, not as a recommended workflow.

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

Deploy Server

Other Tools