Pynet Mcp Bridge

io.github.rafa2403nunez-droid由 GitHub 帳號 rafa2403nunez-droid 發布v1.4.5更新於 Oct 25, 2026

MCP implementation to connect AI agents with the PyNet Platform for BIM/Engineering automation.

已驗證STDIO僅桌面開發者工具媒體與設計

概覽

AI 產生的概覽

本機 MCP 橋接服務,讓 AI 助理在 Navisworks、Revit、Civil 3D、Rhino、Tekla 等桌面 BIM 軟體中產生並執行 Python 腳本。

可以做什麼
  • 尋找執行中的 BIM 宿主程序並檢查 PyNet 外掛連線狀態
  • 在宿主介面建立、更新與刪除功能區索引標籤及腳本按鈕
  • 將 Python 腳本送往指定程序執行,並控制輸出視窗顯示
  • 讀取已載入 .pnt 套件中的衝突資料,載入套件、標示衝突、調整視圖與清除標示
適用情境
適合在 Windows 上使用 Autodesk 等桌面 BIM 工具的使用者,希望助理檢查即時模型、執行協調或衝突檢查流程,並依自然語言需求建立自訂功能區工具。
執行需求
僅支援 Windows,目標 BIM 軟體需安裝 PyNet Platform 外掛。需要 Python 3.10 以上版本,並在 PATH 中安裝 uv;套件須以 uv 從 PyPI 安裝,不可使用 pip。需設定支援 stdio 的 AI 用戶端(Claude Desktop、Claude Code、Cline、Roo Code 或 Codex CLI)。未宣告任何 API 金鑰或環境變數。
安裝前請注意
助理可在真實 BIM 模型中執行 AI 產生的 Python 程式碼,並可永久刪除模組與腳本按鈕。內建靜態分析器會限制匯入、呼叫與 .NET 參照,但腳本仍會作用於真實專案檔案,請謹慎操作並保留備份。README 建議的安裝方式會將遠端 PowerShell 腳本直接交給執行;README 稱所有通訊均在本機進行。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Pynet Mcp Bridge,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[圖片]

[Release] [PyPI] [Python] [Windows] [Hosts] [MCP] [License]

PyNet Bridge is the execution layer that allows AI models to control desktop BIM tools in real-time.

It connects Natural Language → Python → desktop BIM tools (Navisworks, Revit, AutoCAD, Rhino, Tekla Structures, RIB Presto), enabling AI to generate, execute, and refine BIM workflows autonomously.

Available integrations include Navisworks Manage, Revit, Civil 3D, Rhino, Tekla Structures (2023–2026) and RIB Presto (budgets, COM API).

This bridge acts as the connective tissue between AI logic and the desktop APIs of those hosts, 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.

DemoDescriptionVideo
⭐ 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.🎬 Watch here
PyNET + Codex IntegrationHow to configure PyNet Bridge with Codex and query into Navisworks.🎬 Watch here

⭐ 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.

🔄 How it works

  1. The user describes a task in natural language.
  2. The AI generates a Python script.
  3. PyNet Bridge validates and sends the script.
  4. The PyNet plugin executes it inside Autodesk.
  5. 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, entirely local
  • Model-Aware Automation: Operates directly on live BIM models

🛠️ Installation

✅ Option A — Automatic installer (recommended)

Open PowerShell and run:

powershell
irm https://raw.githubusercontent.com/RAEN-DT/PyNetBridge/main/install.ps1 | iex

This will automatically:

  1. Check Python 3.10+ is installed
  2. Install uv if missing, then pynet-mcp-bridge from PyPI with uv (never pip)
  3. 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:

PackagePurpose
pynet-mcp-bridgeMCP server that connects AI models with desktop BIM tools via PyNET
mcp[cli] (1.x)Model Context Protocol SDK and CLI tools
psutilSystem 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 PyNET scripting:

powershell
irm https://raw.githubusercontent.com/RAEN-DT/PyNetBridge/main/install-libraries.ps1 | iex

This installs:

LibraryPurpose
pandasData analysis and manipulation
plotlyInteractive charts and visualizations
matplotlibStatic plots and graphs
dashWeb 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 supported.
  • uv → docs.astral.sh/uv — required. The Claude Desktop extension (.mcpb) launches the server with uvx pynet-mcp-bridge, so uv must be installed and on your PATH. Install it with winget install astral-sh.uv. Without uv, 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:

bash
uv tool install pynet-mcp-bridge

Use uv only — do not install with pip. A pip copy lands in a different interpreter from the pynet-bridge launcher, so upgrades and fixes silently miss the environment that actually runs.

2. Configure Claude Desktop:

Add the following to your claude_desktop_config.json:

  • Standard: %APPDATA%\Claude\claude_desktop_config.json
  • Microsoft Store: %LOCALAPPDATA%\Packages\Claude_*\LocalCache\Roaming\Claude\claude_desktop_config.json
json
{  "mcpServers": {    "pynet-bridge": {      "command": "pynet-bridge",      "args": []    }  }}

3. Configure Claude Code (VS Code extension):

Add to %USERPROFILE%\.claude.json:

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:

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:

json
{  "mcpServers": {    "pynet-bridge": {      "type": "stdio",      "command": "pynet-bridge",      "args": []    }  }}

6. Configure Codex CLI:

Add to %USERPROFILE%\.codex\config.toml:

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.

🧊 BIM Viewer Control (VS Code)

Drives the PyNet BIM Viewer open in VS Code. Reads clash data from the loaded .pnt package and controls the 3D view over a local (127.0.0.1) connection — nothing leaves your machine.

  • viewer_status: Reports whether a PyNet BIM Viewer is open (port, package, data dir).
  • viewer_list_clashes: Reads the loaded package's clashes.json and returns each clash with its pnt_id identifiers.
  • viewer_load_package: Loads a .pnt into the open viewer, pushes the models, and returns a summary.
  • viewer_highlight_clash: Highlights a clash pair by pnt_id (element A red, element B green).
  • viewer_fit: Fits the camera to all models in the viewer.
  • viewer_clear: Clears highlights and ghosting in the viewer.

💡 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_path is 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 host application. 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.Generic
  • Navisworks: Autodesk.Navisworks.Api, .ComApi, .Interop.ComApi, .Clash
  • Revit: RevitAPI, RevitAPIUI
  • AutoCAD / Civil 3D / Map 3D: AcMgd, AcCoreMgd, AcDbMgd, AecBaseMgd, AecPropDataMgd, AeccDbMgd, ManagedMapApi
  • Rhino: RhinoCommon, Rhino.UI, Eto
  • Tekla Structures: Tekla.Structures, .Model, .Drawing, .Datatype, .Dialog, .Catalogs, .Plugins
  • RIB Presto: none needed — scripts drive Presto through the __presto__ scope variable (COM)
  • PyNet plugins: Raen.Core.Pynet.*, Raen.{Product}.Pynet.* (any version — e.g. Raen.Core.Pynet.Resources, Raen.Navisworks.Pynet.2024, Raen.Civil3D.Pynet.2026, Raen.Rhino.Pynet.8, Raen.Tekla.Pynet.2026, Raen.Presto.Pynet)

Allowed Python Imports

clr, sys, json, re, time, datetime, pathlib, typing, threading, collections, xml, math, pandas, plotly, matplotlib, dash, webbrowser, psutil, functools, openpyxl, uuid, zipfile, io, mimetypes, difflib, csv, ifcopenshell, numpy, shapely, qgis, processing, pypdf, docx, rhinoscriptsyntax, scriptcontext

Allowed Python Submodules

Some modules are allowed at the submodule level only, preventing access to dangerous siblings:

AllowedBlockedReason
http.serverhttp.client, http.cookiejarAllow 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 desktop BIM tools.

This repository is designed to work alongside:

  • PyNet Platform → Executes scripts inside Navisworks, Revit, Civil 3D, Rhino, Tekla Structures & RIB Presto via Python.NET
  • PyNet Library → Gives the AI context with a Python scripts library

Together, these components enable:

Natural Language → AI → Python Script → PyNet → Host application → BIM Action

ComponentRepositoryPurpose
PyNet PlatformPyNetNavisworks, Revit, Civil 3D, Rhino, Tekla Structures & RIB Presto plugin — hosts the Python.NET engine
PyNet Bridge (MCP)This repoMCP server - connects AI models to PyNET with including secure scripts validation
PyNet LibraryPyNetLibraryScript 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 between the MCP server and the PyNet plugin running inside Autodesk stays on your machine. No network sockets, no remote endpoints — 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

🖥️ Platform Support

PyNet Bridge is Windows-only. It relies on Windows-specific local communication facilities and on desktop BIM applications (Navisworks, Revit, Civil 3D, Rhino, Tekla Structures, RIB Presto), which are Windows products. macOS and Linux are not supported.

📄 License

This project is licensed under the MIT License.


mcp-name: io.github.RAEN-DT/pynet-mcp-bridge

[RAEN Digital Tools]

© 2026 RAEN Digital Tools · Todos los derechos reservados.
Obra inscrita en el Registro de la Propiedad Intelectual de la Comunidad de Madrid.

來源:README.md,提交 be418d5

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.4.5最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分