Revit MCP server
io.github.shuotao/revit-mcp-server·v1.6.0·101 starsMCP Server for Revit integration - AI-Powered Revit Control
101 stars47 downloads/wk
Reviews
Write oneNobody has reviewed Revit MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Revit MCP tools (100, 20 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_pipe_cap在管件的未連線端安裝管帽或法蘭。自動尋找開放的接頭並連接。
adjust_section_datums自動調整剖面視圖的網格線 (Grids) 與樓層線 (Levels) 2D 範圍與氣泡顯示。
analyze_corridor_width分析走廊寬度。使用 Revit 端的房間邊界線段找出平行牆對,回傳實測寬度、最小寬度與各區段檢討結果。
analyze_floor_slopes分析樓板頂面排水坡度:以 Solid→PlanarFace 法向量與 Z 軸夾角計算每片朝上頂面的坡度百分比,回傳每片樓板的 Min/Max 坡度,並可回寫至指定參數(預設 Comments)。未指定 elementIds 時自動收集 Function=Exterior 的樓板。
analyze_tall_partition_roomsFind rooms on target levels that share or contain TYPE partition walls taller than a threshold. Uses room boundary segment ElementIds so shared room-to-room walls are assigned to both rooms, and can add upward ray evidence from room bottom to floor underside.
apply_panel_pattern將面板排列模式套用到帷幕牆。需要類型映射表和排列矩陣。
auto_convert_rotated_viewport_patternsAutomatically fix fill patterns on rotated viewports so hatch orientation follows the rotation correctly. Takes no parameters.
auto_dimension_walls批次自動標註牆段尺寸(不需要 Room)。三種模式:overall_bbox(外圍兩條總長串:top 邊沿 X、right 邊沿 Y,預設)/ chained(同列同排共線牆串成 string dimension)/ per_wall(每牆一條長度標註)。標註用 DetailCurve 當 reference,不抓牆面,但建模一次性場景剛好。常用於 sketch-to-revit 蓋完牆後自動補尺寸。
batch_create_rc_filled_regionwrite actionBatch-create RC filled-region stickers across multiple views, or across every placed viewport on the given sheets.
batch_create_wall_sectionswrite action批次建立牆面套管剖面:以當前視圖的 BoundingBox 範圍過濾指定連結模型中的牆,再比對所有 MEP 連結模型的管附件(圓形套管)與風管附件(矩形開口),只對有開孔的牆建立剖面視圖。
batch_set_room_height批次依房間名稱或用途分組,設定 Room 的 Upper Limit(ROOM_UPPER_LEVEL)與 Limit Offset(ROOM_UPPER_OFFSET)。不動樓層,只改 Room 參數。對 Model Group 內的 Room 會自動進入 EditGroup 模式(每個 GroupType 只編輯一次,變更同步到所有 instance),避免「modified outside group edit mode」警告。Transaction 內註冊 WarningSwallower 吞掉其他警告。單一 Transaction,可 Ctrl+Z 整批還原。
calculate_exterior_wall_scaffold_perimeterReliable scaffold takeoff mode. Automatically detects exterior/perimeter walls from wall centerline geometry using ray exposure tests, excludes interior walls, sums the included wall lengths, optionally selects the result in Revit, and reports the classification evidence.
calculate_grid_bounds計算給定 X 與 Y 網格範圍的邊界 BoundingBox 座標。可指定外擴偏移量 (offset_mm)。
calculate_room_scaffold_perimetersIndoor scaffold takeoff mode. Reads placed Revit Rooms and classifies them into general scaffold, interior finish scaffold, or excluded rooms. General scaffold for non-stair/elevator rooms is measured by perimeter x height. Interior finish scaffold for stair/elevator rooms is measured by length x width x height.
calculate_selected_detail_line_perimeterFast scaffold takeoff mode. Sum curve lengths from the current Revit selection, including detail lines, detail component family geometry, and filled region boundaries. Use this when the user manually traces the scaffold outline.
check_exterior_wall_openings依據台灣建築技術規則第45條及第110條檢討外牆開口。自動讀取地界線計算距離,以顏色標示違規。
check_sanitary_fixture_requirementsCalculate sanitary fixture requirements by detecting the building type and applying the matching rule. This rule package currently supports C-1 factory/warehouse only; future building types should be added as separate rules. Output maps to the code table columns: building type, water closets, urinals, lavatories, and bathtubs/showers. Net area excludes stairs, elevators, air-raid shelter/refuge ro
colorize_clashes將 detect_clashes 的結果視覺化上色到 CSA 元素。colorScheme 可選 by_csa_category(柱紅/樑橘/板黃/牆藍)、by_system(依 MEP 系統)、by_severity(依貫穿深度嚴重度)。
convert_drafting_to_model_patternConvert drafting fill patterns to model fill patterns in the document so hatching stays fixed to the model rather than the sheet. Takes no parameters.
copy_detail_items_to_views批次複製詳圖項目(DetailCurve、TextNote、FilledRegion、DetailComponent、Dimension)從來源視圖到一或多個目標視圖(同一專案內)。支援 DraftingView 與 model view。
copy_sheets_from_file從來源 .rvt 檔案複製圖紙到目前開啟的專案。讀取來源的 sheet/viewport/view metadata,在目標專案中重建 sheets、匹配或建立 views、放置 viewports 並同步設定。View 依四級分類處理:Tier 1(FloorPlan/CeilingPlan)可自動建立;Tier 2(Section/3D/DraftingView)可部分建立;Tier 3(Legend/Schedule)只匹配不建立;Tier 4(Elevation/Callout/AreaPlan)回報 manual_action_required。衝突項目必須在 conflictResolution 中指定處理方式。
create_beams_from_dwgwrite action從 CAD 指定圖層建立 Revit 結構樑(必須搭配文字標注圖層)。
create_columns_from_dwgwrite action從 CAD 指定圖層自動建立 Revit 結構柱或建築柱。
create_curtain_panel_typewrite action建立新的帷幕牆面板類型,可指定顏色(HEX)和透明度。
create_curtain_wall_elevationswrite action批次建立每一道帷幕牆的永久外立面視圖,建立/套用名為「帷幕立面」的視圖樣板,保留 crop box 與 far clip depth 可由各視圖自行控制,並回傳方向與 crop 診斷欄位。這個工具建立的是持久成果,不需要 cleanup;除非使用者明確要求清理,AI client 不得呼叫 delete_element 刪除這些 generated views。
create_dependent_viewswrite action依據指定的母視圖 ID 與 BoundingBox 邊界,批次建立並裁切從屬視圖 (Dependent View)。
create_detail_component_typewrite action指定詳圖項目族群,複製並設定新名稱(圖紙編號-圖紙名稱-詳圖名稱),同時自動填寫 詳圖圖號、圖說名稱、詳圖名稱、詳圖編號 等類型參數。
create_dimension_by_bounding_boxwrite action使用房間邊界框自動標註房間淨尺寸(保證100%覆蓋率)
create_dimension_by_raywrite action使用射線偵測 (Ray-Casting) 建立尺寸標註。從指定原點向正反方向發射射線,偵測牆面並建立標註。
create_facade_from_analysiswrite action根據分析結果批次建立整面立面。在牆面前方批次建立多片 DirectShape 面板,支援多種面板類型和排列模式。
create_facade_panelwrite action建立單片立面面板(DirectShape)。支援 5 種幾何:curved_panel、beveled_opening、angled_panel、rounded_opening、flat_panel。
create_finish_legendwrite action在 Revit 中自動建立粉刷/油漆材料填滿圖例。同時偵測兩種資料來源:(1) 全專案房間的粉刷層(CompoundStructure Function=Finish)、(2) 被「油漆工具」塗在 Wall/Floor/Ceiling 的材料(依面法向量分類牆/地/天)。為每種材料建立 FilledRegionType 並在 Legend 視圖中繪製三張表(地坪/牆面/天花)。每張表三欄:編號 | 圖例 | 說明;粉刷類型使用 TypeMark/TypeName,油漆材料使用 Material.Mark/Description(空值顯示『(未填)』)。粉刷列在上、油漆列在下,中間以分隔列隔開。前提:專案必須已有任一 Legend 視圖(即使空白)作為複製模板,因 Revit API 不允許直接建立 Legend。版面固定(1:100 比例,欄寬 130/120/650 cm、列高 50 c
create_legendswrite action⚠️ 若目的是把 Excel 內容繪製到 Revit view,**請改用 `import_excel_to_drafting_views`**(一站式、自動 viewport 還原)。本工具僅複製已存在的 seed legend,**不會繪製任何內容**,使用情境僅限:(1) 需要 Legend View 而非 Drafting View 以便在多張 sheet 重複放置同份內容;(2) 純複製空白 legend 模板。從 seed legend 批次複製出多個 legend 視圖。Revit API 不支援憑空建立 legend,必須先在樣板/專案中手動放置一個 seed legend(建議命名為 _SEED_BLANK)。
create_levelwrite action在 Revit 中建立一個新的樓層 (Level)。指定標高(公釐)與可選名稱;若名稱已存在 Revit 會自動附加尾號。
create_parallel_section_viewwrite action依牆面開孔位置自動建立平行剖面視圖。自動偵測牆上的套管族群,以開孔群組為單位裁剪剖面範圍;支援長牆分割(相鄰開孔 > 3m 則各自建立獨立剖面)、房間方向自動判定。無開孔時建立整面牆的全寬剖面。
create_rc_filled_regionwrite actionCreate RC (reinforced-concrete) filled-region stickers in the active view by detecting RC element outlines, drawn with an invisible line style so only the hatch shows.
create_room_filled_regionswrite actionCreate filled regions covering rooms in a view (e.g. to colour/mark rooms), optionally clearing previously created markers and setting colour and transparency.
create_view_schedulewrite action在 Revit 中建立一個新的視圖明細表(Schedule/Quantities)。可以指定名稱、品類以及要包含的欄位。
dedup_detail_elements_in_view找出當前視圖(或指定視圖)中重複的 detail element(同 Type + 位置量化後相同),保留 Detail Group 內的副本,刪除 group 外的副本。涵蓋 DetailComponent / DetailCurve / FilledRegion / TextNote / Dimension。只認 Detail Group(OST_IOSDetailGroups),不認 Model Group。預設 dryRun=true 只列清單;確認後設 dryRun=false 才實際刪除。邊界情形(全部都在 group 中、或全部都不在 group 中)會回報但不動。
delete_elementwrite action依 Element ID 刪除 Revit 元素。
detect_clashes執行 MEP 管線(連結模型)與 CSA 結構體(主模型)的碰撞偵測,使用 Curve-to-Solid 策略:MEP 抽中心線、CSA 保留實體、計算穿透線段。回傳每筆碰撞的入口/出口座標、貫穿長度、截面積、佔用體積,以及依系統/依 CSA 品類的統計摘要。
diagnose_curtain_wall_elevation_direction非破壞診斷指定帷幕牆的立面方向判定流程;以 rollback transaction 建立暫時 ElevationMarker/ViewSection,回傳 wall.Orientation、預期 marker 位置、暫時 view 方向與 dot 檢查,不留下視圖或 marker。
diagnose_curtain_wall_elevation_directionsBatch, non-destructive curtain wall elevation direction diagnostic. Compares wall.Orientation and -wall.Orientation candidate sides for selected or all curtain walls; temporary markers/views are created inside rollback transactions.
door-window-legend-tools門窗圖例工具。mode=list 列出專案中已使用的門/窗型;mode=create 以 seed Legend 複製生成新圖例;mode=update 更新既有門窗圖例。create/update 會要求使用者明確選擇 layoutDirection、maxPerLine、dimensionTypeId,create 另需 seedLegendViewId,update 另需 legendViewId。
export_clash_report匯出 detect_clashes 結果為報表。format 可選 csv、json、both。預設輸出到桌面,檔名含時間戳。
export_families把專案中已載入的可編輯族群另存為 .rfa 檔到指定資料夾,建立可重用元件庫。預設匯出管配件(OST_PipeFitting)與管附件(OST_PipeAccessory)。自動依類別建立子資料夾;subFolderBySeries=true 時再依族群名稱系列(CIP/DWV/碳鋼.../)細分。略過系統族群、現地(in-place)與不可編輯族群。
flip_element翻轉指定的 Revit 建築元素(例如門或窗)。可以選擇翻轉面向(facing)或開向(hand)。
get_active_schema[Phase 1: Exploration] Get all categories and their element counts in the active view. ALWAYS run this first to confirm if the target category exists.
get_active_view取得目前開啟的視圖資訊,包含視圖名稱、類型、樓層等。
get_all_levels取得專案中所有樓層的清單,包括樓層名稱和標高。
get_all_views取得專案中所有視圖的清單,包含平面圖、天花圖、3D視圖、剖面圖等。
get_category_fields[Phase 2: Alignment] Get all parameter names for a specific category. MANDATORY: Run this before 'query_elements_with_filter' to identify exact localized parameter names.
get_connector_info取得 MEP 元素(管、風管、線管等)的接頭(Connector)資訊,包含座標、連接狀態、形狀等。
get_curtain_panel_types取得專案中所有可用的帷幕牆面板類型。
get_curtain_wall_info取得帷幕牆詳細資訊,包含 Grid 排列、面板尺寸、面板類型分佈等。
get_detail_components查詢專案中的詳圖元件(Detail Components)實例。可依族群名稱篩選,回傳每個實例的 ID、族群名稱、類型名稱、所屬視圖及參數。
get_dwg_beam_layers掃描目前 Revit 平面視圖中所有 CAD 匯入/連結的圖層名稱,
get_dwg_column_layers掃描目前 Revit 平面視圖中所有 CAD 匯入/連結的圖層名稱,
get_element_geometry抽取元素的幾何資訊,支援主模型或連結模型元素。geometryType 可選 centerline(中心線)、boundingbox(範圍盒)、solid(實體統計)、all(全部)。連結模型的座標會套用 Transform。
get_element_info取得指定元素的詳細資訊,包括參數、幾何資訊等。
get_field_values[Optional Phase 2.5] Get the distribution of existing values for a specific parameter.
get_linked_models列出當前專案中所有連結模型(RevitLinkInstance),含 LinkInstanceId、檔名、路徑、載入狀態、Transform 原點。用於碰撞偵測第一步:找到 MEP 連結的 LinkInstanceId。
get_project_info取得目前開啟的 Revit 專案基本資訊,包括專案名稱、建築物名稱、業主等。
get_room_daylight_info取得房間的採光資訊,包含居室面積、外牆開口面積、採光比例。用於建築技術規則居室採光檢討。
get_room_door_countsCount doors by room. Each door is counted once against its primary room; default primary room is ToRoom with FromRoom fallback. Compatible with Revit 2020.
get_room_info取得房間詳細資訊,包含中心點座標和邊界範圍。
get_room_surface_areas計算房間內部表面積(牆面、地板、天花板),支援門窗開口扣除。即使模型中無實體天花板或地板元素,仍會以房間平面面積估算。回傳含 EstimatedSurfaces 欄位標示哪些為估算值。用於材料估算、塗裝面積計算、聲學分析。啟用 includeFinishLayers 可偵測房間內非邊界粉刷層,自動寫入房間飾面參數、建立明細表、匯出 Excel。【兩次呼叫工作流程】當 includeFinishLayers=true 時,建議分兩次呼叫:第一次不帶 defaultXxxFinish 參數,取得分析結果後檢查哪些房間/表面缺少粉刷層(FloorFinishLayers / CeilingFinishLayers / Breakdown.FinishLayers 為 null),詢問使用者要統一填入什麼預設類型標記(地板/牆面/天花各一種,留空=不填),再以 defaultFloorFinish
get_room_window_countsCount windows by room. Each window is counted once against its primary room; default primary room is ToRoom with FromRoom fallback. Compatible with Revit 2020.
get_rooms_by_level取得指定樓層的所有房間清單,包含名稱、編號、面積、用途等。可用於容積檢討。
get_selected_elements取得使用者目前在 Revit 中選取的所有元素的基本資訊(ID、名稱、品類)。若是視圖或剖面標記,會一併回傳 Origin (X,Y,Z) 供空間排序使用。
grade_toposolid_to_floors依指定樓板底面的水平投影範圍整平 Toposolid;本次僅支援 footprint_only 模式。
import_excel_to_drafting_views原子化命令:讀 Excel → 對每張有列印範圍的 worksheet 建立 Drafting View → 畫框線(merge-aware)→ 寫文字。固定 viewScale=1:1、textSize=3mm、rowH=4.5mm、colW=30mm。Claude 端只送檔案路徑與 sheet 清單,所有座標計算、Revit Transaction 都在 C# 內完成,token 用量極低(25 sheet ≈ 1.5K)。已自動正規化 \r\ → \ 。**Overwrite 時會在 doc.Delete 之前先擷取舊 view 在所有 sheet 上的 viewport 中心點,重建後自動 Viewport.Create 放回原位**,使用者不需再到 UI 手動補放。回應新增 ViewportsRestored 計數與 ViewportFailures 列表(個別失敗不會影響整批
link_cad_to_view將指定的 CAD 檔案(.dwg / .dxf)連結(Link,非 Import)到 Revit 中的指定視圖。
link_cads_by_floor批次將多個 CAD 檔連結到對應樓層的平面視圖,並把每個 CAD 平移對齊到指定的 Revit Grid 交點。
list_categories列舉專案中所有品類 (Category) 及其 CategoryType (Model / Annotation / Internal / AnalyticalModel / Invalid)。回傳每個品類的 Name、CategoryType、Id、子品類數量,並附各 CategoryType 的統計。唯讀查詢。
list_dimension_types列出目前 Revit 專案可用的 DimensionType。door-window-legend-tools create/update 需要先由使用者選擇 dimensionTypeName,再把對應 dimensionTypeId 傳回。
list_family_symbols列出專案中的 FamilySymbol(族群類型)。可依名稱篩選,回傳 ID、類型名稱、族群名稱、類別。用於查詢可用的詳圖項目族群。
list_legend_views列出目前 Revit 專案中的 Legend 視圖與其中的門窗 legend component 數量。door-window-legend-tools update 需要先由使用者選擇 viewName。
list_schedules列出目前專案中所有可讀取的明細表(排除樣板、圖框修訂表)。回傳每張表的 ElementId、名稱、品類、列數與欄數,供儀錶板分類與展開使用。
list_seeds列出 seed 候選資料。這版支援 seedType=legend,會回傳所有非樣板 Legend 視圖與其中 Legend Component 數量。此 tool 的結果必須顯示給使用者選擇;assistant 不得根據清單自動決定 seed,也不得在使用者未選 ViewName 前自動重試 create。
measure_distance測量兩個點之間的距離。回傳距離(公釐)。
modify_element_parameter修改 Revit 元素的參數值。
move_element移動指定的 Revit 元素(依 dx, dy, dz 指定位移量)。
preview_dwg_beams解析 CAD 指定圖層中的雙線幾何,預覽識別到的樑中心線資訊(區分 X 向與 Y 向)。
preview_dwg_columns解析 CAD 指定圖層中的矩形幾何,預覽識別到的柱資訊(位置、寬度、深度、旋轉角)。
query_elements查詢 Revit 專案中的元素。可依類別、族群、類型、樓層等條件篩選。
query_elements_with_filter[Phase 3: Retrieval] Query elements with multi-filter support. NOTE: The 'field' name MUST match names from 'get_category_fields'.
query_linked_elements查詢指定連結模型中的元素,支援品類篩選、參數過濾、自訂回傳欄位。座標會自動套用連結模型 Transform,確保與主模型對齊。
read_excel_tables⚠️ 若目的是把 Excel 內容繪製到 Revit Drafting View,**請改用 `import_excel_to_drafting_views`**(一站式命令,內部自帶 Excel 解析、layout、wrap、viewport 還原,token 省 95%+)。本工具僅用於純讀取/探索 Excel 結構,**不會建立任何 view 或畫任何元素**。讀取 Excel 檔案中的 named table(或整張 worksheet),僅回傳落在 worksheet 列印範圍 (PrintArea) 內的儲存格內容。沒有設定列印範圍的 worksheet 會被略過。預設不傳 borders 陣列以節省 token;若需粗細資訊請傳 includeBorders=true。summary=true 模式只回每張表的維度與是否含非 Thin 邊框,適合大量 sheet 的初探階段。
read_source_file_sheets開啟來源 .rvt 檔案並讀取所有圖紙 (sheets)、視埠 (viewports)、視圖 (views) 與 ScheduleSheetInstance 的 metadata。同時偵測與目標檔(目前開啟的專案)的衝突。回傳結構化 JSON 供 AI agent 預覽與規劃後續 copy_sheets_from_file 操作。不修改任何檔案。
remap_room_finish_codesBatch-remap room finish code parameters in one Revit transaction. Designed for painting/finish schedules: split values by '+', replace exact code tokens such as F11 -> F10 without touching F1 inside F11, and let room schedules update from the changed room parameters. Defaults to dryRun=true.
rename_view重新命名指定的 Revit 視圖(包含剖面圖、平面圖等),此工具不受軟體語系本地化影響。
renumber_rooms_by_levelBatch-renumber placed rooms on one level in a single Revit transaction. Sorts by room center from top to bottom, then left to right, using a configurable Y-row tolerance. Supports dry-run preview and starts from a seed such as B134.
select_element在 Revit 中選取指定的元素,讓使用者可以視覺化確認目標元素。
set_active_view切換至指定的視圖。
sync_detail_component_numbers自動同步所有詳圖元件的類型參數(詳圖圖號、圖說名稱)與其所在圖紙的編號和名稱。僅更新類型名稱已匹配圖紙編號的元件,不會影響共用標準詳圖。
sync_ifc_structural_to_nativeConvert structural framing (beams) and columns from a linked IFC model into native Revit structural framing/column instances, matching detected section sizes to family types. Supports dry-run preview, batched creation, section-based column base-type selection (steel / SHS / RC), and optional alignment of column tops to the floor bottom above.
sync_room_ceiling_finish_from_ceilings依房間範圍偵測同樓層天花板,讀取天花板類型標記,預覽或寫回房間參數(預設:天花板塗層)以更新粉刷明細表。
sync_sheet_parameters_from_source補丁工具:為 target 中已存在的 sheets 從 source 同號 sheet 補齊 custom parameters(例如修補先前 copy_sheets_from_file 沒帶到的 sheet folder/圖集 / Discipline / 繪圖人 等)。**不會重建 sheet、不會動 viewport**,只比對同 SheetNumber 並複製 custom parameters。同名 + 同 StorageType 的 writable parameter 才會被複製,ElementId 類型跳過。觸發條件:使用者提到 sheet folder 缺失、補圖集、修圖紙分組、sheet 沒歸入 folder、補 sheet metadata、sync sheet parameter、batch update sheet parameter。
zoom_to_element將視圖縮放至指定元素,讓使用者可以快速定位。
Public scan report
scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it
- Code scan91 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 24 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Revit MCP compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 92/100
- higher than 95% of 48,255 servers
- Tools
- 100
- the typical server has 7
- Tools that change things
- 20%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 101
- more than 95% of 28,688 servers
- Downloads a week
- 47
- more than 39% of 12,191 servers with a package
What its tools let an agent do: 69 read · 19 create · 10 change · 1 delete · 1 run or deploy
Install Revit MCP in Claude Code, Cursor or VS Code
Runs npx -y @shuotao/revit-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add revit-mcp-server -- npx -y @shuotao/revit-mcp-server
What the publisher says
From the Revit MCP repository's README, as published. We do not edit it. Read it on GitHub
Revit MCP - AI-Powered Revit Control
English | 繁體中文
Revit MCP lets AI clients call Autodesk Revit tools through the Model Context Protocol (MCP). The MCP server forwards tool calls to a local Revit add-in, and the add-in executes the corresponding Revit API workflow.
- Demo video: Revit MCP - AI-Powered BIM Workflow Demonstration
- Knowledge site:
- Default WebSocket port: 8964
What is this?
Talk to Revit in plain language. Ask your AI client to "dimension every wall on this view" or "check the curtain-wall elevations", and Revit does it — through 192 MCP tools backed by 83 professional BIM SOPs (building code, quantity take-off, compliance checks).
Who it's for: BIM engineers and architects who use Revit and want AI-assisted, standards-based workflows. You'll need Revit (2022–2026) on Windows and to be comfortable installing an add-in.
Quickstart (3 steps)
- Install the Revit add-in. Build and deploy the C# add-in — see Manual Setup. This is the half that actually talks to Revit.
- Point your AI client at the MCP server. No cloning needed — it runs straight from npm:
{ "mcpServers": { "revit-mcp": { "command": "npx", "args": ["-y", "@shuotao/revit-mcp-server"] } } }- Open Revit, enable the MCP service in the ribbon, and start asking. Full setup: AI Client Configuration.
Questions or want to show what you built? → Discussions
Current Project Counts
When these numbers change, update CLAUDE.md, README.zh-TW.md, this file, docs/DOCUMENTAUDIENCEINVENTORY.md, and run:
.\scripts\verify-qaqc.ps1 -SkipBuild -SkipDeployNew: Interactive Clash Viewer (MCP Apps)
detect_clashes can now render an interactive clash-review UI inline in the conversation, via the MCP Apps extension (io.modelcontextprotocol/ui). This requires an MCP host that supports the extension. It is purely additive:
- Interactive rendering only happens in GUI hosts that support MCP Apps (Claude Desktop, the claude.ai web app, VS Code GitHub Copilot). A terminal CLI like Claude Code can't render the panel and always shows the text result — this is expected, not a fault.
- Hosts without MCP Apps support keep getting detect_clashes's normal text result — nothing changes for them.
- The stdio connection and the existing Revit add-in are unaffected; no reinstall or reconfiguration is needed.
See docs/MIGRATION_GUIDE.md for the full MCP 2026-07-28 upgrade notes.
Architecture
AI Client
Claude Desktop / Claude Code / Gemini CLI / VS Code Copilot / Antigravity
|
| stdio
v
MCP Server
Node.js / TypeScript
MCP-Server/build/index.js
|
| WebSocket ws://localhost:8964
v
Revit Add-in
C# / Revit API
MCP/Application.cs
MCP/Core/SocketService.cs
MCP/Core/ExternalEventManager.cs
|
v
Autodesk RevitExternal AI clients do not need an API key inside this repository. Their account and authorization are managed by the AI client itself. Only an embedded Revit chat feature that directly calls an AI API would need an API key.
Requirements
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Revit MCP: common questions
- Is Revit MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Revit MCP safety report
- How do I install Revit MCP?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Revit MCP need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Revit MCP maintained?
- The last commit was 65 days ago (2026-08-31). The latest release is v1.6.0.
- How does Revit MCP compare with other MCP servers?
- safety score 92/100 (higher than 95% of 48,255 servers); tools 100 (the typical server has 7); tools that change things 20% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.