MCP (Model Context Protocol) is an open protocol that lets an AI assistant connect to tools and data through small programs called MCP servers. An MCP server for Revit, for example, offers the assistant actions such as "list the doors on Level 2" or "set this parameter". You then ask in plain language, and the assistant chooses and calls those actions. MCP was published as an open standard in late 2024 and is now supported by many AI assistants and development tools.
At a glance
| Parts | An AI client (the assistant), an MCP server (exposes tools and data), and the software behind it (Revit, a CDE, an IFC file, a database) |
| What a server offers | Tools (actions it can run), resources (data it can read), prompts (ready-made instructions) |
| BIM examples | Revit add-ins exposing model queries and edits (mostly community projects); Autodesk samples built on APS for cloud models and ACC; servers for Archicad, IFC files and Speckle from the community |
| Runs where | Locally next to the desktop software, or as a cloud service |
| Main risks | An assistant that can change models can change them wrongly; data may be sent to a cloud AI service |
How it works, step by step
- You install or connect an MCP server for a tool (for example a Revit add-in that starts a local MCP server).
- Your AI assistant discovers the server's tools:
get_elements,get_parameters,set_parameter,create_sheet... - You ask: "Which fire doors on Level 3 have no fire rating?"
- The assistant calls
get_elementswith filters, reads the results, and answers, often with a table. - If you ask for a change ("set them to EI 30"), it calls
set_parameter, ideally after showing you the list and asking you to confirm.
What it's good for today
| Good fit | Weak fit |
|---|---|
| Questions about model data in plain language | Anything where a wrong answer is dangerous without checking |
| Repetitive edits you can describe precisely and review | Complex modelling or design decisions |
| Gluing tools together (read issues from the CDE, summarise, draft a report) | Very large models through slow interfaces |
| Prototyping automations before writing a proper script | Workflows that must be repeatable and audited (write a script instead) |
Worked example
A BIM manager connects an assistant to a Revit MCP server. She asks for all rooms with no department set: 37 rooms, listed by level. She checks a few in the model, then asks the assistant to set the department from the room number's prefix using a rule she describes. The assistant shows the 37 proposed values; she corrects two, then confirms. The same job by hand was about an hour of clicking; as a one-off script, it would have taken longer to write than to do.
Risks to manage
- Edits: use read-only servers by default; require confirmation for changes; work on copies.
- Data leaving the company: check where the assistant runs and what it sends; client contracts may forbid sending models to external AI services.
- Unofficial servers: community servers are useful but vary in quality and maintenance; read the code or trust the source before installing.
- Wrong but confident answers: check results against the model, especially counts and totals.
Where to read more
The MCP specification and SDKs are published on modelcontextprotocol.io. Autodesk's APS blog and GitHub publish MCP samples for its cloud APIs. Community MCP servers for BIM software are on GitHub; check their licence, activity and permissions.