Skip to main content
Glama
sharafutdinovdi

Revit Model MCP

List Catalog

revit_list_catalog
Read-onlyIdempotent

List catalog sections to discover valid model names before filtering, covering categories, family types, levels, views, worksets, phases, and parameters.

Instructions

Discover valid model names before filtering.

Returns data with section and items containing names and section-specific IDs, categories, types or counts; an empty catalog returns items=[]. section is required: categories, family-types, levels, area-schemes, views, worksets, phases or parameters. The parameters section reports localized names, categories and value types. Start universal queries here, then prefer revit_aggregate_elements for counts and breakdowns; use revit_query_elements only for individual rows. An unknown section, missing document, read failure or timeout raises an error; partial data is not returned.

If more than one Revit instance is running, document is required; otherwise any instance may respond.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sectionYes
documentNoCase-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.
timeout_secondsNoPositive 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.
pickup_timeout_secondsNoPositive 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.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 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 / pickup_timeout_seconds / description
      Added 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."
    • addedInput schema / properties / timeout_seconds / description
      Added 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."
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false), the description adds meaningful behavioral details: empty catalogs return items=[], errors are raised for unknown sections, missing documents, read failures, or timeouts, and partial data is never returned. It also clarifies multi-instance behavior and localized naming for parameters. These are exactly the behavioral traits an agent needs to predict side effects and failure modes.

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?

The description is front-loaded with the core purpose, then progressively covers output shape, section values, tool selection, error behavior, and multi-instance context. Each sentence contributes distinct information, and there is no redundant filler. The structure makes it easy for an agent to scan and extract the key facts.

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

Completeness5/5

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

The description is comprehensive for a read-only catalog tool: it covers output, required section values, empty results, error conditions, partial data behavior, cross-tool routing, and the multi-instance document requirement. An output schema is present, so the description does not need to explain return shapes in detail. Nothing essential appears missing for correct invocation.

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?

The required section parameter has no description in the schema, but the tool description compensates by enumerating valid values: categories, family-types, levels, area-schemes, views, worksets, phases, or parameters. The document parameter's behavior is also reinforced by the description's guidance about multiple Revit instances. Since schema coverage is already fairly high at 75%, the description adds meaningful extra semantics rather than merely repeating the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: it returns catalog data with section and items containing names and section-specific IDs, categories, types, or counts. It also explicitly differentiates itself from siblings by saying to prefer revit_aggregate_elements for counts and revit_query_elements for individual rows. The required section values are enumerated, leaving little ambiguity about the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit routing guidance: 'Start universal queries here, then prefer revit_aggregate_elements for counts and breakdowns; use revit_query_elements only for individual rows.' It also gives a concrete condition for when to use the document parameter, addressing multi-instance scenarios. This is strong, actionable usage guidance beyond what the schema provides.

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