MCP gateway for Autodesk Revit 2022-2027 - toolset gating + Transaction-safe batch execution.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"bimwright-rvt-r23": {
"args": [
"--target",
"R23"
],
"command": "bimwright-rvt"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Pure C#. Apache-2.0. 28 tools across Revit 2022–2027, transaction-safe and auditable. Extensible via ToolBaker when you need more.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in finance
Real-time financial market data: stocks, forex, crypto, commodities, and economic indicators
An MCP server for Massive.com Financial Market Data
Allow parsing of object rest/spread
Trustless escrow for AI agent-to-agent transactions on Base L2 with ERC-8004 identity and USDC.
MCP Security Weekly
Get CVE alerts and security updates for io.github.bimwright/rvt-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Bimwright — the predictable Revit MCP server.
Pure C#. Apache-2.0. 28 tools across Revit 2022–2027, transaction-safe and auditable. Extensible via ToolBaker when you need more.
Built for AI agents and BIM workflows that want reversible, reviewable edits — every change shows up in the undo stack.
Key traits:
batch_execute wraps a command list in one Revit TransactionGroup — one undo, atomic rollback on failure.--toolsets + --read-only gate what the model sees. Weak models stay sharp.MCP client (Claude Code, etc.) ⇄ stdio ⇄ Bimwright.Rvt.Server (.NET 8) ⇄ TCP/Pipe ⇄ Bimwright.Rvt.Plugin.R<nn> (inside Revit.exe) ⇄ Revit API
Two processes. The server is a .NET global tool; the plugin is a per-Revit-year add-in DLL. See ARCHITECTURE.md for the full picture.
dotnet tool install -g Bimwright.Rvt.Server
bimwright-rvt --help
Requires .NET 8 SDK on the machine that runs the MCP client.
Download the latest release from GitHub Releases. Extract it and run:
pwsh install.ps1 # detects every installed Revit year
pwsh install.ps1 -WhatIf # preview without changes
pwsh install.ps1 -Uninstall # clean removal
The script detects installed Revit versions via HKLM:\SOFTWARE\Autodesk\Revit\ and copies the matching plugin into %APPDATA%\Autodesk\Revit\Addins\<year>\Bimwright\.
Add one entry per Revit year to your client's MCP config (e.g. .mcp.json):
{
"mcpServers": {
"bimwright-rvt-r23": {
"command": "bimwright-rvt",
"args": ["--target", "R23"]
}
}
}
Drop the --target flag and Bimwright auto-detects the running Revit instance via discovery files in %LOCALAPPDATA%\Bimwright\.
| Client | Status | Notes |
|---|---|---|
| Claude Code CLI | ✅ verified | primary test target |
| Claude Desktop | ✅ verified | .mcp.json entry |
| Cursor | ⏳ pending verification | stdio; expected to work |
| Cline (VS Code) | ⏳ pending verification | stdio; expected to work |
| Other MCP clients | ⏳ pending | open an issue if you try one |
Broader client-compat matrix is on the v0.2 roadmap.
dotnet tool install -g Bimwright.Rvt.Server + pwsh install.ps1.tools/list — you should see the default toolsets (query, create, view, meta).get_current_view_info — you'll get back a DTO like:
{ "viewName": "Level 1", "viewType": "FloorPlan", "levelName": "L