We're Nonica. We build the A.I. Connector for Revit in NonicaTab, one of the earliest MCP connections for Revit. We've learned a lot along the way about what works and what doesn't when connecting A.I. to Revit, and we want to share that honestly.
If you've heard the term "Revit MCP" and aren't sure what it means, this page is for you. No jargon, no hype. Just a straightforward explanation from the people building it every day.
Code Generation Approach
MCP Approach
That diagram is the core of what this page is about. Let's break it down.
What Is MCP, in Plain Language?
MCP stands for Model Context Protocol. It was created by Anthropic (the company behind Claude) as an open standard. Think of it like a universal adapter that lets any A.I. assistant connect to any software.
Before MCP, every A.I. integration was custom-built from scratch. MCP gives A.I. assistants a common language to talk to tools like Revit, so you're not locked into a single platform.
In the context of Revit, Revit MCP means connecting an A.I. assistant to your live Revit model through this standard. The A.I. can read your model, answer questions about it, and with the right tools, make changes to it.
The Problem We Saw with A.I. Writing Code for Revit
When we first started exploring A.I. for Revit, the obvious approach was the same one everyone was trying: let the A.I. write code.
You'd ask something like "find all walls without a fire rating," and the A.I. would generate a script. Lines of programming code designed to query your Revit model. Sounds great in theory.
In practice, it didn't work well. Here's what we kept running into:
Small mistakes, big consequences
Code that looks right but uses wrong names or inputs. In Revit, that means crashes or wrong results.
You'd need to be a programmer
If the A.I. hands you 30 lines of code and something is wrong, how would you know?
No conversation, just guessing
The A.I. would generate code in one shot, without looking at your actual model first. It was guessing rather than examining.
Every request starts from scratch
Even if you asked something similar yesterday, the A.I. would write brand new code every time, with brand new opportunities for mistakes.
We saw this pattern over and over, not just with our tool but across the industry. A.I.-generated code for Revit is unreliable because Revit's internal structure is enormous and complex. Even experienced developers get tripped up by it. Expecting an A.I. to get it right every time just isn't realistic.
How Revit MCP Works Instead
Instead of having the A.I. write code from scratch, we built a different approach: we give the A.I. a set of ready-made, tested tools.
Each tool does one specific job. We've tested them thoroughly so they work correctly and consistently:
Find elements
Get all elements of a certain type, category, or filter
Read properties
Check parameter values, materials, worksets
Make changes
Update parameters, move elements, bulk edits
Check warnings
Find model issues and what's causing them
Analyze geometry
Bounding boxes, locations, spatial data
Generate reports
QC checks, element counts, comparisons
When you ask the A.I. a question, it doesn't write code. It picks the right tools, uses them in the right order, and gives you the answer. It's like the difference between asking someone to build a power drill from parts versus handing them a working drill and saying "use this."
The key difference: the A.I. isn't improvising. It's using tools that have been built and verified to work correctly. The creative part, figuring out which tools to use and how to interpret the results, is what A.I. is genuinely good at.
How They Compare, Honestly
| MCP Approach | Code Generation | |
|---|---|---|
| Reliability | Uses pre-tested tools, consistent results | A.I. guesses the code, small errors are common |
| Speed | Works in seconds | Write, check, fix, repeat |
| Do you need to code? | No. Just ask in plain English | Yes. Someone needs to verify the code |
| What can it do? | Whatever tools are available (50+) | Anything in theory, but errors in practice |
| Safety | Each tool has built-in guardrails | Runs whatever code the A.I. writes |
| Works with your live model? | Yes. A.I. reads your actual model in real time | Usually generates code without seeing the model |
To be fair, code generation has one real advantage: it's theoretically unlimited. If someone builds a new MCP tool, it has to be programmed and tested first. A code-generating A.I. can attempt anything. It just won't always get it right. For advanced users who can verify code, that flexibility matters.
What This Looks Like Day to Day
Here's what working with Revit MCP actually feels like. No scripts, no debugging, just conversation:
The A.I. can also chain multiple steps together. You might ask it to "find all mechanical equipment on Level 3, check if they have a maintenance schedule parameter, and list the ones that don't." The A.I. will use several tools in sequence to figure that out, without you needing to know how it works under the hood.
What Revit MCP Can't Do (Yet)
We think being honest about limitations is just as important as explaining benefits. Here's where Revit MCP falls short today:
Current Limitations
- It's not unlimited. MCP can only do what the available tools support. We have 50+ tools today, but there are Revit operations they don't cover yet. Code generation, for all its flaws, can theoretically attempt anything.
- No complex geometry creation. You can't ask the A.I. to draw a custom staircase or model a complex roof shape through conversation. That's still the domain of manual modeling or tools like Dynamo.
- Prompt quality matters. The A.I. is only as helpful as the question you ask. Vague questions get vague answers. Being specific ("walls on Level 2 in Workset A" rather than just "walls") makes a big difference.
- Revit needs to be open. MCP connects to a running Revit session. You can't process models offline or without Revit installed.
- Large models take longer. On very large projects, some operations (especially ones that scan every element) can take a few moments. It's still much faster than doing it manually, but it's not always instant.