Skip to main content
Glama
elkhouryrafik-boop

revit-mcp-hardened

get_selected_elements

Identify the current Revit selection to understand which elements the user refers to. Returns element IDs, names, categories, types, levels, and category counts for the whole selection.

Instructions

Read what the user currently has selected in the Revit UI.

Use this whenever the user says "these", "the selected ones", or "what I have highlighted" - it is the only way to find out. Returns element_id, name, category, type and level for each, plus category_counts covering the whole selection.

The element_ids returned here are what modify_elements and delete_elements take as input, so this is normally the first call in a select-then-act workflow.

Returns an empty list with total_selected 0 when nothing is selected; that is a successful answer, not an error.

Does NOT change the selection. There is no tool to set the selection - the user must do that in Revit.

Args: limit: Maximum elements described in full (default 500). category_counts stays accurate for the whole selection even when the detailed list is truncated. include_parameters: Also return every readable instance parameter per element. Verbose - leave off unless parameter values are actually needed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
include_parametersNo
Behavior5/5

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

With no annotations, the description fully carries the burden. It discloses several key behaviors: does NOT change the selection, there is no tool to set the selection, returns an empty list with total_selected 0 on no selection (successful, not error), and details limit truncation behavior while category_counts stays accurate. These are beyond what a simple read tool would imply.

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 well-structured with a purpose sentence, usage context, return summary, edge case, selection caveat, and an Args section. Every sentence earns its place—no filler. It is longer than average but appropriate for the tool's complexity and the lack of annotations.

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 covers return fields (element_id, name, category, type, level, category_counts, total_selected), edge cases (empty selection), and the relationship to other tools. Given there is no output schema, the description explains what the agent can expect from the response. It is complete for a read-only selection inspection tool.

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

Parameters5/5

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

Schema coverage is 0%, but the description provides rich meaning for both parameters. For 'limit', it explains it caps 'elements described in full' and that category_counts remains accurate for the whole selection. For 'include_parameters', it says it returns every readable instance parameter and warns it is 'Verbose - leave off unless actually needed'. This goes far beyond the bare 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 opens with 'Read what the user currently has selected in the Revit UI', providing a specific verb and resource. It clearly distinguishes this tool from siblings by stating it is 'the only way to find out' the user's selection, and contrasts with modify/delete tools that consume the returned element_ids.

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?

Explicitly states when to use the tool: whenever the user says 'these', 'the selected ones', or 'what I have highlighted'. It also frames it as the 'first call in a select-then-act workflow', giving clear context relative to modify_elements and delete_elements. The description also notes a non-use case (no selection returns empty list, not error).

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/elkhouryrafik-boop/revit-mcp-hardened'

If you have feedback or need assistance with the MCP directory API, please join our Discord server