pynet-mcp-bridge について
pynet-mcp-bridgeは、AIクライアントをPyNet対応のデスクトップBIMアプリに接続し、Pythonスクリプトの実行やワークフローの自動化を行います。リボンのモジュールやボタン、BIM Viewerも操作でき、実行前にスクリプトを検証します。
主な機能
- 01BIMアプリ内でのPythonスクリプト実行
- 02リボンモジュールとボタンの管理
- 03実行中インスタンスとプラグインの確認
- 04BIM Viewerと干渉表示の操作
- 05ホスト実行前のスクリプト検証
活用シーン
- 01開いているNavisworksモデルの照会や監査
- 02干渉テスト結果の集計
- 03スクリプト用リボンボタンの作成
- 04パッケージの読み込みとBIM干渉の強調表示
MCP 対応
接続したAIクライアントに、PyNetのシステム、UI、実行、出力ウィンドウ、BIM Viewerのツールを提供するMCPサーバーです。ホストアプリにスクリプトを渡す前に検証します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
PyNet Bridgeは、AI モデルがデスクトップ BIM ツールをリアルタイムで操作できるようにする実行レイヤーです。
自然言語 → Python → デスクトップ BIM ツール(Navisworks、Revit、AutoCAD、Rhino、Tekla Structures、RIB Presto)を接続し、AI による BIM ワークフローの自律的な生成、実行、改善を可能にします。
利用可能な連携先には、Navisworks Manage、Revit、Civil 3D、Rhino、Tekla Structures(2023~2026)、RIB Presto(予算、COM API)が含まれます。
このブリッジは、AI のロジックと各ホストのデスクトップ API をつなぐ役割を果たし、自然言語を使った動的な UI の作成、スクリプトの実行、BIM プロセスの自動化を可能にします。
🎬 デモとチュートリアル
PyNet Bridge の動作をご覧ください。これらの録画では、実際に稼働中の Autodesk モデル内で、自然言語から BIM 操作までのワークフロー全体を紹介しています。
| デモ | 説明 | 動画 |
|---|---|---|
| ⭐ 自律型 BIM 調整(Revit + Navisworks) | Claude Code がRevit と Navisworks を同時に操作し、モデルを監査し、許容差ルールに基づいて干渉を解決し、ジオメトリを生成し、API エラーをリアルタイムで自己修正します。 | 🎬 こちらから視聴 |
| PyNET + Codex 連携 | PyNet Bridge を Codex と連携するよう設定し、Navisworks に問い合わせる方法を紹介します。 | 🎬 こちらから視聴 |
⭐ 注目:自律型 BIM 調整
こちらの技術デモでは、Claude Code がNavisworks と Revit に同時に接続し、調整ワークフロー全体を最初から最後まで実行します。
- エンジニアリング基準をスキルとして適用 — AI が許容差ルールを適用し、自動承認する干渉を判定します。
- リアルタイムのデータ監査 — 調整前にモデルの整合性を検証し、不足しているパラメーター(
PYNET_Classification)を検出します。 - ジオメトリの自律生成 — Revit 内で建築用スリーブ(pasatubos)を直接生成し、配管の角度に合わせて正確な空間回転を行います。
- コードの自己修復 — 実行中に Revit API のデータ型例外が発生すると、失敗を分析し、その場でスクリプトを書き換えてタスクを完了します。
🔄 仕組み
- ユーザーがタスクを自然言語で説明します。
- AI が Python スクリプトを生成します。
- PyNet Bridge がスクリプトを検証して送信します。
- PyNet プラグインが Autodesk 内でスクリプトを実行します。
- 結果が AI に返されます。
これにより、AI はチャットボットから BIM の実行エンジンへと変わります。
🚀 PyNet Bridge の強み
- AI → アクション: AI が生成したコードを、Navisworks/Revit 内の実際の操作に変換します。
- リアルタイム実行: BIM 環境を離れることなく、スクリプトをすぐに実行できます。
- 動的な UI の作成: AI がその場でツール、ボタン、ワークフローを作成できます。
- 信頼性の高い通信: 完全にローカルで、高速かつ安定しています。
- モデルを認識する自動化: 稼働中の BIM モデルを直接操作します。
🛠️ インストール
✅ オプション A — 自動インストーラー(推奨)
PowerShellを開き、次を実行します。
irm https://raw.githubusercontent.com/RAEN-DT/PyNetBridge/main/install.ps1 | iex
次の処理が自動的に行われます。
- Python 3.10以降がインストールされていることを確認します
uvが見つからない場合はインストールし、続いてPyPIからuvを使ってpynet-mcp-bridgeをインストールします(pipは使用しません)- インストール済みのAIクライアントをすべて自動検出して設定します
- Claude Desktop(標準版およびMicrosoft Store版)
- Claude Code(VS Code拡張機能/CLI)
- Cline(VS Code拡張機能)
- Roo Code(VS Code拡張機能)
- Codex CLI(
~/.codex/config.toml)
pynet-mcp-bridgeパッケージには、次のものが含まれます。
| パッケージ | 用途 |
|---|---|
| pynet-mcp-bridge | PyNET経由でAIモデルとデスクトップBIMツールを接続するMCPサーバー |
| mcp[cli](1.x) | Model Context Protocol SDKおよびCLIツール |
| psutil | システムプロセスの検出(実行中のAutodeskインスタンスを検出します) |
変更を適用するには、インストール後にAIクライアントを再起動してください。
📦 Pythonライブラリ スターターパック(任意)
PyNETスクリプトで推奨されるPythonライブラリをインストールします。
irm https://raw.githubusercontent.com/RAEN-DT/PyNetBridge/main/install-libraries.ps1 | iex
次のライブラリがインストールされます。
| ライブラリ | 用途 |
|---|---|
| pandas | データ分析と操作 |
| plotly | インタラクティブなチャートと可視化 |
| matplotlib | 静的なプロットとグラフ |
| dash | PythonによるWebダッシュボード |
これらは許可されているPythonインポートに記載されているサードパーティライブラリです。標準ライブラリのモジュール(
json、sys、reなど)は、Pythonにあらかじめ含まれています。
前提条件
- PyNet PlatformプラグインがNavisworks/Revitにインストールされていること。
- Python 3.10以降 → python.org — Python 3.14に対応しています。
- uv → docs.astral.sh/uv — 必須です。 Claude Desktop拡張機能(
.mcpb)はuvx pynet-mcp-bridgeでサーバーを起動するため、uvがインストールされ、PATHに含まれている必要があります。winget install astral-sh.uvでインストールしてください。uvがない場合、拡張機能は起動に失敗します。 - Git → git-scm.com — VS Code拡張機能(Claude Code、Cline、Roo Code)が正しく動作するために必要です。
- Cline / Roo Codeの場合:VS Code → code.visualstudio.com
🔧 オプション B — 手動インストール
1. パッケージをインストールします。
uv tool install pynet-mcp-bridge
uvのみを使用してください。pipでインストールしないでください。pipでインストールしたコピーは、
pynet-bridgeランチャーとは別のインタープリターに配置されるため、アップグレードや修正が、実際に実行される環境に適用されないままになります。
2. Claude Desktopを設定します。
claude_desktop_config.jsonに次の内容を追加します。
- 標準版:
%APPDATA%\Claude\claude_desktop_config.json - Microsoft Store版:
%LOCALAPPDATA%\Packages\Claude_*\LocalCache\Roaming\Claude\claude_desktop_config.json
{
"mcpServers": {
"pynet-bridge": {
"command": "pynet-bridge",
"args": []
}
}
}
3. Claude Code(VS Code拡張機能)を設定します。
%USERPROFILE%\.claude.jsonに追加します。
{
"mcpServers": {
"pynet-bridge": {
"type": "stdio",
"command": "pynet-bridge",
"args": []
}
}
}
4. Clineを設定します。
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.jsonに追加します。
{
"mcpServers": {
"pynet-bridge": {
"type": "stdio",
"command": "pynet-bridge",
"args": []
}
}
}
5. Roo Codeを設定します。
%APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.jsonに追加します。
{
"mcpServers": {
"pynet-bridge": {
"type": "stdio",
"command": "pynet-bridge",
"args": []
}
}
}
6. Codex CLIを設定します。
%USERPROFILE%\.codex\config.tomlに追加します。
[mcp_servers.pynet-bridge]
command = "C:/Users/<user>/.local/bin/pynet-bridge.exe"
args = []
🛠️ 利用可能なMCPツール
これらのツールを使うと、UIの作成からスクリプトの実行、システムの監視まで、AIがPyNet環境を完全に制御できます。 接続すると、AIはPyNetツール一式を利用できるようになります。
🧠 AIが利用できる主な機能
🔍 システムと接続
- list_active_instances:アクティブなPyNet接続を持つ、実行中のAutodeskプロセスをシステム内で検索します。
- check_plugin_status:プラグインのリスナーが応答することを確認するハンドシェイク用のpingです。
🏗️ モジュール(タブ)の管理
- get_pynet_ui_layout:UI構造全体(ButtonsModulesとScriptButtons)を取得します。
- create_pynet_module:リボンに新しいカスタムタブ(ButtonsModule)を作成します。
- delete_pynet_module:モジュールとそのすべてのコンテンツを完全に削除します。
🔘 ボタン管理
- get_buttons_data:特定のモジュール ID のすべてのスクリプトボタンを一覧表示します。
- deploy_script_button:特定のモジュールに新しい ScriptButton をインストールします(Name、Script、Icon、Tooltip)。
- update_script_button:既存の ScriptButton のメタデータを更新するか、別のモジュールに移動します。
- delete_script_button:Id を指定して、モジュールから ScriptButton を完全に削除します。
💻 実行とコンソール制御
- send_command:PyNet エンジンでスクリプトを直接実行します(Target PID、Script Name、Content)。
- get_output_window_status:出力ウィンドウが現在利用可能か、表示されているかを確認します。
- configure_output_window:PyNet のログ/出力ウィンドウの表示を切り替えます。
🧊 BIM ビューアー制御(VS Code)
VS Code で開いている PyNet BIM ビューアーを操作します。読み込まれた .pnt パッケージから干渉データを読み取り、ローカル(127.0.0.1)接続を介して 3D ビューを制御します。データがマシンの外に送信されることはありません。
- viewer_status:PyNet BIM ビューアーが開いているかどうかを報告します(ポート、パッケージ、データディレクトリ)。
- viewer_list_clashes:読み込まれたパッケージの
clashes.jsonを読み取り、各干渉とそのpnt_id識別子を返します。 - viewer_load_package:開いているビューアーに
.pntを読み込み、モデルを送信して、概要を返します。 - viewer_highlight_clash:
pnt_idによって干渉ペアをハイライト表示します(要素 A は赤、要素 B は緑)。 - viewer_fit:ビューアー内のすべてのモデルにカメラを合わせます。
- viewer_clear:ビューアー内のハイライトとゴースト表示をクリアします。
💡 使用例
PyNet Bridge に接続した後、AI クライアントに提示できる実用的なプロンプトです。
例 1 — 実行中のモデルを検出してクエリする(読み取り専用)
プロンプト:「開いている Navisworks モデルに接続して、現在の選択に含まれる項目数を教えてください。」
AI は list_active_instances を呼び出して実行中の Navisworks プロセスを検索し(例:Navisworks (PID 12345))、続いて send_command を呼び出し、アクティブなドキュメントの選択を読み取る短い Python スクリプトを実行します。期待される出力: Current selection contains 42 items. のようなメッセージ。
例 2 — 干渉検出結果の概要を作成する
プロンプト:「開いているモデルの干渉テスト結果を要約し、件数を表にしてエクスポートしてください。」
AI は list_active_instances を呼び出し、続いて send_command を呼び出します。スクリプトはホワイトリストに登録された Autodesk.Navisworks.Clash アセンブリを使用して DocumentClash の結果を反復処理し、テストごとの件数を返します。期待される出力: Test 'Structure vs MEP': 17 active, 3 resolved のような表。
例 3 — カスタムリボンツールをその場で作成する
プロンプト:「『QA』という名前の新しいリボンタブを作成し、空のレイヤーを非表示にするスクリプトを実行するボタンを追加してください。」
AI は create_pynet_module を呼び出し(新しいモジュール ID を返します)、続いてボタン名、スクリプトパス、アイコン、ツールチップを指定して deploy_script_button を呼び出します。期待される出力: Button 'Hide Empty Layers' deployed to module QA. — Autodesk リボンにすぐ表示されます。
ℹ️
send_command/send_command_by_pathで送信されるすべてのスクリプトは、まず組み込みの静的アナライザーによって検証されます(安全な AI 実行 を参照)。インポート/呼び出しのホワイトリストに違反するスクリプトは、Autodesk に到達する前に拒否されます。
🛡️ 安全な AI 実行
PyNet Bridge には、AI が生成したすべてのスクリプトを実行前に安全かつ制御された状態に保つ、組み込みの検証レイヤーが含まれています。
✔ 安全でない操作を防止します
✔ 許可されていないシステムアクセスをブロックします
✔ BIM モデルとの制御された対話を保証します
AI の高い能力を保ちながらも、安全な範囲内で動作します
v1.1.1 以降、MCP サーバーには、スクリプトがホストアプリケーションに到達する前にすべて検証する組み込みの静的アナライザーが含まれています。すべてのスクリプトはブリッジレベルで解析および検査されます。拒否されたスクリプトが MCP サーバーの外に出ることはありません。
許可されている CLR アセンブリ
clr.AddReference で使用できる .NET 参照は、次のものに限られます。
- 共通:
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: 不要です。スクリプトは COM 経由で
__presto__スコープ変数を使って Presto を操作します - PyNet プラグイン:
Raen.Core.Pynet.*、Raen.{Product}.Pynet.*(バージョンは問いません。例:Raen.Core.Pynet.Resources、Raen.Navisworks.Pynet.2024、Raen.Civil3D.Pynet.2026、Raen.Rhino.Pynet.8、Raen.Tekla.Pynet.2026、Raen.Presto.Pynet)
許可されている Python インポート
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
許可されている Python サブモジュール
一部のモジュールはサブモジュール単位でのみ許可されており、危険な兄弟モジュールへのアクセスを防ぎます。
| 許可 | ブロック | 理由 |
|---|---|---|
http.server | http.client、http.cookiejar | ローカルでの HTTP サーバーは許可し、外部へのリクエストはブロックします |
ブロックされている Python インポート
os、subprocess、shutil、socket、ctypes、pickle、importlib、urllib、signal、multiprocessing、tempfile、glob、inspect、code、codeop
ブロックされている呼び出し
eval、exec、compile、__import__、getattr、setattr、delattr、globals、locals、vars、breakpoint、open
ブロックされている属性アクセス
__builtins__、__subclasses__、__globals__、__code__
これらのルールに違反するスクリプトは、説明的なエラーメッセージとともに直ちに拒否され、プラグインに送信されることはありません。
📂 プロジェクト構成
- pynet_mcp/:コア MCP サーバーのロジック(FastMCP)。
- pyproject.toml:パッケージ設定と依存関係の管理。
📥 はじめに
数分で自律型 BIM ワークフローの構築を始めましょう。
ブリッジをインストールして AI クライアントを接続し、自然言語をモデル内での実際の操作に変換します。
❓ よくある質問
インストール、設定、使用方法についてご質問がありますか? FAQ の全ページをご覧ください。
🔗 この MCP がエコシステム内で果たす役割
この MCP は、デスクトップ BIM ツール全体で AI 駆動の BIM 自動化を実現するために設計されたモジュール式システムの一部です。
このリポジトリは、次のコンポーネントと連携して動作するように設計されています。
- PyNet Platform → Python.NET を介して、Navisworks、Revit、Civil 3D、Rhino、Tekla Structures、RIB Presto 内でスクリプトを実行します
- PyNet Library → Python スクリプトライブラリを使って、AI にコンテキストを提供します
これらのコンポーネントを組み合わせることで、次の流れを実現します。
自然言語 → AI → Python スクリプト → PyNet → ホストアプリケーション → BIM 操作
| コンポーネント | リポジトリ | 目的 |
|---|---|---|
| PyNet Platform | PyNet | Navisworks、Revit、Civil 3D、Rhino、Tekla Structures、RIB Presto のプラグイン — Python.NET エンジンをホストします |
| PyNet Bridge (MCP) | このリポジトリ | MCP サーバー — 安全なスクリプト検証機能を備え、AI モデルを PyNET に接続します |
| PyNet Library | PyNetLibrary | スクリプトのリファレンスライブラリと AI コンテキスト |
🔒 プライバシーポリシー
PyNet Bridge は完全にお使いのローカルマシン上で動作します。個人データ、テレメトリー、分析データを収集、保存、送信することはありません。
- **データの収集なし:**サーバーから RAEN Digital Tools や第三者に情報が送信されることはありません。
- **ローカルのみの通信:**MCP サーバーと Autodesk 内で動作する PyNet プラグイン間の通信は、すべてお使いのマシン上で行われます。ネットワークソケットもリモートエンドポイントもなく、コンピューターの外にデータが出ることはありません。
- お使いのスクリプトとモデルデータはお使いのマシン上に保持され、接続した AI クライアントによってのみ処理されます。
プライバシーポリシー全文:https://privacy.raendt.com/
🆘 サポート
- 問題/バグ報告:GitHub Issues
- よくある質問:PyNet FAQs
- **お問い合わせ:**[email protected]
🖥️ プラットフォームのサポート
PyNet Bridge はWindows のみに対応しています。Windows 固有のローカル通信機能と、Windows 製品であるデスクトップ BIM アプリケーション(Navisworks、Revit、Civil 3D、Rhino、Tekla Structures、RIB Presto)に依存しています。macOS と Linux はサポートされていません。
📄 ライセンス
このプロジェクトは MIT License の下でライセンスされています。
mcp-name: io.github.RAEN-DT/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.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。