Revit MCP Bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| revit_pingB | Checks connection health of the Revit MCP Server and reports the active instance. |
| revit_list_instancesA | Lists all currently active Autodesk Revit instances across all ports and indicates which instance is bound. |
| revit_set_active_instanceA | Binds this session to a specific Revit instance/model (by port or document title). All subsequent operations will execute on this instance. |
| revit_get_active_modelB | Retrieves metadata about the currently open model in the bound Revit instance (title, file path, active view, level). |
| revit_execute_pythonA | Executes arbitrary Python code inside Autodesk Revit on the main UI thread. Provides:
Always wrap model modifications in a Transaction: t = Transaction(doc, 'Action Name') t.Start() ... t.Commit() |
| revit_get_selectionC | Retrieves information about currently selected elements in the bound Revit document. |
| revit_get_element_geometryC | Retrieves high-precision geometric summary (exact mm bounding box, location, rotation, level elevation) for elements. |
| revit_get_warningsC | Retrieves all active model warnings from the bound Revit instance. |
| revit_capture_screenshotC | Triggers and captures a high-resolution screenshot of the currently active view in Revit. |
| revit_get_latest_screenshotA | Retrieves metadata and file path of the most recently captured screenshot or user snip. |
| revit_request_user_selectionA | Proactively requests the user in Autodesk Revit to select elements. The HUD button 'Pick Elements' will flash and wait for user clicks. Args: prompt: Instruction shown to user in Revit HUD (e.g. 'Select the room boundary'). categories: Optional list of category names to restrict selection (e.g. ['Rooms', 'Walls']). multiple: If False, single click picks element instantly. If True, user picks multiple elements and clicks 'Finish'. timeout: Maximum seconds to wait (default 90). |
| revit_request_user_snipC | Proactively requests the user in Autodesk Revit to snip a region on screen and add drawings/annotations. |
| revit_set_busyC | Sets the visual busy indicator and background color of the Revit MCP HUD. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Each tool targets a distinct action or resource: screenshot capture, user selection request, user snip request, HUD state, instance management, model metadata, code execution, selection retrieval, geometry retrieval, and warnings. The potential overlap between capturing screenshots and retrieving the latest screenshot is resolved by clear action boundaries, and requesting selection versus getting current selection is explicitly differentiated.
All tools use snake_case with a consistent revit_ prefix, and most follow a verb_noun pattern. Minor deviations exist: revit_ping is verb-only and revit_set_busy uses an adjective rather than a noun, but overall the set is highly predictable.
The 13 tools are well-scoped for a Revit bridge that handles instance management, user interaction, screenshots, model inspection, and Python execution. No tool appears redundant, and the count fits comfortably within a focused operational set.
The surface covers core bridge workflows including connection management, user-driven selection/snipping, screenshot capture, model metadata, selection/geometry retrieval, warnings, and arbitrary Python execution for modifications. Direct CRUD tools for elements and transaction helpers are absent, but revit_execute_python provides a broad escape hatch.