A single MCP client β Claude Desktop, VS Code, GitHub Copilot, or a custom
agent β talks to one Python hub, and the hub routes each call to whichever
app the task actually needs: draw geometry in Rhino, query parameters in
Revit, resolve clashes in Navisworks, publish a dashboard to Power BI. The
agent plans the workflow once; the bridge is what lets it reach every app
without you being the one copying data between them.
The Python hub handles MCP communication and routes each request to the relevant
desktop, headless, cloud, or compute provider:
- Revit: Native C# add-in (Revit 2024-2027) executing on the main thread via
ExternalEvent.
- Navisworks Manage: Native C# add-in (Navisworks 2024-2027) exposing the API over a local bridge (in progress).
- Rhino/Grasshopper: Connects to the Rhino Bridge Add-in over HTTP localhost:3004.
- Speckle: Native Python provider integrating Specklepy V3 for seamless model pushing to Power BI.
- IfcOpenShell: Headless IFC semantic extraction and parsing.
Platform Status
The status below reflects the AEC Model Bridge system blueprint as of June 2026.
In-progress integrations are implemented as routing infrastructure but require further registration or workflow integration.
Available Now
Revit, Rhino/Grasshopper, IfcOpenShell, and Speckle are available integrations. The Revit C# add-in (Revit 2024-2027) executes commands on the main thread. Rhino connects to the Rhino Bridge Add-in over HTTP on port 3004. IfcOpenShell provides headless IFC parsing, and Speckle integrates model pushing via Specklepy V3.
In Progress
Navisworks Manage is currently in progress; while the C# add-in routing infrastructure is in place, the provider is not yet registered in the shipped hub. Power BI is also in progress, with the provider and tool in place but not yet integrated into the active hub runtime.
Coming Soon
This wave adds Excel workbook round trips and a Parquet/DuckDB data plane for cross-platform reporting.
Highlights
- 100+ MCP tools for model authoring, documentation, parameters, views, sheets, exports, and QA.
- Native Revit & Navisworks add-ins with no Dynamo or pyRevit dependencies.
- Multi-platform synchronization: Cross-query Navisworks clash results, Revit parameters, and Rhino models dynamically.
- Speckle and PowerBI automated data handoffs.
- Async job orchestration and centralized PII redaction.
- Reflection and in-process Python for advanced API workflows.
- Localhost-only bridge by default for absolute security.
- Mock mode for development and automated testing without Revit.
How It Works
flowchart TD
subgraph group_clients["Clients and UI"]
node_panel_ui["Bridge Panel<br/>[app.js]"]
end
subgraph group_hub["Hub and Governance"]
node_mcp_hub["MCP Hub<br/>[mcp_server.py]"]
node_provider_registry["Provider Registry<br/>[registry.py]"]
node_job_manager["Job Manager<br/>[jobs.py]"]
node_security_controls["Security Controls<br/>[workspace.py]"]
node_audit_log["Audit Log<br/>[audit.py]"]
end
subgraph group_revit["Revit Runtime"]
node_revit_bridge_client["Bridge Client<br/>[client.py]"]
node_revit_addin["Revit Add-in<br/>[BridgeServer.cs]"]
node_external_executor["External Executor"]
node_revit_commands["Revit Commands"]
node_revit_model[("Revit Model")]
end
subgraph group_providers["Integration Providers"]
node_revit_provider["Revit Provider<br/>[revit.py]"]
node_rhino_provider["Rhino Provider<br/>[rhino.py]"]
node_rhino_addin["Rhino Add-in<br/>[BridgeCommands.cs]"]
node_ifc_provider["IFC Provider<br/>[ifc.py]"]
node_speckle_provider["Speckle Provider<br/>[cloud.py]"]
node_navisworks_provider["Navisworks Provider<br/>[navisworks.py]"]
node_navisworks_addin["Navisworks Add-in<br/>[BridgeServer.cs]"]
node_powerbi_provider["Power BI Provider<br/>[powerbi.py]"]
node_powerbi_tool["Power BI Tool<br/>[Program.cs]"]
end
subgraph group_intelligence["AEC Intelligence"]
node_semantic_provider["Semantic Provider"]
node_semantic_engine["Semantic Engine<br/>[engine.py]"]
node_revit_modules["Revit Tool Modules"]
node_approval_provider["Approval Provider"]
end
node_mcp_client(("MCP Client"))
node_mcp_client -->|"sends requests"| node_mcp_hub
node_panel_ui -->|"shows results"| node_mcp_hub
node_mcp_hub -->|"validates access"| node_security_controls
node_mcp_hub -->|"records calls"| node_audit_log
node_mcp_hub -->|"schedules jobs"| node_job_manager
node_mcp_hub -->|"dispatches tools"| node_provider_registry
node_provider_registry -->|"routes Revit"| node_revit_provider
node_provider_registry -->|"routes Rhino"| node_rhino_provider
node_provider_registry -->|"routes IFC"| node_ifc_provider
node_provider_registry -->|"routes Speckle"| node_speckle_provider
node_provider_registry -->|"routes semantics"| node_semantic_provider
node_provider_registry -->|"routes approvals"| node_approval_provider
node_provider_registry -.->|"routes clashes"| node_navisworks_provider
node_provider_registry -.->|"routes dashboards"| node_powerbi_provider
node_revit_provider -->|"calls tools"| node_revit_bridge_client
node_revit_bridge_client -->|"uses HTTP"| node_revit_addin
node_revit_addin -->|"queues commands"| node_external_executor
node_external_executor -->|"executes tools"| node_revit_commands
node_revit_commands -->|"reads and writes"| node_revit_model
node_revit_addin -->|"opens panel"| node_panel_ui
node_rhino_provider -->|"uses HTTP"| node_rhino_addin
node_ifc_provider -->|"extracts IFC"| node_semantic_engine
node_speckle_provider -->|"pushes models"| node_semantic_engine
node_navisworks_provider -.->|"uses bridge"| node_navisworks_addin
node_powerbi_provider -.->|"executes queries"| node_powerbi_tool
node_semantic_provider -->|"queries graph"| node_semantic_engine
node_approval_provider -->|"updates queue"| node_panel_ui