Skip to main content
Glama
Model MCP

Model MCP

Export View to PNG

revit_export_view

Exports a selected Revit view as a PNG file to a specified folder or path, using a temporary location when no path is given. Use it to capture a view image without changing the active view or model.

Instructions

Save a picture of the selected view as a PNG file in a folder the user names on the AI app computer. output_path names the new file; without it, a temporary folder is used. Existing files are refused. The active view and model stay unchanged. skipped means incomplete; skippedCount is the total skipped.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "view": "<view>"
    },
    "name": "revit_export_view"
  }
}

Input Schema

NameRequiredDescriptionDefault
viewYesExact non-template view name from revit_list_views, or a view ID as a decimal string.
documentNoTitle or file name substring of the target document; needed when several Revit instances run.
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.
output_pathNoNew PNG path, resolved on the machine running this server; an existing file is an error. Default null downloads to a temporary directory and returns localPath.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.0.0
    • changedInput schema / properties / output_path / description
      Previous value: -"New PNG path on the MCP client machine; an existing file is an error. Default null downloads to a temporary directory and returns localPath."New value: +"New PNG path, resolved on the machine running this server; an existing file is an error. Default null downloads to a temporary directory and returns localPath."
  2. 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"
    • 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."
      +}
    • 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"
      -}
    • changedInput schema / properties / view / description
      Previous value: -"Required exact, case-sensitive non-template view name from revit_list_views, or its Revit view ID as a decimal string; no default. An exact name takes precedence over interpreting a numeric string as an ID."New value: +"Exact non-template view name from revit_list_views, or a view ID as a decimal string."
    • removedInput schema / properties / view / title
      Removed value: -"View"
    • removedInput schema / title
      Removed value: -"revit_export_viewArguments"
    • removedOutput schema / title
      Removed value: -"revit_export_viewDictOutput"
  3. Changed2 schema fields changedv0.7.0
    • changedInput schema / properties / document / description
      Previous value: -"Case-insensitive substring of the target active document title or file name; default null leaves requests unaddressed, so any instance may respond. Use a unique substring with multiple instances; revit_list_instances instead returns all matching instances, or all instances when omitted."New 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."
    • addedInput schema / properties / process_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Exact positive Revit process ID. Takes precedence over document; if both are supplied they must agree.",
      +  "title": "Process Id"
      +}
  4. Changed4 schema fields changedv0.1.1
    • addedInput schema / properties / document / description
      Added value: +"Case-insensitive substring of the target active document title or file name; default null leaves requests unaddressed, so any instance may respond. Use a unique substring with multiple instances; revit_list_instances instead returns all matching instances, or all instances when omitted."
    • addedInput schema / properties / pixel_size / description
      Added 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."
    • addedInput schema / properties / save_to / description
      Added value: +"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."
    • addedInput schema / properties / view / description
      Added value: +"Required exact, case-sensitive non-template view name from revit_list_views, or its Revit view ID as a decimal string; no default. An exact name takes precedence over interpreting a numeric string as an ID."
  5. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Goes beyond the annotations meaningfully: it discloses that existing files are refused (no silent overwrite), that the active view and model stay unchanged (consistent with destructiveHint=false), that omitting output_path falls back to a temporary folder, and what skipped/skippedCount signify. That is real behavioral context not encoded in the hints. It stops short of covering failure modes or how many items can be skipped, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five short sentences, each carrying a distinct fact: action, output naming, overwrite policy, model side effects, skip semantics. The core action is front-loaded with no filler or hedging. The closing skipped/skippedCount line is terse to the point of being slightly cryptic, but it earns its place.

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 single-view PNG export with a full output schema, the description covers what an agent needs: where the file lands, overwrite behavior, and that the model is untouched. It does not explain the return payload shape, which is acceptable since an output schema exists, but it omits error conditions beyond existing-file refusal.

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 100%, so all five parameters are already documented, including output_path's temp-directory default and localPath return. The description restates the output_path fallback and clarifies that the path resolves on the AI app machine, which adds a little, but repeats rather than extends the schema. Baseline 3 applies when the schema does the heavy lifting.

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 and resource: save a picture of the selected view as a PNG file. An agent can tell this is a view-to-image export, distinct from model/data tools. However, it never mentions the sibling revit_export or revit_export_nwc, so the boundary between this and other export tools is left implicit.

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?

Usage is implied by the narrow purpose (export the currently selected view to PNG) rather than stated. There is no explicit when-to-use or when-to-prefer-another-tool guidance, and no mention of prerequisites such as the view needing to be non-template or active. An agent could infer the case but must reason about alternatives itself.

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