Skip to main content
Glama
sharafutdinovdi

Revit Model MCP

Edit Families

revit_edit_families
Destructive

Edit Revit families by adding shared parameters, removing or purging parameters, or setting shared status, with dry-run rollback before changes load.

Instructions

Edit an open family in place or named project families in one load cycle each.

In project mode, pass exact family names or ["*"]. A dry run rolls back all changes. Refused in read-only mode.

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.
familiesNo
operationsYes
stop_on_errorNo
response_timeout_sNo
overwrite_parameter_valuesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.0

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, but the description adds context beyond them: dry-run transactions roll back all changes, and the tool is refused in read-only mode. These are useful safety/permission disclosures the schema does not contain, though write-scope consequences beyond rollback are not detailed.

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?

Three short front-loaded statements with zero filler; the mode split and dry-run/read-only constraints come first. Every sentence earns its place.

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 high-complexity mutation tool with 7 parameters, 14% schema coverage and four undiscriminated operation variants, the description is too thin. An output schema exists so return values need not be explained, but the operation vocabulary and error-handling parameters remain undocumented anywhere.

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%, so the description must carry parameter meaning. It explains families (exact names or ["*"]) and dry_run behavior, but says nothing about document, operations (the core op-discriminated purge/set_shared/remove_parameters/add_shared_parameters), stop_on_error, response_timeout_s, or overwrite_parameter_values.

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 (Edit) and resource (families) and distinguishes two modes: editing an open family in place versus named project families. It does not explicitly differentiate from nearby inspection siblings like revit_family_audit, but the mutation intent is unambiguous.

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?

'In project mode, pass exact family names or ["*"]' and 'Refused in read-only mode' give real operational conditions for use. However, it never names alternatives (e.g. revit_set_parameter for instance values or revit_family_audit to inspect first), so the when-to-use-vs-siblings guidance is only implied.

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