PyNet Bridge
PyNet Bridge MCP server enables AI models to control Autodesk applications (Navisworks, Revit, AutoCAD) in real-time by executing validated Python scripts and managing the PyNet plugin UI.
System Monitoring: Scan for running Autodesk instances with active PyNet listeners (
list_active_instances) and verify plugin responsiveness via a handshake ping (check_plugin_status).Script Execution: Send and execute Python scripts directly inside the PyNet engine within an Autodesk application (
send_command), targeting a specific process by PID, with built-in static analysis blocking unsafe imports, calls, and attribute access before execution.UI Layout Inspection: Retrieve the full PyNet ribbon UI structure including all modules and buttons (
get_pynet_ui_layout), or list buttons for a specific module (get_buttons_data).Module (Tab) Management: Create new custom ribbon tabs (
create_pynet_module) or permanently delete existing ones along with their contents (delete_pynet_module).Script Button Management: Deploy new script buttons with a name, script path, icon, and tooltip (
deploy_script_button); update metadata or move buttons between modules (update_script_button); or permanently remove buttons (delete_script_button).Output Window Control: Check visibility of the PyNet log/output window (
get_output_window_status) and toggle it on or off (configure_output_window).
Enables interaction with Autodesk Tools (Navisworks and Revit) through the PyNet Platform, allowing for dynamic UI deployment (custom Ribbon tabs and buttons), Python script execution, BIM process automation, and real-time detection of active Autodesk instances.
PyNet Bridge is the execution layer that allows AI models to control Autodesk tools in real-time.
It connects Natural Language â Python â Autodesk desktop tools (Navisworks, Revit, AutoCAD), enabling AI to generate, execute, and refine BIM workflows autonomously.
Available integrations include Navisworks Manage, Revit, and Civil 3D.
This bridge acts as the connective tissue between AI logic and Autodesk desktop APIs, allowing for dynamic UI creation, script execution, and BIM process automation using natural language.
đŦ Demos & Tutorials
See PyNet Bridge in action â these recordings show the full natural-language â BIM-action workflow inside live Autodesk models.
Demo | Description | Video |
â Autonomous BIM Coordination (Revit + Navisworks) | Claude Code drives Revit and Navisworks simultaneously to audit models, resolve clashes by tolerance rules, generate geometry, and self-correct API errors in real time. | |
PyNET + Codex Integration | How to configure PyNet Bridge with Codex and query into Navisworks. |
â Featured: Autonomous BIM Coordination
In this technical demo, Claude Code connects to Navisworks and Revit at the same time to run a full coordination workflow end-to-end:
Engineering criteria as a Skill â the AI applies tolerance rules to decide which interferences to auto-approve.
Real-time data auditing â validates model integrity and detects missing parameters (
PYNET_Classification) before coordinating.Autonomous geometry generation â generates architectural sleeves (pasatubos) directly in Revit, with precise spatial rotation to match pipe angles.
Self-healing code â hits a live Revit API data-type exception, analyzes the failure, rewrites the script on the fly, and completes the task.
Related MCP server: ACP-MCP-Server
đ How it works
The user describes a task in natural language.
The AI generates a Python script.
PyNet Bridge validates and sends the script.
The PyNet plugin executes it inside Autodesk.
Results are returned back to the AI.
This is what turns AI from a chatbot into an execution engine for BIM.
đ What makes PyNet Bridge powerful
AI â Action: Turns AI-generated code into real actions inside Navisworks/Revit
Real-time Execution: Run scripts instantly without leaving the BIM environment
Dynamic UI Creation: Let AI create tools, buttons and workflows on the fly
Reliable Communication: Fast and stable local IPC
Model-Aware Automation: Operates directly on live BIM models
đ ī¸ Installation
â Option A â Automatic installer (recommended)
Open PowerShell and run:
irm https://raw.githubusercontent.com/Rafael-NunezDeArenas/PyNetBridge/main/install.ps1 | iexThis will automatically:
Check Python 3.10+ is installed
Install
pynet-mcp-bridgefrom PyPI (viauvorpip)Auto-detect and configure all installed AI clients:
Claude Desktop (standard and Microsoft Store versions)
Claude Code (VS Code extension / CLI)
Cline (VS Code extension)
Roo Code (VS Code extension)
Codex CLI (
~/.codex/config.toml)
The pynet-mcp-bridge package includes:
Package | Purpose |
pynet-mcp-bridge | MCP server that connects AI models with Autodesk tools via PyNET |
mcp[cli] | Model Context Protocol SDK and CLI tools |
fastmcp | High-level MCP server framework |
psutil | System process detection (finds running Autodesk instances) |
Restart your AI client(s) after installation to apply changes.
đĻ Python Libraries Starter Pack (optional)
Install the recommended Python libraries for Navisworks, Revit and Civil 3D scripting with PyNET:
irm https://raw.githubusercontent.com/Rafael-NunezDeArenas/PyNetBridge/main/install-libraries.ps1 | iexThis installs:
Library | Purpose |
pandas | Data analysis and manipulation |
plotly | Interactive charts and visualizations |
matplotlib | Static plots and graphs |
dash | Web dashboards from Python |
These are the third-party libraries listed under Allowed Python Imports. Standard library modules (
json,sys,re, etc.) are already included with Python.
Prerequisites
PyNet Platform plugin installed in Navisworks/Revit.
Python 3.10 or higher â python.org
â ī¸ Python 3.14 is not yet supported. The
pythonnetruntime currently supports Python 3.7 through 3.13. If you encounter aSystem.NotSupportedExceptionmentioning an unsupported ABI version, install Python 3.12 or 3.13 and configure PyNet to use it.uv â docs.astral.sh/uv â required. The Claude Desktop extension (
.mcpb) launches the server withuvx pynet-mcp-bridge, souvmust be installed and on yourPATH. Install it withwinget install astral-sh.uv. Withoutuv, the extension will fail to start.Git â git-scm.com â required for VS Code extensions (Claude Code, Cline, Roo Code) to function correctly.
For Cline / Roo Code: VS Code â code.visualstudio.com
đ§ Option B â Manual installation
1. Install the package:
uv tool install pynet-mcp-bridgeOr with pip:
pip install pynet-mcp-bridge2. Configure Claude Desktop:
Add the following to your claude_desktop_config.json:
Standard:
%APPDATA%\Claude\claude_desktop_config.jsonMicrosoft Store:
%LOCALAPPDATA%\Packages\Claude_*\LocalCache\Roaming\Claude\claude_desktop_config.json
{
"mcpServers": {
"pynet-bridge": {
"command": "pynet-bridge",
"args": []
}
}
}3. Configure Claude Code (VS Code extension):
Add to %USERPROFILE%\.claude.json:
{
"mcpServers": {
"pynet-bridge": {
"type": "stdio",
"command": "pynet-bridge",
"args": []
}
}
}4. Configure Cline:
Add to %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json:
{
"mcpServers": {
"pynet-bridge": {
"type": "stdio",
"command": "pynet-bridge",
"args": []
}
}
}5. Configure Roo Code:
Add to %APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.json:
{
"mcpServers": {
"pynet-bridge": {
"type": "stdio",
"command": "pynet-bridge",
"args": []
}
}
}6. Configure Codex CLI:
Add to %USERPROFILE%\.codex\config.toml:
[mcp_servers.pynet-bridge]
command = "C:/Users/<user>/.local/bin/pynet-bridge.exe"
args = []đ ī¸ Available MCP Tools
These tools allow AI to fully control the PyNet environment, from UI creation to script execution and system monitoring. Once connected, the AI will have access to the full suite of PyNet tools:
đ§ Core capabilities exposed to AI
đ System & Connection
list_active_instances: Scans the system for running Autodesk processes with an active PyNet connection.
check_plugin_status: Handshake ping to verify the plugin listener is responsive.
đī¸ Module (Tab) Management
get_pynet_ui_layout: Fetches the full UI structure (ButtonsModules and ScriptButtons).
create_pynet_module: Creates a new custom Tab (ButtonsModule) in the Ribbon.
delete_pynet_module: Permanently deletes a module and all its contents.
đ Button Management
get_buttons_data: Lists all script buttons for a specific module ID.
deploy_script_button: Installs a new ScriptButton into a specific module (Name, Script, Icon, Tooltip).
update_script_button: Updates metadata for an existing ScriptButton or moves it to another module.
delete_script_button: Permanently removes a ScriptButton from a module by Id.
đģ Execution & Console Control
send_command: Direct script execution in the PyNet engine (Target PID, Script Name, Content).
get_output_window_status: Checks if the output window is currently available/visible.
configure_output_window: Toggles the visibility of the PyNet log/output window.
đĄ Usage Examples
These are realistic prompts you can give your AI client once PyNet Bridge is connected.
Example 1 â Discover a running model and query it (read-only)
Prompt: "Connect to my open Navisworks model and tell me how many items are in the current selection."
The AI calls list_active_instances to find the running Navisworks process (e.g. Navisworks (PID 12345)), then calls send_command with a short Python script that reads the active document's selection. Expected output: a message like Current selection contains 42 items.
Example 2 â Run a clash-detection summary
Prompt: "Give me a summary of clash test results in the open model and export the counts as a table."
The AI calls list_active_instances, then send_command with a script that iterates the DocumentClash results using the whitelisted Autodesk.Navisworks.Clash assembly and returns counts per test. Expected output: a table such as Test 'Structure vs MEP': 17 active, 3 resolved.
Example 3 â Build a custom ribbon tool on the fly
Prompt: "Create a new ribbon tab called 'QA' and add a button that runs my hide-empty-layers script."
The AI calls create_pynet_module (returns a new module ID), then deploy_script_button with the button name, script path, icon and tooltip. Expected output: Button 'Hide Empty Layers' deployed to module QA. â visible immediately in the Autodesk ribbon.
âšī¸ Every script sent via
send_command/send_command_by_pathis first validated by the built-in static analyzer (see Safe AI Execution). Scripts that violate the import/call whitelist are rejected before reaching Autodesk.
đĄī¸ Safe AI Execution
PyNet Bridge includes a built-in validation layer that ensures all AI-generated scripts are safe and controlled before execution.
â Prevents unsafe operations
â Blocks unauthorized system access
â Guarantees controlled interaction with BIM models
AI remains powerful, but within safe boundaries
Starting from v1.1.1, the MCP server includes a built-in static analyzer that validates every script before it reaches the Autodesk host. All scripts are parsed and inspected at the bridge level â rejected scripts never leave the MCP server.
Allowed CLR Assemblies
Only these .NET references are permitted via clr.AddReference:
Common:
System,System.Windows.Forms,System.Drawing,System.Collections.GenericNavisworks:
Autodesk.Navisworks.Api,.ComApi,.Interop.ComApi,.ClashRevit:
RevitAPI,RevitAPIUIAutoCAD / Civil 3D:
AcMgd,AcCoreMgd,AcDbMgd,AecBaseMgd,AecPropDataMgd,AeccDbMgdPyNet plugins:
Raen.Core.Pynet.*,Raen.{Product}.Pynet.*(any version â e.g.Raen.Core.Pynet.Resources,Raen.Navisworks.Pynet.2024,Raen.Civil3D.Pynet.2026)
Allowed Python Imports
clr, sys, json, re, time, datetime, pathlib, typing, threading, collections, xml, math, pandas, plotly, matplotlib, dash, webbrowser, psutil, functools
Allowed Python Submodules
Some modules are allowed at the submodule level only, preventing access to dangerous siblings:
Allowed | Blocked | Reason |
|
| Allow local HTTP serving, block outbound requests |
Blocked Python Imports
os, subprocess, shutil, socket, ctypes, pickle, importlib, urllib, signal, multiprocessing, tempfile, glob, inspect, code, codeop
Blocked Calls
eval, exec, compile, __import__, getattr, setattr, delattr, globals, locals, vars, breakpoint, open
Blocked Attribute Access
__builtins__, __subclasses__, __globals__, __code__
Any script that violates these rules is immediately rejected with a descriptive error message, without ever being sent to the plugin.
đ Project Structure
pynet_mcp/: Core MCP server logic (FastMCP).
pyproject.toml: Package configuration and dependency management.
đĨ Getting Started
Start building autonomous BIM workflows in minutes.
Install the bridge, connect your AI client, and turn natural language into real actions inside your models.
â FAQs
Have questions about installation, configuration, or usage? Check the full FAQ page:
đ PyNet FAQs
đ How This MCP Fits Into the Ecosystem
This MCP is part of a modular system designed to enable AI-driven BIM automation across Autodesk tools.
This repository is designed to work alongside:
PyNet Platform â Executes scripts inside Navisworks, Revit & Civil 3D via Python.NET
PyNet Library â Gives the AI context with a Python scripts library
Together, these components enable:
Natural Language â AI â Python Script â PyNet â Autodesk â BIM Action
Component | Repository | Purpose |
PyNet Platform | Navisworks, Revit & Civil 3D plugin â hosts the Python.NET engine | |
PyNet Bridge (MCP) | This repo | MCP server - connects AI models to PyNET with including secure scripts validation |
PyNet Library | Script reference library and AI context |
đ Privacy Policy
PyNet Bridge runs entirely on your local machine. It does not collect, store, or transmit any personal data, telemetry, or analytics.
No data collection: The server does not send any information to RAEN Digital Tools or any third party.
Local-only communication: All communication happens over a local Windows named pipe (IPC) between the MCP server and the PyNet plugin running inside Autodesk. Nothing leaves your computer.
Your scripts and model data stay on your machine and are only processed by the AI client you have connected.
Full privacy policy: https://privacy.raendt.com/
đ Support
Issues / bug reports: GitHub Issues
FAQ: PyNet FAQs
Contact: info@raendt.com
đĨī¸ Platform Support
PyNet Bridge is Windows-only. It depends on Windows named pipes for IPC and on Autodesk desktop applications (Navisworks, Revit, Civil 3D), which are Windows products. macOS and Linux are not supported.
đ License
This project is licensed under the MIT License.
mcp-name: io.github.Rafael-NunezDeArenas/pynet-mcp-bridge
Š 2026 RAEN Digital Tools. Todos los derechos reservados. Obra inscrita en el Registro de la Propiedad Intelectual de la Comunidad de Madrid.
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Rafael-NunezDeArenas/PyNetBridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server