Revit MCP server

Enables AI interaction with Autodesk Revit models through a Node.js server that provides tools for creating, modifying, and deleting BIM objects in architectural design workflows.
Back to servers
Setup instructions
Provider
lisiting01
Release date
Mar 14, 2025
Language
TypeScript
Stats
215 stars

This server allows you to control Autodesk Revit through the Model Context Protocol (MCP), enabling AI systems like Claude to interact with your Revit models. When set up correctly, you can query model data, create and modify elements, and even execute custom code within Revit.

Installation Requirements

  • Node.js 18 or higher
  • A compatible MCP client (such as Claude Desktop)
  • revit-mcp-plugin installed in Revit

Setting Up the MCP Server

Building the Server

  1. Install the required dependencies:
npm install
  1. Build the application:
npm run build

Configuring Your AI Client

For Claude Desktop:

  1. Open Claude client and navigate to Settings > Developer > Edit Config
  2. Modify the claude_desktop_config.json file:
{
    "mcpServers": {
        "revit-mcp": {
            "command": "node",
            "args": ["<path to the built file>\\build\\index.js"]
        }
    }
}
  1. Replace <path to the built file> with the actual path where you built the server
  2. Restart Claude client
  3. The connection is successful when you see the hammer icon in the interface

Available Tools

Viewing Model Information

  • get_current_view_info: Retrieves information about the current Revit view
  • get_current_view_elements: Lists all elements visible in the current view
  • get_available_family_types: Shows all family types available in the current project
  • get_selected_elements: Retrieves information about currently selected elements

Creating Elements

  • create_point_based_element: Places elements that require a point (doors, windows, furniture)
  • create_line_based_element: Creates elements defined by lines (walls, beams, pipes)
  • create_surface_based_element: Adds elements that need surfaces (floors, ceilings)

Modifying and Managing Elements

  • modify_element: Changes element properties (instance parameters)
  • delete_elements: Removes specified elements from the model
  • reset_model: Clears temporary elements created during the current session
  • color_splash: Applies colors to elements based on parameter values
  • tag_walls: Automatically tags all walls in the current view

Advanced Functionality

  • search_modules: Finds available modules for extended functionality
  • use_module: Loads a specific module
  • send_code_to_revit: Executes custom code within Revit

Usage Examples

To use the tools, you need to communicate with them through your MCP-enabled AI client. For example, in Claude Desktop, you might ask:

"Show me all elements in the current view"

The AI will use the get_current_view_elements tool to retrieve and display this information.

For creating elements:

"Add a door at coordinates X=10, Y=20, Z=0 using the 'Single-Flush' family type"

This would trigger the create_point_based_element tool with the specified parameters.

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "revit-mcp" '{"command":"node","args":["<path to the built file>\\build\\index.js"]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "revit-mcp": {
            "command": "node",
            "args": [
                "<path to the built file>\\build\\index.js"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "revit-mcp": {
            "command": "node",
            "args": [
                "<path to the built file>\\build\\index.js"
            ]
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later