rvt-mcp
Provides tools to interact with Autodesk Revit, enabling AI agents to query and manipulate Revit models, including views, elements, parameters, schedules, families, and more.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rvt-mcpshow me all floors in the project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
What it is
rvt-mcp is a local bridge between an MCP client and a running Revit session. A .NET 8 server talks MCP over stdio; a thin add-in per Revit year (2022–2027) runs inside Revit and is reached over localhost TCP (≤2024) or a named pipe (≥2025). Nothing leaves the machine, it is C# end to end, and lengths are millimetres at the tool boundary. Details: ARCHITECTURE.md.
Agents get a typed tool surface for common Revit work, a C# escape hatch for everything else, and an optional way to turn repeated patterns into personal tools (ToolBaker): start from a shared runtime and grow your tools on top. Family Editor authoring is out of scope for now (roadmap).
Related MCP server: Revit MCP Server
Install
For users: let your AI agent do it. You don't need to run anything yourself. Copy the line below, paste it into your AI agent (Claude Code, Codex, Cursor, …) and go get a coffee while it does the job. The agent follows AGENTS.md and asks you before it installs anything or edits your client config.
Install rvt-mcp for me: https://github.com/bimwright/rvt-mcpOr run the installer yourself. Close Revit, then in PowerShell:
$tag = (Invoke-RestMethod https://api.github.com/repos/bimwright/rvt-mcp/releases/latest).tag_name
$dir = "$env:TEMP\RvtMcp.Setup-$tag-win-x64"
Invoke-WebRequest "https://github.com/bimwright/rvt-mcp/releases/download/$tag/RvtMcp.Setup-$tag-win-x64.zip" -OutFile "$dir.zip"
Expand-Archive "$dir.zip" -DestinationPath $dir -Force
powershell -ExecutionPolicy Bypass -File "$dir\install.ps1"One run sets up both sides: the add-in for every Revit 2022–2027 on the machine, and the rvt-mcp entry in every MCP client it finds (each config is backed up first). Add -WhatIf to preview, -Client claude,cursor to wire only those clients, or -Client none to skip client configs and register the server yourself — it lives at %LOCALAPPDATA%\RvtMcp\rvt\server\current\rvt-mcp.exe (per-client steps).
Check it works: restart your AI client, open a model in Revit, start MCP from the ribbon (Add-Ins → RvtMcp) and ask the agent to call revit_get_current_view_info. It should return the active view's name and type.
Upgrade: run the new release's installer the same way — no uninstall first; clients only need a restart. Uninstall: uninstall.ps1 -Yes in the same folder removes the add-ins and the server (settings stay unless you add -Purge); run install.ps1 -Uninstall -Client auto first to also remove the client entries. More, including developer and NuGet installs: docs/install.md.
Videos
Community videos of rvt-mcp at work. Install steps shown in a video can be older than this README — follow the steps above.
Connecting ChatGPT Astra to Revit | Testing AI Changes in a Real Project — Revit Mentor
Exploring Revit + GPT 6 Astra — BIM Pure
GPT-6 Astra Built a Revit House in 14 Minutes — Archi Vlogs
Tools
Mode | Tools | Notes |
Fresh install | 226 |
|
Bare | 41 |
|
| 226 | Full catalog |
| 229 | Adds 3 suggestion-lifecycle tools |
Counts exclude your personal baked tools. The installer writes the seeded default only when rvtmcp.config.json doesn't already set toolsets — your own list survives upgrades, and removing the key (or setting your own CSV) returns a bare server to the 41-tool surface. --read-only drops every write-capable toolset (including create) regardless of source.
Toolset | What it covers |
| View, selection, filters, stats, parameters, relationships, worksets, groups/assemblies |
| Grids, levels, rooms, line/point/surface-based elements, groups |
| Create views, sheets layout helpers, capture image, crop/scale |
| Batch execute (max 20), multi-Revit targets, project info, purge unused (MVP), message, send_code |
| View naming patterns, firm-profile detect, warnings summary |
| List/create schedules, fields, formulas, data |
| Load/unload, types, instances, audit, export |
| Operate/color elements, set parameters, change type, workset assign |
| Delete by id |
| Tags, text, dimensions, regions, keynotes, checks |
| PDF/DWG/IFC/NWC helpers, room data, and related export tools |
| Systems, connectors, networks, place terminals/fixtures, etc. |
| View filters, overrides, visibility/phase |
| list/run baked tools; suggestion tools only if adaptive on |
| Sheets, titleblocks, revisions, renumber |
| Materials, appearance, assignment, takeoff |
| BBox, measure, clash, volume/area, … |
| Rooms/areas/spaces, finishes, separators |
| Revit/CAD links, coordinate audit, acquire/publish coordinates |
| Project/shared parameters |
| Saved selections, view templates |
| Composite clash/audit/sheet/takeoff-style flows |
| Columns, beams, foundations, rebar, loads, … |
send_code, ToolBaker, ribbon and languages
revit_send_code_to_revit(on by default) compiles and runs a C# body inside Revit when no typed tool fits;--read-onlyor--disable-toolbakerremoves it. See docs/send-code.md, and docs/stairs-workflow.md for stairs.ToolBaker:
revit_list_baked_tools/revit_run_baked_toolneed--toolsets toolbaker. Adaptive bake (--enable-adaptive-bake, off by default) suggests tools from repeated calls; nothing is added until you accept one. Bake compiles inside Revit — no Visual Studio needed. See docs/bake.md.Ribbon: start or stop the connection, open History to search and re-run past calls, and switch completion Toasts (on by default).
UI languages: the add-in UI comes in 15 languages and follows Revit's UI language; change it with the Language button in the ribbon slide-out — it opens Settings → General → Language (
BIMWRIGHT_UI_LANGUAGEstill wins). Tool names and payloads stay English. See docs/localization.md.
Prompts
Four ready-made workflows ship as MCP prompts — pick /mcp__rvt-mcp__revit_<name> (Claude Code) or the prompts menu (Claude Desktop), and the agent follows the script with the tools it already has:
revit_getting_started— orient in the open model (read-only, works on defaults).revit_model_audit— health audit: warnings, families, dry-run purge candidates (needsworkflows,families,lint,meta).revit_pre_issue_check— checks resolved sheets before issue (needssheets,view,annotation,lint,meta). Supply sheet numbers/IDs, an explicit number/name filter, orall; a named sheet set needs its member sheets. Sampled model warnings and incomplete checks are reported as NOT VERIFIED, not a sheet-level pass.revit_stairs— guided stair creation throughsend_code(writes only after your confirmation). Includes the transaction/failure/cleanup template; no source checkout is needed.
If a prompt's toolsets aren't enabled, it answers with the exact --toolsets line to add — nothing runs half-configured. Read-only protection stays on when the missing tools allow it; prompts requiring write-capable toolsets explain the conflict rather than silently changing configuration. Prompts are instructions for the agent, not server-enforced workflow locks.
Configuration
Precedence, high wins: CLI → env (BIMWRIGHT_*) → %LOCALAPPDATA%\RvtMcp\rvtmcp.config.json.
Setting | CLI | Env | JSON |
Target year |
|
|
|
Toolsets |
|
|
|
Read-only |
|
|
|
LAN bind (plugin) | — |
|
|
ToolBaker surface |
|
|
|
Adaptive bake |
|
|
|
Cache send_code bodies (bake clusters) |
|
|
|
Persist send_code journal |
|
|
|
Journal TTL |
|
|
|
Completion toast (default on) | ribbon Toast |
|
|
UI language (add-in) | ribbon Language |
|
|
After changing server flags, restart the MCP connection so the client picks up the new tool list.
Supported Revit versions
Revit | Plugin TFM | Transport |
2022–2024 | .NET Framework 4.8 | TCP |
2025–2026 | .NET 8 ( | Named Pipe |
2027 | .NET 10 ( | Named Pipe |
Full Revit desktop only; Revit Viewer is not a supported target. CI builds all six add-ins, but runtime depth varies by year — recheck baked tools and custom C# on the years you use.
Security and privacy
Local by default: loopback TCP or a local named pipe, with a per-session auth token in the discovery files under
%LOCALAPPDATA%\RvtMcp\.Tool arguments are schema-checked before handlers run; errors returned to the model are sanitized.
send_coderuns arbitrary C# in the Revit process — powerful and risky. Use--read-onlyor--disable-toolbakerif that is unacceptable.Adaptive bake, body cache and send_code journals are opt-in and stay under your user profile; defaults do not write raw send_code bodies to long-lived logs.
More: SECURITY.md, docs/bake.md.
Docs
Doc | Topic |
Agent install protocol | |
Installer details, upgrade, uninstall, developer and NuGet installs | |
Per-client MCP wiring | |
Processes, transport, DTO rules | |
send_code source forms and failure handling | |
Adaptive bake and body privacy | |
UI languages, overrides, hot reload | |
Near-term hardening and non-goals | |
Build, test, add a tool | |
Release notes |
Community contributions
Code, bug reports, reproducible examples and proposals help improve rvt-mcp. Thanks to:
Contributor | Contribution |
Reproducible reports on MEP network membership and pipe system handling (#11, #12). | |
Hosted-family placement and stair/send-code failure reports that led to placement checks, helper-class support and broader failure-handling tests (#13, #14). | |
Family Authoring Tool Suite proposal that helped clarify the roadmap and scope (#7). | |
Pull request #15: the fix that lets |
bimwright
Open-source tools connecting AI assistants to BIM and CAD applications.
The name bimwright combines BIM with wright, an old word for a maker or builder—as in shipwright.
rvt-mcp — Revit
dwg-mcp — AutoCAD
nwd-mcp — Navisworks
ipt-mcp — Inventor
bim-wiki — Vietnamese-first BIM notes
License
Apache-2.0 — LICENSE.
Forks and rebrands are welcome — the license terms are all that's required (keep LICENSE and the copyright notices, mark changed files). If rvt-mcp helped you, a star or a mention of BIMwright in your product is appreciated but entirely optional. Issues and PRs are always welcome.
Revit and Autodesk are trademarks of Autodesk, Inc. bimwright is independent and not affiliated with Autodesk.
This server cannot be deployed
Maintenance
Related MCP Connectors
A registry of AI agent tools — MCP servers, APIs, CLIs, SDKs — kept current by automated ingestion.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseAqualityFmaintenanceAllows AI to interact with Autodesk Revit via the MCP protocol, enabling retrieval of project data and automation of tasks like creating, modifying, and deleting elements.13144 npm461MIT
- AlicenseBqualityNot gradedmaintenanceAllows AI assistants to interact with Autodesk Revit through the MCP protocol, enabling the AI to create, modify, and delete elements in Revit projects.15144 npm1-
- AlicenseNot gradedqualityAmaintenanceMCP server for Autodesk Revit (BIM) with 705+ API endpoints. Enables AI agents to create walls, place doors/windows, generate sheets, manage views, and produce construction documents via the Model Context Protocol. Uses named pipes for zero-crash Revit integration.22MIT
- FlicenseNot gradedqualityCmaintenanceNode.js MCP server enabling AI assistants to interact with Autodesk Revit for model operations, data queries, and sketch-to-building generation via LLM.231 npm-