Skip to main content
Glama
sharafutdinovdi

Revit Model MCP

Capture Elements

revit_capture_elements
Read-onlyIdempotent

Generate a highlighted PNG marking 1 to 500 Revit elements for issue evidence; choose 3D or plan view. The temporary view is rolled back after capture.

Instructions

Render a highlighted PNG that marks 1 to 500 elements, for issue evidence. Supports 3d or plan mode over local or SSH transport. The temporary view is rolled back. A non-empty skipped list means the result is incomplete; skippedCount counts all skipped entries.

Input Schema

NameRequiredDescriptionDefault
modeNo3d
documentNoTitle or file name substring of the target document; needed when several Revit instances run.
padding_mmNo
pixel_sizeNoPNG size in pixels along the fitted dimension, 32 to 4000 (default 1600); Revit rejects smaller images.
process_idNoRevit process ID; takes precedence over document.
element_idsYes
output_pathNoNew PNG path on the MCP client machine; an existing file is an error. Default null downloads to a temporary directory and returns localPath.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 schema fields changedv0.10.0
    • changedInput schema / properties / document / description
      Previous value: -"Case-insensitive substring of the target active document title or file name. Reads require exactly one matching instance; omitted document requires exactly one running instance. Zero or multiple matches fail before publishing. revit_list_instances returns all matching instances, or all running instances when omitted."New value: +"Title or file name substring of the target document; needed when several Revit instances run."
    • removedInput schema / properties / document / title
      Removed value: -"Document"
    • removedInput schema / properties / element_ids / title
      Removed value: -"Element Ids"
    • removedInput schema / properties / mode / title
      Removed value: -"Mode"
    • addedInput schema / properties / output_path
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "New PNG path on the MCP client machine; an existing file is an error. Default null downloads to a temporary directory and returns localPath."
      +}
    • removedInput schema / properties / padding_mm / title
      Removed value: -"Padding Mm"
    • changedInput schema / properties / pixel_size / description
      Previous value: -"PNG size in pixels along the fitted image dimension, an integer from 1 to 4000. Default 1600 fits the view at that size while preserving its aspect ratio."New value: +"PNG size in pixels along the fitted dimension, 32 to 4000 (default 1600); Revit rejects smaller images."
    • changedInput schema / properties / pixel_size / minimum
      Previous value: -1New value: +32
    • removedInput schema / properties / pixel_size / title
      Removed value: -"Pixel Size"
    • changedInput schema / properties / process_id / description
      Previous value: -"Exact positive Revit process ID. Takes precedence over document; if both are supplied they must agree."New value: +"Revit process ID; takes precedence over document."
    • removedInput schema / properties / process_id / title
      Removed value: -"Process Id"
    • removedInput schema / properties / save_to
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "New PNG file path on the MCP client machine, not the Revit host; an existing destination causes an error. Default null downloads to a local temporary directory and returns localPath.",
      -  "title": "Save To"
      -}
    • removedInput schema / title
      Removed value: -"revit_capture_elementsArguments"
  2. Addedv0.9.1

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnly, idempotent, non-destructive), and the description adds real behavioral context: the temporary view is rolled back (no persistent model change), mode/transport options, and how the skipped list/skippedCount signals an incomplete result. It stops short of 5 only because nothing is said about permissions, rate limits, or auth.

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?

Front-loaded with the action and output, then constraints and side-effect notes in dense, purposeful sentences. The final sentence about the skipped list/skippedCount is slightly cramped but earns its place by explaining the incomplete-result signal.

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?

There is no output schema, so the description rightly explains key result behavior (skipped list, skippedCount, rollback). Combined with annotations covering the safety profile and schema covering most params, an agent has enough to call this correctly. It is only marginally thin on the remaining undocumented parameter (padding_mm).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is moderate (57%). The description adds meaning the schema lacks: the 1-500 bounds on element_ids (schema sets no min/max) and the valid mode values "3d or plan" (schema has no enum, only a default). It does not cover padding_mm, and leans on the schema for document/process_id/output_path/pixel_size, but it contributes genuine value beyond the structured fields.

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 (Render) and resource (highlighted PNG marking elements) plus scope (1 to 500 elements) and intent (issue evidence). An agent immediately knows what the tool produces. It does not, however, name or contrast itself with adjacent siblings like revit_export_view or revit_show, so it stops short of full differentiation.

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?

"for issue evidence" implies the context of use, but there is no explicit when-to-use-vs-alternative guidance and no exclusions (e.g. when to prefer revit_export_view or revit_show instead). Usage is only implied.

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