Introduction
Many posts frame linking AI to Revit as a long, expensive process—or as something “only Claude can do.” That isn’t true. This lab shows that with free tools—Python, pyRevit, Cursor (Hobby or trial), and free or local AI models—and Revit on a trial if you don’t have a license yet, you can talk to your model in a few minutes.
Using the MCP (Model Context Protocol), pyRevit, and Cursor, you combine those pieces to chat with the model, audit parameters, automate modeling, and write scripts on the fly without leaving the chat. You don’t need to be an expert: basic knowledge plus this step-by-step guide is enough.
If you already have the prerequisites installed (Python, Revit 2027, and Cursor), the step-by-step guide usually takes about 20 minutes to your first prompt. If tools are still missing, budget extra time for downloads and installs.
This guide takes you from install to your first AI prompt interacting with Revit in real time. Every step explains what to do and why.
You need Python 3.12 installed globally on Windows: MCP uses it as an intermediary server. This tutorial was developed with version 3.12.7.
- Download the installer from python.org/downloads (choose the 3.12 series).
- In the setup wizard, check Add python.exe to PATH before installing.
- Close and reopen the terminal (CMD or PowerShell) and verify:
python --versionYou should see something like Python 3.12.x. If the command is not recognized, try py --version.
- Install the base libraries:
pip install mcp httpxWorks only with Revit 2027 on Windows. Revit has no native Mac version (you would need a Windows virtual machine, which is out of scope for this guide). If you don’t have a paid license, Autodesk’s trial period is enough to follow the whole tutorial.
- Confirm you have Revit 2027 installed (not 2025 or 2026).
- Work on a Windows PC with a valid license or trial.
- Open a project or family — do not leave Revit on the Home screen.
- Keep that document open while you follow the guide: the MCP server needs it active.
You need the Cursor editor. Cursor is no longer “free with no limits” like in the early days, but you can follow this tutorial without paying.
- Download it from cursor.com/download and install it on Windows.
- Create an account (Hobby does not require a card).
- In step 5 you will connect it to Revit via MCP.
Plans and cost
- Hobby (free): low monthly Agent and Tab quotas. Enough to try things and finish this guide with light use; it runs out quickly with all-day use.
- Pro trial: new accounts often get 7–14 days of Pro features.
- Pro ($20/mo): a strong option for daily use — unlimited Tab, generous Auto Mode (Cursor picks the model), and ~$20/mo in credits for frontier models (Claude, GPT, etc.).
- Without Pro: your own API key (BYOK) from OpenAI, Anthropic, DeepSeek, or OpenRouter — pay only API usage — or a local model with Ollama / LM Studio (free and unlimited; performance depends on your PC/GPU).
On Pro, Auto Mode does not burn your credit pool at frontier-model rates when you pick models by hand: those credits are used when you select a specific model or turn on Max Mode. Official details: cursor.com/pricing.
Hobby or the Pro trial is enough for this guide. If you hit the quota mid-month, switch to Auto Mode, wait for the cycle reset, or use BYOK / Ollama.
Download the pyRevit installer from its official GitHub repository: github.com/pyrevitlabs/pyRevit. Go to the Releases section, open the latest version, and download the Admin / All Users installer.
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 Routes Server (Beta) switch.
- Check the pyrevit-core/ box.
- Click Save Settings and Reload to apply the changes.
Your panel should look similar to this:
Go to the pyRevit tab → Extensions.
Find and install the extension named mcp-server-for-revit-python. After installing, check that its status is Enabled, then 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:
{
"revit_available": true,
"health": "healthy",
"api_name": "revit_mcp",
"status": "active"
}If you do not have Cursor yet, download it from cursor.com/download. In Cursor, open Settings → Tools & MCPs and click + 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"
]
}
}The path in args is the default extension install location. If you installed the plugin somewhere else, point args to that main.py. On Windows, use double backslashes (\\) in the JSON path; otherwise Cursor will not find the file.
Check that a green dot appears next to the server name: that means Cursor completed the handshake with pyRevit.
Open the Cursor chat in Agent mode with the Auto model 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 the name of the active view."
You will see Cursor automatically invoke the get_revit_status tool, pull information from your model, and write it back in natural language. Auto is enough for this test; you can also pick stronger paid models or free local models with Ollama / LM Studio, as noted under Prerequisites.
In Cursor, use Ask mode for queries about the model without changing anything, and Agent mode when you want to apply changes or modifications to the model.
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.
The prompts in this section are illustrative: they are examples and starting points. Results depend on the AI model you use and on what is in the Revit model (.rvt / .rfa) you are working in; adapt them, explore variations, and try what works in your own setup.
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
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
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
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
