INSTALL 安裝 → 第一次唯讀查詢

安裝到你的 Revit,完成第一次查詢

本頁帶你從零裝好 Revit MCP,最後只用兩個查詢工具讀一次目前開啟的專案與作用視圖,不修改模型。

安裝腳本 setup.ps1 偵測已安裝的 Revit 2022–2026 並部署 Add-in
SECTION 01 · 前提條件

先確認這些

項目需求檢查
OS Windows 10 或更新版本 winver
Revit Autodesk Revit 2022、2023、2024、2025、2026 任一 查 %ProgramFiles%\Autodesk\Revit ...
.NET Revit 2022–2024 使用 .NET Framework 4.8;Revit 2025–2026 使用 .NET 8 dotnet --list-sdks
Node.js LTS,建議 20.x 或更新版本(MCP Server 使用) node --version
git 用來下載專案(沒有的話,先照首次安裝排錯指南安裝) git --version
port 8964 未被其他程式佔用(Revit 端 WebSocket 服務預設埠) netstat -ano | findstr 8964
SECTION 02 · 一鍵安裝

新機器走這條

新手建議使用 scripts/setup.ps1。腳本會檢查環境、安裝相依套件、編譯 MCP Server、編譯並部署 Revit Add-in,並協助設定常見 AI Client。

安裝腳本編譯 Add-in 並部署到 Revit Addins 資料夾的架構示意圖
  1. 下載 repo

    git clone https://github.com/shuotao/REVIT_MCP_study.git

    下載完成後進入專案資料夾:cd REVIT_MCP_study。後面的指令都從這個 repo 根目錄執行。

    專案頁:github.com/shuotao/REVIT_MCP_study。

  2. 在 PowerShell 執行安裝腳本

    在 repo 根目錄(上一步的 REVIT_MCP_study 資料夾)執行 .\scripts\setup.ps1。AI Agent 或非互動模式可用 powershell -ExecutionPolicy Bypass -File scripts/setup.ps1 -NonInteractive -RevitVersions "2024,2025"。

  3. 依提示選擇 Revit 版本

    每個版本輸出 MCP/bin/Release.R{YY}/RevitMCP.dll(組態對照見下方 Build Matrix)。

  4. 選擇要設定哪些 AI Client

    腳本會協助設定常見 AI Client;各 Client 的設定位置見AI Client 設定。

  5. 重啟 AI Client 與 Revit

    啟動或重啟 AI Client,讓它載入 MCP Server;Revit 重新啟動後才會載入新部署的 Add-in。

貼指令出現「'&&' 語彙基元不是有效的陳述式分隔符號」的錯誤?看docs/troubleshoot-first-install.md。

什麼時候改走手動流程

想精確控制 build / 部署(例如自動化流程),或想知道哪一步失敗 → 走手動流程。

SECTION 02.5 · SKILL 安裝

Skill 的安裝已移到貢獻頁

透過 Plugin Marketplace 安裝可分享的 Skill(例如 hj-pr-proposal),是貢獻流程的一部分,與本頁的 Revit 安裝無關。

步驟與封包內容請看:貢獻模板 · 一鍵安裝提案 Skill。

SECTION 03 · 手動流程

手動 build / deploy(4 步)

  1. 關閉 Revit

    新 DLL 才能取代舊 DLL。沒關閉 → DLL is locked → 複製失敗。
    tasklist | findstr Revit 確認。

  2. Build
    # 在 repo 根目錄開始執行
    cd MCP-Server
    npm install
    npm run build
    
    cd ..\MCP
    dotnet build -c Release.R24 RevitMCP.csproj

    前三行編譯 MCP Server(AI Client 會啟動 node MCP-Server/build/index.js);最後一行編譯 Add-in(此時工作目錄是 MCP/),把 R24 換成你要的版本(R22/R23/R24/R25/R26)。輸出在 MCP/bin/Release.R24/RevitMCP.dll。

  3. 部署 Add-in
    # 先回到 repo 根目錄(上一步結束時在 MCP/)
    cd ..
    
    # 指定 Revit 版本
    .\scripts\install-addon.ps1 -Version 2024
    
    # 多版本環境一次部署完
    .\scripts\install-addon.ps1 -All

    腳本會複製建構產物中的全部 DLL(R22–R24 為 13 個、R25–R26 為 8 個,兩者都正確)、部署前檢查建構產物世代是否與目標 Revit 相符、部署後逐檔 SHA256 驗證,並輪替舊版備份。偵測到多版本而未指定時,互動模式會要求你選擇,非互動模式則直接失敗,不會擅自挑選。

  4. 重啟 Revit,啟動 MCP 服務

    啟動 Revit → 載入或建立專案 → 在 ribbon 的 MCP Tools 面板啟動 MCP 服務 → 確認 Revit 顯示 WebSocket server 已監聽 localhost:8964。之後到第一次查詢驗收。

不可違反的部署規則
SECTION 04 · MATRIX

Build Matrix · 5 個版本

ConfigTarget.NETElementIdOutput
Release.R22Revit 2022Framework 4.8intbin\Release.R22\RevitMCP.dll
Release.R23Revit 2023Framework 4.8intbin\Release.R23\RevitMCP.dll
Release.R24Revit 2024Framework 4.8intbin\Release.R24\RevitMCP.dll
Release.R25Revit 2025.NET 8longbin\Release.R25\RevitMCP.dll
Release.R26Revit 2026.NET 8longbin\Release.R26\RevitMCP.dll

跨版本相容

Revit 2025+ 的 ElementId 從 int 改為 long。MCP/Core/RevitCompatibility.cs 提供 GetIdValue() 與 ToElementId() 擴充方法跨版本相容。預處理符號 REVIT2025_OR_GREATER 用於條件編譯。

SECTION 05 · AI CLIENTS

所有 AI Client 指向同一個 MCP Server

核心概念相同:使用 node 啟動 MCP-Server/build/index.js。第一次使用前必須在 MCP-Server/ 跑 npm run build。專案內建的 Claude Code / Codex 風格 .mcp.json 如下:

{
  "mcpServers": {
    "revit-mcp": {
      "type": "stdio",
      "command": "node",
      "args": ["./MCP-Server/build/index.js"],
      "env": {}
    }
  }
}

Claude Code

專案根目錄 .mcp.json

已內建,開箱即用。

Claude Desktop

%APPDATA%\Claude\claude_desktop_config.json

範本:MCP-Server/claude_desktop_config.json。

Gemini CLI

~/.gemini/settings.json

範本:MCP-Server/gemini_mcp_config.json。

VS Code Copilot

.vscode/mcp.json

已內建;路徑使用 ${workspaceFolder}/MCP-Server/build/index.js。

Antigravity

UI 設定

依 repo 根目錄的 Antigravity_MCP_Complete_Guide.md 操作。

範本中的 <YOUR_PROJECT_PATH> 需替換為本專案的實際路徑。同一時間只有一個 AI Client 能保持連線(獨占鎖,第二個會被 HTTP 409 拒絕);要換 Client,先在 Revit ribbon 點「切換/釋放連線」。

SECTION 06 · FIRST QUERY

第一次查詢:只讀,不改模型

VERIFY · 四步完成驗收
  1. 啟動:啟動 Revit → 載入或建立專案 → 在 ribbon 的 MCP Tools 面板啟動 MCP 服務 → 確認 Revit 顯示 WebSocket server 已監聽 localhost:8964 → 啟動或重啟 AI Client,讓它載入 MCP Server。
  2. 貼查詢:把下面這段貼進 AI Client。
    請只使用 `get_project_info` 和 `get_active_view` 查詢目前開啟的專案與作用視圖,不要修改模型。請列出工具回傳的專案名稱、視圖名稱與類型;查不到時直接說明。
  3. 比對:工具回傳的欄位應包含 ProjectName(來自 get_project_info;即文件(檔案)名稱,會出現在 Revit 視窗標題列中,不是「專案資訊」對話框裡的 Project Name),以及 Name、ViewType、LevelName(來自 get_active_view)。逐一和你眼前 Revit 視窗標題列的文件名稱、作用視圖名稱與類型核對,內容必須來自工具回傳,不是 AI 憑記憶補的。
  4. 完成/排錯:工具回傳的專案名稱(文件名稱)與視圖名稱,和你眼前的 Revit 一致,且本次只用了兩個查詢工具,就完成了。沒通過 → 看不到外掛、無法連線、回傳與畫面不符,三種情況都到 Troubleshooting 依症狀選入口。
比對 AI 回傳的專案與視圖名稱,是否與目前 Revit 畫面一致
概念示意圖(AI 生成),非軟體畫面。重點:把 AI 回傳的專案名稱與視圖名稱,跟 Revit 畫面上的對照。
進階練習與延伸

進階練習(可選):確認唯讀查詢通過後,再請 AI 建一面短牆並 undo,確認寫入工具的 Transaction 走完。這會修改模型,請在測試專案進行。