Revit MCP Server
# xml.Revit.MCP Tools Overview
[English](./README.md) | [中文文档](./README-zh.md)
xml.Revit.MCP provides a comprehensive set of tools for integrating with Autodesk Revit through the Model Context Protocol (MCP). This library serves as a bridge between AI assistants and Revit, enabling powerful automation capabilities and programmatic interaction with building models.

## Key Features
The tool library includes numerous functions for Revit automation and interaction:
**Basic Operations:**
- Get available commands from Revit plugin
- Execute specified commands in Revit
- Call specific Revit functions with parameters
- Retrieve view data and selected elements
**Element Management:**
- Find elements by category
- Get element parameters and locations
- Update element parameters
- Delete elements
- Show/highlight elements in current view
- Move elements to new positions
**Creation Tools:**
- Create levels/floors
- Create floor plan views
- Create grid lines
- Create walls and floors
- Create rooms and room tags
- Create doors and windows
- Create MEP elements (ducts, pipes, cable trays)
- Create family instances
- Link DWG files
- Create sheets
## Installation Requirements
- **xml.Revit**: Version 1.3.4.3 or newer
- **Python**: 3.10 or newer
- **UV Package Manager**: Required for installation
- **Revit**: Compatible with versions 2019-2024 (with plugin)
## Installation Process
1. First, install the UV package manager:
```bash
pip install uv
```
2. Install the revit-mcp package:
```bash
pip install revit-mcp
```
3. Test the installation:
```bash
uvx revit-mcp
```
You should see: `RevitMCPServer - INFO - Successfully connected to Revit on startup`
## Integration with AI Assistants
### Claude for Desktop
Edit `claude_desktop_config.json` to include:
### Cursor
Edit `mcp.json` to include:
### Cline
Edit `cline_mcp_setting.json` to include:
```json
{
"mcpServers": {
"RevitMCPServer": {
"disabled": false,
"timeout": 30,
"command": "uvx",
"args": ["revit-mcp"],
"transportType": "stdio",
"autoApprove": [
"active_view",
"call_func",
"create_cable_trays",
"create_door_windows",
"create_ducts",
"create_family_instances",
"create_floors",
"create_floor_plan_views",
"create_grids",
"create_levels",
"create_pipes",
"create_room_separation_lines",
"create_room_tags",
"create_rooms",
"create_sheets",
"create_walls",
"delete_elements",
"execute_commands",
"find_elements",
"get_commands",
"get_locations",
"get_selected_elements",
"get_view_data",
"link_dwg_and_activate_view",
"move_elements",
"parameter_elements",
"show_elements",
"update_elements"
]
}
}
}
```
## Extending Functionality
You can create custom MCP DLL files to implement additional functionality by:
1. Implementing the `xml.Revit.MCP.Public.IMCPMethod` interface
2. Following JSON-RPC 2.0 specification for communication
3. Compiling to a DLL and placing it in the designated MCP folder
## Plugin Configuration
When using the revit-mcp-plugin:
1. Register the plugin with Revit
2. Configure commands through: Add-in Modules → Revit MCP Plugin → Settings
3. Enable the service: Add-in → Revit MCP Plugin → Revit MCP Switch
Once enabled, AI assistants can discover and control your Revit program, executing the various commands provided by the xml.Revit.MCP tools library.
TDQS
Scored across 27 tools
Most tools have distinct purposes targeting specific Revit elements or operations, such as create_walls, create_doors, and delete_elements. However, some overlap exists between call_func and execute_commands, which both handle function execution, and between find_elements and get_selected_elements for element retrieval, which could cause minor confusion.
Tool names follow a highly consistent verb_noun pattern throughout, such as create_walls, delete_elements, and get_locations. All tools use snake_case without deviation, making the naming predictable and easy to understand.
With 27 tools, the count is borderline high for a single server, though it covers a broad Revit domain. It feels heavy but not extreme, as it includes many element-specific creation tools and utilities that may be necessary for comprehensive BIM workflows.
The toolset provides strong coverage for Revit operations, including creation, deletion, querying, and updating of various elements like walls, doors, and views. Minor gaps exist, such as no dedicated tools for modifying existing elements beyond parameters (e.g., reshape walls) or advanced editing operations, but core workflows are well-supported.