Discover how to transform your BIM workflow by bringing artificial intelligence directly into your models. Using the MCP (Model Context Protocol), pyRevit, and Cursor, you can talk to your model, audit parameters, automate modeling, and write scripts on the fly without leaving the chat.
This guide walks you through everything from installation to running your first AI prompt interacting with Revit in real time. It's written for people who aren't used to these tools: every step explains what to do and why.
Prerequisites
Before you start, make sure you have this ready:
Python installed
You need a global Python install. MCP uses it as an intermediary server. Once installed, open your terminal (CMD or PowerShell) and install the base libraries:
pip install mcp httpx
Revit 2027
Version 2027 installed. During testing you must not be on the Home screen: the MCP server needs an open project or family.
Step-by-step guide
Download the pyRevit installer from its official GitHub repository. The first time you open Revit after installing it, make sure to tell it to always load this add-in.
Use the "Admin / All Users" installer to avoid permission issues.
Go to the pyRevit tab → Settings.
- In the left panel, look for Routes.
- Turn on the Enable Routes Server (Beta) switch.
- Check the pyrevit-core/ box.
- Click Save Settings and Reload to apply the changes.
Go to pyRevit → Extensions. Find and install the extension named mcp-server-for-revit-python. After installing, reload Revit or pyRevit again.
Critical! Open a project or family in Revit. The server will not work if you are on the Home screen.
Open your browser and visit:
http://localhost:48884/revit_mcp/status/
If everything is correct you should see a JSON response like this:
{
"status": "healthy",
"api_name": "revit_mcp",
"revit_available": true
}
Download Cursor from its official site if you do not have it yet. In Cursor, open Settings → Features → MCP and click + Add New MCP Server. Configure it as "command" with the following JSON (replace your_user with your real Windows username):
{
"mcp-server-for-revit-python": {
"command": "python",
"args": [
"C:\\Users\\your_user\\AppData\\Roaming\\pyRevit\\Extensions\\mcp-server-for-revit-python.extension\\main.py"
]
}
}
Check that a green dot appears next to the server name: that means Cursor completed the handshake with pyRevit.
Open the Cursor chat and send this prompt to verify the connection:
Example prompt"Check the status of Revit 2027 and tell me the name of the active document and its project unit."
You will see Cursor automatically invoke the get_revit_status tool, pull information from your model, and write it back in natural language.
Use cases and tools
The MCP server exposes around 20 tools that Cursor's AI can use on its own based on what you ask.
Audit and data extraction
Pull valuable information without creating temporary schedule tables.
Example prompt"List all walls visible in the current view, group them by family type, and tell me the total 'Volume' parameter value for each group."
get_current_view_elementslist_category_parametersget_revit_model_info
Modeling automation
Delegate repetitive element placement or project structuring.
Example prompt"Find the 'Conference Table' family in the model and place one on Level 1 at exactly X:10, Y:5, Z:0."
place_familylist_levelslist_families
Graphics and quality control
Apply color overrides instantly to highlight errors or classify elements.
Example prompt"Paint all 'Doors' category elements bright red in this view so I can spot them quickly. When I am done reviewing, clear the colors."
color_splashclear_colorslist_revit_views
The wildcard: direct code
If no predefined tool exists, Cursor can write and run a Revit API script on the fly.
Example prompt"Write and run a Python script in Revit that selects all walls in the project and copies the 'Type Mark' parameter text into the 'Comments' parameter."
execute_revit_code