Enables programmatic control over Autodesk software environments, specifically Revit, allowing AI agents to automate architectural design, engineering, and construction workflows.
Provides comprehensive read-write access to the Revit API, allowing for the programmatic creation, modification, and query of BIM elements such as walls, doors, rooms, views, and schedules.
Coming from That project was archived on Feb 26, 2026. RevitMCPBridge2026 is the actively maintained alternative with 705+ endpoints, named pipe communication (no crashes), and a 113-file architectural knowledge base. See Quick Start to get running in minutes.
What is this?
RevitMCPBridge is a Revit add-in that exposes the entire Revit API through the Model Context Protocol (MCP) via named pipes. AI systems — Claude, GPT, custom agents — can read, create, modify, and validate anything in a Revit model programmatically. No Dynamo. No manual steps. Just send JSON, get results.
For AEC professionals: Your AI assistant can now open your Revit model and actually do things — create walls, place doors, generate sheets, check code compliance, produce construction documents.
For developers: 705+ typed endpoints with parameter validation, transaction management, and structured error responses. Connect any language that can write to a named pipe.
Why Named Pipes Instead of HTTP?
Revit is single-threaded. Every API call must execute on the main UI thread.
Approach | What Happens Under Load |
HTTP server | Competes for the main thread. Multiple concurrent AI requests cause timeouts, dropped connections, and crashes. |
Named pipes | Uses Revit's own |
Every other Revit MCP implementation uses HTTP. They work for simple demos but break under real workloads. Named pipes are why this bridge can handle 705+ endpoints reliably.
Before and After
Before RevitMCPBridge:
You: "Create a sheet set for these 12 floor plans"
AI: "Here are the steps you should follow manually in Revit:
1. Go to View > Sheet Composition > New Sheet
2. Select your title block...
3. Repeat 12 times..."After RevitMCPBridge:
# AI executes directly in Revit
for i, view_id in enumerate(floor_plan_ids):
call_revit("createSheet", {
"sheetNumber": f"A1.{i+1}",
"sheetName": f"Floor Plan - Level {i+1}",
"titleBlockName": "E1 30x42 Horizontal"
})
call_revit("placeViewOnSheet", {
"sheetId": sheet_id,
"viewId": view_id,
"locationX": 1.5,
"locationY": 1.0
})
# 12 sheets created, views placed, titled — in secondsWhat It Enables
Capability | Methods | Example |
Read any model data | Parameters, elements, geometry, schedules | Extract every door schedule to JSON |
Create elements | Walls, doors, windows, rooms, structural, MEP | Build a floor plan from a PDF specification |
Modify elements | Move, resize, reparameter, retype | Batch-update 200 door fire ratings |
Generate documents | Sheets, views, schedules, annotations | Produce a full CD set automatically |
Validate models | Code compliance, clash detection, QC | Check egress paths against IBC requirements |
AI autonomy | Goal execution, learning, self-healing | "Set up this project" → 360 sheets, done |
Scale
705+ MCP endpoints across 25+ categories
146 C# source files, 13,000+ lines
113 knowledge files of architectural domain expertise (building codes, room standards, MEP systems, material specs)
68 unit tests with NUnit
5 levels of autonomy — from direct API calls to autonomous goal execution
API Categories
Category | Endpoints | What It Does |
Walls | 11 | Create, modify, split, join, query wall elements |
Doors & Windows | 13 | Place openings, configure hardware, set fire ratings |
Rooms | 10 | Create rooms, compute areas, tag, set finishes |
Views | 12 | Create plans, sections, elevations, 3D views |
Sheets | 11 | Create sheets, place viewports, manage title blocks |
Schedules | 34 | Create/modify schedules, export data, configure fields |
Families | 29 | Load families, place instances, query types |
Parameters | 29 | Get/set any parameter on any element |
Structural | 26 | Beams, columns, foundations, framing |
MEP | 35 | Ducts, pipes, equipment, electrical |
Details | 33 | Detail lines, filled regions, detail components |
Filters | 27 | View filters, graphic overrides, visibility |
Materials | 27 | Material creation, assignment, appearance |
Phases | 24 | Construction phases, phase filters |
Worksets | 27 | Workset management for workshared models |
Annotations | 33 | Dimensions, tags, text notes, keynotes |
Intelligence | 35 | AI autonomy, learning, goal execution, self-healing |
Sheet Patterns | 11 | Intelligent sheet numbering and organization |
Viewport Capture | 7 | View capture, camera control |
Rendering | 7 | AI-assisted rendering via Stable Diffusion |
System | 6 | Health check, version, stats, method listing |
Quick Start
Prerequisites
Autodesk Revit 2025 or 2026
.NET Framework 4.8
Visual Studio 2022 (for building from source)
Install
# Option 1: Installer script
git clone https://github.com/WeberG619/RevitMCPBridge2026.git
cd RevitMCPBridge2026
.\scripts\deploy\Install-RevitMCPBridge.ps1
# Option 2: Manual
msbuild RevitMCPBridge2026.csproj /p:Configuration=Release
copy bin\Release\RevitMCPBridge2026.dll "%APPDATA%\Autodesk\Revit\Addins\2026\"
copy RevitMCPBridge2026.addin "%APPDATA%\Autodesk\Revit\Addins\2026\"
copy appsettings.json "%APPDATA%\Autodesk\Revit\Addins\2026\"Connect
Start Revit, then from any language:
import struct, json
PIPE_NAME = r'\\.\pipe\RevitMCPBridge2026'
def call_revit(method, params=None):
"""Call any Revit method via named pipe."""
import win32file, win32pipe
handle = win32file.CreateFile(
PIPE_NAME, win32file.GENERIC_READ | win32file.GENERIC_WRITE,
0, None, win32file.OPEN_EXISTING, 0, None
)
request = json.dumps({"method": method, "params": params or {}}).encode()
win32file.WriteFile(handle, struct.pack('<I', len(request)) + request)
size = struct.unpack('<I', win32file.ReadFile(handle, 4)[1])[0]
data = win32file.ReadFile(handle, size)[1]
handle.Close()
return json.loads(data)
# Verify connection
print(call_revit("healthCheck"))
# {"status": "healthy", "documentOpen": true, "methodCount": 705}
# List all available methods
print(call_revit("getMethods"))
# {"methods": ["getVersion", "createWall", ...], "count": 705}Note: The bridge communicates via Windows named pipes (
\\.\pipe\RevitMCPBridge2026), not HTTP. This provides direct in-process communication with Revit. For a simpler Python wrapper, see thepython/directory.
Your first wall
# Create a wall
result = call_revit("createWall", {
"startX": 0, "startY": 0,
"endX": 20, "endY": 0,
"wallTypeName": "Generic - 8\"",
"levelName": "Level 1",
"height": 10
})
print(result)
# {"success": true, "elementId": 123456, "length": 20.0}Autonomy Levels
The bridge supports 5 levels of AI autonomy:
Level | Name | What It Does |
1 | Basic Bridge | Direct API translation. Send method, get result. |
2 | Context Awareness | Tracks element relationships, maintains session context. |
3 | Learning & Memory | Stores corrections, learns patterns for future use. |
4 | Proactive Intelligence | Detects workflow gaps, suggests next steps, anticipates needs. |
5 | Full Autonomy | Executes high-level goals with self-healing and guardrails. |
Level 5 Example
# "Set up construction document sheets" — one command
call_revit("executeGoal", {
"goalType": "create_sheet_set",
"parameters": {
"viewIds": [123456, 234567, 345678],
"sheetPattern": "A-{level}.{sequence}"
}
})
# Creates sheets, places views, adds title blocks, numbers everything
# Safety guardrails
call_revit("configureAutonomy", {
"maxElementsPerTask": 100,
"allowedMethods": ["createWall", "placeDoor", "createSheet"],
"blockedMethods": ["deleteElements"],
"requireApprovalFor": ["deleteSheet"]
})Knowledge Base
The bridge includes 113 files of architectural domain knowledge:
Category | Files | Coverage |
Building Types | 17 | Residential, commercial, healthcare, education, hospitality, industrial |
Building Codes | 15 | IBC, Florida Building Code (complete), NYC, California, Chicago |
Structural & Envelope | 12 | Foundations, framing, walls, roofs, glazing, mass timber |
MEP Systems | 10 | HVAC, electrical, plumbing, fire protection, elevators |
Interior & Finishes | 9 | Kitchen/bath, materials, millwork, acoustics, door hardware |
Codes & Regulatory | 9 | Accessibility, egress, energy, zoning, permitting |
Project Delivery | 10 | Cost estimating, specifications, construction admin |
Documentation | 7 | CD standards, annotation standards, detail libraries |
This knowledge base enables AI agents to make code-compliant, architecturally correct decisions without requiring the user to specify every standard.
Connection to the Autonomy Engine
RevitMCPBridge is the flagship integration for the Autonomy Engine. When connected:
Goal tracking — "Set up this project" becomes a tracked goal with sub-goals and progress
Correction learning — BIM-specific mistakes get stored and injected into future Revit tasks
Alignment injection — Every Revit agent gets compiled corrections for the BIM domain
Coordination — Multiple agents can work on the same model with resource locking
User Goal: "Create construction documents"
↓
Autonomy Engine decomposes into plan:
1. Create sheet set (SheetMethods)
2. Place views on sheets (ViewMethods)
3. Add annotations (AnnotationMethods)
4. Generate schedules (ScheduleMethods)
5. QC check (Intelligence)
↓
Each step gets BIM-domain alignment injection
↓
Corrections from past sessions prevent known mistakes
↓
Progress cascades to parent goal: 100%Configuration
{
"Pipe": {
"Name": "RevitMCPBridge2026",
"TimeoutMs": 30000,
"MaxConnections": 5
},
"Logging": {
"Level": "Information",
"LogDirectory": "%APPDATA%/RevitMCPBridge/logs"
},
"Autonomy": {
"Enabled": true,
"MaxRetries": 3,
"MaxElementsPerBatch": 100
}
}Architecture
graph LR
subgraph "AI Side"
CL[Claude / GPT / Custom Agent]
AE[Autonomy Engine]
CL --> AE
end
subgraph "Bridge"
NP[Named Pipe Server]
MR[Method Router]
TV[Transaction Validator]
NP --> MR --> TV
end
subgraph "Revit Side"
RA[Revit API]
DOC[Active Document]
TV --> RA --> DOC
end
AE --> |JSON over pipe| NP
DOC --> |result| NP --> |JSON response| AE
style CL fill:#4A90D9,color:#fff
style AE fill:#E74C3C,color:#fff
style NP fill:#2ECC71,color:#fff
style RA fill:#F39C12,color:#fffDevelopment
# Build
msbuild RevitMCPBridge2026.csproj /p:Configuration=Release
# Run tests
dotnet test tests/RevitMCPBridge.Tests.csproj
# Smoke test (requires Revit running)
python tests/smoke_test.pyTroubleshooting
Problem | Solution |
Connection refused | Ensure Revit is running and add-in loaded (check ribbon) |
Method not found | Run |
Operation failed | Check that a document is open. Verify element IDs exist. |
Timeout | Close any blocking Revit dialogs. Click in the drawing area. |
Comparison with Other Revit MCP Implementations
Feature | RevitMCPBridge2026 | revit-mcp (archived) | revit-mcp-commandset (archived) |
Status | Active | Archived Feb 2026 | Archived Feb 2025 |
Endpoints | 705+ | ~30 | ~50 |
Transport | Named pipes | HTTP | HTTP |
Revit versions | 2025, 2026 | 2025 | 2025 |
Knowledge base | 113 files | None | None |
Autonomy levels | 5 (basic → full) | 1 | 1 |
Transaction safety | Built-in | Manual | Manual |
License
MIT License. See LICENSE.
Author
Weber Gouin — BIM Ops Studio
The first open-source bridge connecting AI to Autodesk Revit through the Model Context Protocol.
Contributing
See CONTRIBUTING.md for guidelines. Issues and PRs welcome.