Skip to main content
Glama
elkhouryrafik-boop

revit-mcp-hardened

tag_elements

Tags all elements of a specified category in the active Revit view, with optional limits, skipping already tagged items, and leader lines. Returns count and reasons for any skipped elements.

Instructions

Place tags on all elements of one category in the ACTIVE view.

Tags land in whichever view is currently active in Revit - check with get_current_view_info first if that matters. Returns how many were tagged and, for anything skipped, why.

Tagging requires a tag family for that category to be loaded in the project. If none is loaded, nothing is tagged and the response says so; that is a loaded-content problem, not something to retry.

Does NOT: tag across multiple views, position tags intelligently (each one lands at its element's centre and they will overlap in dense areas), or choose between multiple loaded tag families.

Args: category_name: Revit category to tag, e.g. "Walls", "Doors", "Windows", "Rooms". Singular or plural both resolve. limit: Maximum tags to place in one call (default 1000). skip_tagged: Skip elements that already have a tag in this view. Leave True to make repeat calls idempotent. leader: Give each tag a leader line.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
leaderNo
skip_taggedNo
category_nameYes
Behavior5/5

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

With no annotations, the description carries the full burden and does so excellently. It discloses the active-view dependency, return value (count and skip reasons), the tag-family prerequisite, and detailed limitations (center placement, overlap, no cross-view, no family selection), providing full behavioral transparency.

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 and front-loaded with the core purpose, followed by essential behavioral details and a clear 'Does NOT' list, then an Args section. Every sentence earns its place, and the overall length is appropriate for the tool's complexity.

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?

Despite having no annotations and no output schema, the description covers everything the agent needs: what it does, return value, prerequisites, limitations, and parameter semantics. It also references a sibling tool for a related check, making it complete for this tool's complexity.

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 description coverage is 0%, but the 'Args' section fully compensates by explaining each parameter: category_name with examples and singular/plural handling, limit as a cap, skip_tagged with idempotency note, and leader. This adds substantial meaning beyond the schema's type/defaults.

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 a specific verb and resource: 'Place tags on all elements of one category in the ACTIVE view.' This clearly distinguishes it from sibling tools, and the 'Does NOT' list further clarifies scope, such as not tag across views or position tags intelligently.

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?

It explicitly tells the agent to check get_current_view_info first if the active view matters, referencing a sibling tool. It also clarifies prerequisites (a loaded tag family) and what not to retry, plus the 'Does NOT' list implicitly signals when not to use this tool.

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