Revit
STDIOAI-driven Revit automation server for creating, modifying, and analyzing building elements through MCP protocol
AI-driven Revit automation server for creating, modifying, and analyzing building elements through MCP protocol
English | 简体中文
revit-mcp allows you to interact with Revit using the MCP protocol through MCP-supported clients (such as Claude, Cline, etc.).
This project is the server side (providing Tools to AI), and you need to use revit-mcp-plugin (driving Revit) in conjunction.
Complete installation environment still needs to consider the needs of revit-mcp-plugin, please refer to revit-mcp-plugin
Install dependencies
npm install
Build
npm run build
Claude client
Claude client -> Settings > Developer > Edit Config > claude_desktop_config.json
{ "mcpServers": { "revit-mcp": { "command": "node", "args": ["<path to the built file>\\build\\index.js"] } } }
Restart the Claude client. When you see the hammer icon, it means the connection to the MCP service is normal.

flowchart LR CladueDesktop --> revit-mcp --> SocketService--commandName-->CommandlSet--command-->CommandExecute CommandManager --> CommandlSet CommandExecute --executeResult--> SocketService CommandProject1 --> CommandManager CommandProject2 --> CommandManager CommandProject... --> CommandManager subgraph ide1 [MCPClient] CladueDesktop end subgraph ide2 [MCPServer] revit-mcp end subgraph ide3 [Revit] subgraph ide3.1 [revit-mcp-plugin] SocketService CommandlSet CommandManager CommandExecute end end
| Name | Description | 
|---|---|
| get_current_view_info | Get current view info | 
| get_current_view_elements | Get current view elements | 
| get_available_family_types | Get available family types in current project | 
| get_selected_elements | Get selected elements | 
| create_point_based_element | Create point based element (door, window, furniture) | 
| create_line_based_element | Create line based element (wall, beam, pipe) | 
| create_surface_based_element | Create surface based element (floor, ceiling) | 
| delete_elements | Delete elements | 
| reset_model | Reset model (delete process model when executing continuous dialog) | 
| modify_element | Modify element's properties (instance parameters) | 
| search_modules | Search for available modules | 
| use_module | Use module | 
| send_code_to_revit | Send code to Revit to execute | 
| color_splash | Color elements based on a parameter value | 
| tag_walls | Tag all walls in view |