Skip to main content
Glama
sharafutdinovdi

Revit Model MCP

Place Families

revit_place_families
Destructive

Load optional Revit families and place instances at coordinates or within rooms in one transaction with a single undo entry.

Instructions

Load optional families and place instances in one transaction and undo entry.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
loadNo
dry_runNo
at_roomsNo
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.
placementsNo
stop_on_errorNo
response_timeout_sNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.9.1

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=true, so the safety profile is covered. The description adds genuine value beyond them by disclosing atomicity ('one transaction and undo entry'), which tells the agent the operation is all-or-nothing and reversible as a single undo. It still omits what happens on partial failure, permission requirements, and whether a loaded family persists after an error.

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?

A single front-loaded sentence with no filler, which is efficient. The terseness is the problem, not the length, so the structure itself is sound.

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

Completeness2/5

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

For a destructive 7-parameter mutation tool with mutually exclusive-looking placement modes (placements vs at_rooms), a dry_run flag, and error-handling controls, the description is far too thin. An output schema exists so return values need not be explained, but the behavioral and mode-selection context an agent needs to call this correctly is absent.

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

Parameters2/5

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

Schema description coverage is only 14% (essentially just the 'document' parameter), so the description must carry the load and largely fails to. It hints at the 'load' and 'placements' params via 'load optional families and place instances', but says nothing about dry_run, stop_on_error, response_timeout_s, or the placements-vs-at_rooms (room/point) distinction.

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 ('place instances', 'load optional families'), which an agent can map to the batch placement of family instances. It does not explicitly distinguish itself from the sibling revit_place_family (singular), leaving the agent to infer that this is the batch variant from the plural wording and the 'one transaction' phrasing.

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 mention of alternatives (revit_place_family, revit_load_family), and no statement of prerequisites or when to prefer dry_run. The agent gets no routing signal beyond the tool name.

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