SN

shuotao/naviswork_mcp

部署与 DevOps

本页由 AI 翻译,技术细节请以原文为准。 查看原文

8 stars 13 forks 质量 57 趋势 16

AI 驅動的 Navisworks 自動化控制系統 透過 讓 Claude、Gemini、VS Code Copilot 等 AI 平台直接操控 Autodesk Navisworks。

概览

AI 驅動的 Navisworks 自動化控制系統 透過 讓 Claude、Gemini、VS Code Copilot 等 AI 平台直接操控 Autodesk Navisworks。 - — 發送自然語言指令,由 MCP 協議轉譯為工具呼叫 - — Node.js/TypeScript 中繼層,管理 WebSocket 連線與命令路由 - — C# Plugin,在 NW 主執行緒中安全執行 .NET API 操作 1. 開啟 Navisworks Manage 2025 2. 載入你的 NWF/NWD 模型 3. 在 面板找到 按鈕,點擊啟動 4. 看到提示 WebSocket 端口: 2233 即表示服務就緒 「找出所有的門」「選擇 Selection Set 裡的機電管線」「用搜尋集過濾」 - WebSocket 端口固定為 ,可透過環境變數 NAVIS_MCP_PORT 調整 - 所有命令在 Navisworks **中序列化執行,不會有並發衝突 - Plugin DLL 部署到 C:\Program Files\Autodesk\Navisworks Manage 2025\Plugins\NavisworksMCP\ - 日誌存放在 %APPDATA%\NavisworksMCP\Logs\

README

以下为原文 README 节选,完整内容请查看原文。

NavisworksMCP

AI 驅動的 Navisworks 自動化控制系統 透過 Model Context Protocol (MCP) 讓 Claude、Gemini、VS Code Copilot 等 AI 平台直接操控 Autodesk Navisworks。


系統架構

┌──────────────┐      stdio       ┌──────────────┐    WebSocket     ┌──────────────────┐
│  AI 平台      │ ◄──────────────► │  MCP Server  │ ◄──────────────► │  Navisworks 插件  │
│  Claude       │     MCP 協議     │  (Node.js)   │    port 2233    │  (C# Add-in)     │
│  Gemini       │                  │              │                  │                  │
│  VS Code      │                  │  index.ts    │                  │  Application.cs  │
└──────────────┘                  └──────────────┘                  └──────────────────┘

三層分離設計:

  • AI 平台 — 發送自然語言指令,由 MCP 協議轉譯為工具呼叫
  • MCP Server — Node.js/TypeScript 中繼層,管理 WebSocket 連線與命令路由
  • Navisworks Add-in — C# Plugin,在 NW 主執行緒中安全執行 .NET API 操作

快速開始

環境需求

項目 版本
Navisworks Manage 2025
.NET Framework 4.8
Node.js 20+ LTS
Visual Studio 2019+

安裝步驟

# 1. 一鍵安裝 MCP Server 依賴並編譯
scripts\setup.bat

# 2. 在 Visual Studio 開啟解決方案
#    → 確認 NavisworksMCP.csproj 中的 NavisworksPath 正確
#    → Build Release

# 3. 部署 Plugin(需要管理員權限)
powershell -ExecutionPolicy Bypass -File scripts\install-addon.ps1

啟動服務

  1. 開啟 Navisworks Manage 2025
  2. 載入你的 NWF/NWD 模型
  3. 在 Add-ins 面板找到 “MCP 服務 (開/關)” 按鈕,點擊啟動
  4. 看到提示 WebSocket 端口: 2233 即表示服務就緒

連接 AI 平台

VS Code / Claude Code: 已配置 .vscode/mcp.json,開箱即用

Claude Desktop: 在設定中加入:

{
  "mcpServers": {
    "navisworks": {
      "command": "node",
      "args": ["C:/Users/你的帳號/DESKTOP/NV_mcp/MCP-Server/build/index.js"],
      "env": { "NAVIS_MCP_PORT": "2233" }
    }
  }
}

使用模式

NavisworksMCP 提供 27 個工具,設計為五步驟工作流程:

Step 1 — 了解模型

「這個模型有什麼?裡面有幾個來源檔案?主要分類是哪些?」

get_document_info          → 文件名稱、單位、模型數量
get_model_info             → 各來源檔案的根節點與子項目數
get_model_statistics       → 按分類/圖層/來源檔案統計數量  ★ 核心工具
get_all_categories         → 列出所有屬性分類名稱
get_model_tree             → 展開模型樹結構(可指定深度)

典型對話:

用戶:「幫我分析一下這個模型的組成」
AI 呼叫:get_model_statistics(groupBy: "sourceFile")
         → 回傳:Architectural.nwc (3,200 items), MEP.nwc (1,800 items), Structure.nwc (950 items)
AI 呼叫:get_model_statistics(groupBy: "classDisplayName")
         → 回傳:Wall (420), Door (180), Pipe (650), Duct (320)...

Step 2 — 篩選與定位

「找出所有的門」「選擇 Selection Set 裡的機電管線」「用搜尋集過濾」

get_selection_sets         → 列出所有已儲存的選擇集
get_selection_set_items    → 讀取 Set 內容(不改變選擇)   ★ 安全讀取
execute_search_set         → 執行 Search Set 並回傳結果    ★ 搜尋集
search_items               → 自定義搜尋(按分類+屬性+值)
select_items_by_search     → 搜尋並選擇項目
select_items_by_set        → 選擇指定 Set 的所有項目
clear_selection            → 清除選擇

典型對話:

用戶:「模型裡有哪些選擇集?」
AI 呼叫:get_selection_sets
         → 回傳:MEP-Piping (Search Set, 650 items), Clash-Group-A (120 items)...

用戶:「看一下 MEP-Piping 裡面有什麼」
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "navisworks": { "command": "node", "args": ["C:/Users/你的帳號/DESKTOP/NV_mcp/MCP-Server/build/index.js"], "env": { "NAVIS_MCP_PORT": "2233" } } } }