Skip to main content
Glama
sharafutdinovdi

Revit Model MCP

Compare Link Datums

revit_compare_link_datums
Read-onlyIdempotent

Compare host grids and levels against one loaded Revit link without editing; skipped entries flag incomplete results.

Instructions

Compare host grids and levels with one loaded Revit link. Changes nothing. A non-empty skipped list means the result is incomplete; skippedCount counts all skipped entries.

Input Schema

NameRequiredDescriptionDefault
linkYes
kindsNo
prefixNo
suffixNo
documentNoTitle or file name substring of the target document; needed when several Revit instances run.
name_mapNo
process_idNoRevit process ID; takes precedence over document.
tolerance_mmNo
reuse_matchingNo
level_offset_mmNo
timeout_secondsNoSeconds to wait for a result (default 120).
pickup_timeout_secondsNoSeconds to wait for the add-in to pick up the job (default 300); unused over HTTP.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed18 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 / kinds / title
      Removed value: -"Kinds"
    • removedInput schema / properties / level_offset_mm / title
      Removed value: -"Level Offset Mm"
    • removedInput schema / properties / link / title
      Removed value: -"Link"
    • removedInput schema / properties / name_map / title
      Removed value: -"Name Map"
    • changedInput schema / properties / pickup_timeout_seconds / description
      Previous value: -"Positive integer seconds to wait for the add-in to pick up a local or SSH job (300 when omitted); ignored over HTTP. A pickup timeout raises an error but the pending job may still execute later."New value: +"Seconds to wait for the add-in to pick up the job (default 300); unused over HTTP."
    • removedInput schema / properties / pickup_timeout_seconds / title
      Removed value: -"Pickup Timeout Seconds"
    • removedInput schema / properties / prefix / title
      Removed value: -"Prefix"
    • 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 / reuse_matching / title
      Removed value: -"Reuse Matching"
    • removedInput schema / properties / suffix / title
      Removed value: -"Suffix"
    • changedInput schema / properties / timeout_seconds / description
      Previous value: -"Positive integer seconds to wait for a result after pickup (120 when omitted); HTTP uses this as its response budget. Expiry raises an error, and increasing it does not override the add-in's execution limits."New value: +"Seconds to wait for a result (default 120)."
    • removedInput schema / properties / timeout_seconds / title
      Removed value: -"Timeout Seconds"
    • removedInput schema / properties / tolerance_mm / title
      Removed value: -"Tolerance Mm"
    • removedInput schema / title
      Removed value: -"revit_compare_link_datumsArguments"
    • removedOutput schema / title
      Removed value: -"revit_compare_link_datumsDictOutput"
  2. Addedv0.7.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description still adds genuinely new behavioral context: partial results are possible, signalled by a non-empty skipped list, and skippedCount counts every skipped entry. That is real disclosure about failure/partial-completion semantics. It omits timeout behavior and matching/tolerance effects.

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 tight sentences with zero filler, front-loaded with the core action followed by the mutation guarantee and the result-completeness caveat. Every clause carries information.

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?

An output schema exists, so the description is not obliged to explain return values, yet it usefully clarifies skipped/skippedCount semantics. The gap is on the input side: for a comparison tool, tolerance_mm and reuse_matching materially change results and are undocumented anywhere in prose. Adequate but with clear gaps.

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 33% (document, process_id, timeout_seconds, pickup_timeout_seconds). Twelve parameters exist and the description explains none of them, including the required 'link' and behavior-shaping options like tolerance_mm, reuse_matching, prefix/suffix, kinds and name_map. With coverage this low, the description is expected to compensate and does not.

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 pair: compare host grids and levels with one loaded Revit link, with a scope limit (one link). The phrase 'Changes nothing' implicitly separates it from the read/modify sibling revit_align_link_datums, but that sibling is never named, so the differentiation is inferential rather than explicit.

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?

The 'Changes nothing' clause implies this is the inspection-only counterpart to align_link_datums, which suggests when to use it versus the mutating alternative. However, no prerequisite (link must already be loaded) or explicit when-not guidance is given.

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