MCP server for Revit - Python
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 |
|---|---|
| get_revit_statusA | Reads bridge health and active document availability. |
| get_revit_model_infoA | Reads project metadata, element counts, rooms, views, sheets, warnings and linked-model information. |
| get_revit_viewB | Exports a named model view as a PNG image. |
| list_revit_viewsA | Lists exportable model views grouped by view type. |
| get_current_view_infoA | Reads the active view's properties and settings. |
| get_current_view_elementsB | Lists elements visible in the active view, with optional level and location information. |
| align_viewports_across_sheetsC | Aligns viewports on target sheets to a reference sheet, ignoring annotation extents. |
| place_familyC | Places a loaded family instance at specified coordinates and sets requested properties. |
| list_familiesB | Lists loaded family types with optional name filtering. |
| list_family_categoriesA | Lists categories of loaded families. |
| list_levelsA | Lists model levels and their elevations. |
| color_splashC | Applies view color overrides to elements grouped by a parameter value. |
| clear_colorsB | Removes view color overrides from elements in a category. |
| list_category_parametersB | Lists element parameters and sample values for a category. |
| execute_revit_codeA | Executes supplied IronPython code in Revit with the Windows user's permissions after review in Revit; code can access model data, files and network services. |
| list_revit_installationsA | Lists installed Revit versions and their executable locations. |
| launch_revitB | Starts an installed Revit version, optionally opens a model file, and checks bridge readiness. |
| open_documentB | Opens a specified Revit document, optionally auditing or detaching it from central. |
| close_documentA | Closes the active Revit document, optionally saving changes. |
| save_documentB | Saves the active document in place or to a specified new file. |
| sync_with_centralC | Synchronizes the active workshared model with central using requested relinquish options. |
| undo_lastA | Undoes the last committed action in the active Revit document. |
| auto_calibrate_gridsC | Matches PDF drawing coordinates to Revit grids and returns calibration points, scale and error. |
| parse_pdf_structural_planC | Extracts columns, beams, slabs and openings from a vector PDF plan in Revit coordinates (mm). |
| parse_pdf_foundation_planC | Extracts shear walls, pile caps, piles and pad/strip footings from a vector PDF plan in Revit coordinates (mm). |
| batch_create_structural_framing_and_columnsC | Creates structural columns then beams in one transaction after preflight checks. |
| batch_create_footings_and_wallsC | Creates footings, walls and strip footings from parsed foundation data using project types. |
| check_duplicatesC | Scans columns, beams, walls, footings and slabs for duplicated or overlapping elements. |
| batch_create_structural_slabsC | Creates structural slabs and cuts openings in one transaction. |
| batch_create_structural_walls_and_foundationsC | Creates shear walls, pile caps and pad/strip footings in one transaction. |
| generate_visual_qa_overlayC | Overlays modelled elements on the source PDF page and returns the image for visual QA. |
| modify_or_delete_elementsB | Deletes or moves listed elements to fix issues found during visual QA. |
| finalize_and_join_structureB | Joins geometry of columns, walls, beams and slabs on a level in structural priority order. |
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 33 tools
Most tools target distinct Revit operations, but several boundaries are blurry: get_revit_status vs get_revit_model_info, list_revit_views vs get_revit_view, and especially multiple batch creation tools for walls, footings, and foundations. Descriptions help, but an agent could still misselect among the structural batch tools or between generic and specialized operations.
Most tool names use snake_case with an action-oriented verb and clear object, such as open_document, save_document, list_levels, and batch_create_structural_slabs. There are minor deviations and long compound names like modify_or_delete_elements and finalize_and_join_structure, but the overall convention is readable and predictable.
At 33 tools, the surface is heavy for a single MCP server and exceeds the typical well-scoped range. Several highly specialized batch creation and QA tools could likely be consolidated or parameterized, making the set harder for an agent to navigate.
The server covers a broad Revit structural workflow: launch, document lifecycle, model inspection, views, families, PDF parsing, batch creation, duplicate checking, visual QA, modification, and geometry joining. Minor gaps remain around broader editing operations such as parameter updates or sheet/view creation, but execute_revit_code provides an escape hatch.