BIMit 2.1 · sources
Revit + AI add-ins compared
Comparison verified on 27 October 2026.
Four add-ins that connect AI apps to Revit through MCP: BIMit 2.1, RevitCortex, REVIT_MCP_study and BIMwright rvt-mcp, on the same 15 checks: BIMit and the three servers with the most tools among the 20 most-starred Revit MCP repositories on GitHub (see How the three were chosen). The comparison was made by the developer of BIMit.
For the other three add-ins we read the source code at the commit listed in the sources, the official documentation (README, docs, release notes) and the published release files. Every link points to that commit, so the line numbers stay valid.
BIMit’s own evidence comes from its code at version 2.1.0 (commit 97007fa: the repository is private), its signed 2.1.0 installer, and its public tool pages and release notes on unibim.io.
The rule for each check
✓ Yes: fully meets the check. ◐ Partial: meets part of it. — No: not found in the code or the docs. For MCP tools and Revit versions the cell gives the value.
- Creates and edits elements
- Yes if the AI creates, changes and deletes Revit elements with the add-in’s tools.
- One Ctrl+Z per AI action
- Yes if each AI write is one named Revit transaction (or transaction group), undone by one Ctrl+Z.
- MCP tools
- The number of public MCP tools, as each project counts them: a value, not a verdict.
- Revit versions
- The Revit versions the released build supports.
- Approval prompt in Revit
- Yes if a dialog in Revit asks the user before destructive or team operations. Partial if confirmation is left to the AI app (previews, dry runs, hints) or covers only some actions.
- Permission levels set by the user
- Yes if the user, not the AI, limits what the AI may do (at least a read-only mode).
- Log of every AI call
- Yes if every tool call is written to a lasting log; an opt-in setting counts, as it does for permission levels. Partial if the log keeps only command names or lives in memory only.
- Engines: WBS, sleeves, CAD to BIM
- Yes if all three are there: WBS coding, MEP sleeves placed at crossings, a CAD or PDF plan turned into a Revit model. Partial for part of them (the note says what), No for none.
- Project memory (notes, diary)
- Yes if notes, to-dos and a diary are kept for each project and work with Revit closed. Partial for stored knowledge or history without them. No for session memory only.
- On/off switches in the ribbon
- Yes if the Revit ribbon has an on/off switch for each group of tools. Partial for tools picked one by one in a Revit window. No if the ribbon only turns the connection on or off.
- A help page for each tool
- Yes if each tool has its own page. Partial if the tools are described together in one guide, index or list.
- Interface languages
- Yes if the whole interface is translated into more than one language. Partial for one language only or a partial translation.
- One-click AI app setup
- Yes if the add-in configures the AI apps from its own window or installer, with no script to run and no file to edit. Partial for a script, a command line or manual setup. The note gives how many apps.
- Signed installer
- Yes if the installer carries a valid code signature (Authenticode). No for unsigned ZIPs, scripts or builds from source.
- Free to use
- Yes if it can be used at no cost: an open-source licence or a free plan.
The 15 checks
| Check | BIMit 2.1 | RevitCortex | REVIT_MCP_study | BIMwright rvt-mcp |
|---|---|---|---|---|
| Works in Revit | ||||
| Creates and edits elements | Yes | Yes | Yes | Yes |
| One Ctrl+Z per AI action | Yes | Yes | Yes | Yes |
| MCP tools | 105 | 288 | 239 | 237 |
| Revit versions | 2021–27 | 2023–27 | 2022–26 | 2022–27 |
| Control | ||||
| Approval prompt in Revit | Yes | Yes | Partial | Partial |
| Permission levels set by the user | Yes | Yes | No | Yes |
| Log of every AI call | Yes | Yes | Partial | Yesopt-in |
| Beyond the tools | ||||
| Engines: WBS, sleeves, CAD to BIM | Partial2 of 3 | No0 of 3 | PartialCAD part, sleeve scan | No0 of 3 |
| Project memory (notes, diary) | Yes | No | Partial | Partial |
| On/off switches in the ribbon | Yes | Partial | No | No |
| A help page for each tool | Yes | Partial | Partial | Partial |
| Interface languages | YesIT, PT, EN | PartialEN, part IT | PartialChinese (Trad.) | Yes15 |
| Install and cost | ||||
| One-click AI app setup | Yes5 apps | Partial2 apps, script | Partial3 apps, script | Partial19 apps, script |
| Signed installer | Yes | No | No | No |
| Free to use | Yesfree beta | YesMIT | YesMIT | YesApache-2.0 |
Sources and evidence
Products and versions checked#
| Product | Version checked | Source |
|---|---|---|
| BIMit 2.1 | BIMit 2.1.0, commit 97007fa (branch bimit-2.1), 2026-10-27 | BIMit source (private repository) and the public docs and release notes on unibim.io |
| RevitCortex | commit 8b2556d (main, 2026-07-08), release v1.0.50 | github.com/LuDattilo/RevitCortex |
| REVIT_MCP_study | commit 93365e7 (2026-10-23) | github.com/shuotao/REVIT_MCP_study |
| BIMwright rvt-mcp | commit 4affa2a (master, 2026-10-23), release v1.2.0 | github.com/bimwright/rvt-mcp |
How the three were chosen#
A GitHub repository search for revit mcp in:name,description on 27/10/2026, sorted by stars. Every result with 20 or more stars (20 repositories) was read for its number of MCP tools, at the commit linked below. The three servers with the most tools are the ones compared. Repositories with fewer than 20 stars were not checked.
| Repository | Stars | MCP tools | How the tools were counted |
|---|---|---|---|
| mcp-servers-for-revit/revit-mcp | 476 | 25 | src/tools: one file per tool in src/tools (register.ts and three empty files left out) |
| mcp-servers-for-revit/mcp-servers-for-revit | 409 | 26 | server/src/tools: server.tool calls in server/src/tools |
| mcp-servers-for-revit/revit-mcp-plugin | 218 | not a server | the Revit add-in of revit-mcp, archived in favour of mcp-servers-for-revit |
| mcp-servers-for-revit/mcp-server-for-revit-python | 218 | 20 | README.md:8: README: "all 20 tools" |
| shuotao/REVIT_MCP_study (compared) | 106 | 239 | compared: see MCP tools below |
| bimwright/rvt-mcp (compared) | 102 | 237 | compared: see MCP tools below |
| Sam-AEC/aec-model-bridge | 85 | 219 | README.md:192: README: "219 tools are listed in the default setup" (Navisworks and IFC tools included) |
| LuDattilo/revit-mcp-server | 79 | 138 | README.md:9: README: "exposes 138 tools"; 138 server.tool calls in server/src/tools |
| oakplank/RevitMCP | 64 | 46 | README.md:14: README: "RevitMCP exposes 46 tools" |
| HorizunGroup/horizun-revit-mcp | 62 | 125 | README.md:6: README: "complete catalog contains 125 tools" |
| mcp-servers-for-revit/revit-mcp-commandset | 57 | not a server | the command set run by the revit-mcp add-in |
| DTDucas/RevitMCPSDK | 41 | not a server | an SDK for building Revit MCP plugins |
| Demolinator/revit-mcp-server | 40 | 48 | README.md:3: README: "48 tools" |
| ZedMoster/revit-mcp | 39 | 27 | xml_revit_mcp/tools.py: tool functions in xml_revit_mcp/tools.py, registered by server.py |
| kaitpw/Rvt_Docs_MCP | 31 | 4, not for Revit models | its 4 tools search the Revit API documentation; it does not connect to Revit |
| LuDattilo/RevitCortex (compared) | 27 | 288 | compared: see MCP tools below |
| schauh11/revit-mcp-server | 26 | 53+ | README.md:3: README: "53+ tools" |
| IbrahimFahdah/revit-claude-mcp | 25 | 46 | Readme.md:74: README: "the 46 tools in src/BuiltInTools/" |
| aydimir95/RevitMCPInstaller.exe | 22 | not a server | an installer for the revit-mcp add-in |
| GraphBIM/RevitMCPGraphQL | 20 | 44 | python-mcp/revit_mcp_server.py: @mcp.tool functions in python-mcp/revit_mcp_server.py |
Next by tool count: Sam-AEC/aec-model-bridge (219), LuDattilo/revit-mcp-server (138).
Works in Revit#
Creates and edits elements#
- BIMit 2.1: Yes. Yes: modelling verbs (walls, floors, ceilings, families, dimensions, MEP...) and elimina_elementi are each checked by a «verifica» block that reads the elements back. Parameter writes are supported but are not in the «verifica» list.
Evidence:
docs/MCP-2.0.md:318-319 "After every modelling verb ('posiziona_famiglia', 'crea_muri', ... 'lavoro_annulla') and 'elimina_elementi'";src/BIMit.Revit/Mcp/McpTools.Verbi.cs:40 crea_muri;src/BIMit.Revit/Mcp/McpTools.Verbi.cs:59 crea_pavimento - RevitCortex: Yes. Creates, modifies and deletes elements: levels, grids, walls, rebar, views, sheets, parameters and more. Evidence: README.md:9 "read, create, modify, and analyze Revit models in real time"; src/RevitCortex.Tools/Elements/CreateLevelTool.cs:93 Transaction "RevitCortex: Create Level"
- REVIT_MCP_study: Yes. Creates walls, floors, doors, windows, columns, dimensions; sets parameters; deletes elements. Evidence: MCP/Core/CommandExecutor.cs:1161 new Transaction(doc, "建立牆") (create wall); CommandExecutor.cs:1287 "刪除元素" (delete); CommandExecutor.cs:1429 "修改參數" (modify params)
- BIMwright rvt-mcp: Yes. 141 write tools (create/modify/delete/MEP/structural etc.) plus send_code arbitrary C#. Evidence: src/server/Tools/DeleteTools.cs:11 revit_delete_element ReadOnly=false; README.md:105 "Grids, levels, rooms, line/point/surface-based elements, groups"
One Ctrl+Z per AI action#
- BIMit 2.1: Yes. AI writes run in a Revit transaction or TransactionGroup named "BIMit (IA): <label>", one Ctrl+Z. Team actions (sync/relinquish) and files written are excepted. A few engines (sleeves, CAD plan build) use their own localized group name.
Evidence:
src/BIMit.Revit/Mcp/McpTools.cs:111 TransactionPrefix = "BIMit (IA)";src/BIMit.Revit/Mcp/McpTools.Modellazione.cs:51 run.OpenTx(TransactionPrefix + label);docs/MCP-2.0.md:159 "undone with Ctrl+Z (team actions excepted" - RevitCortex: Yes. Each write runs in its own named transaction ("RevitCortex: <Action>"); scripts and the IFC rebuild are wrapped in a TransactionGroup so they undo in one step. Evidence: src/RevitCortex.Tools/Elements/DeleteElementTool.cs:160 new Transaction(doc, "RevitCortex: Delete Elements"); src/RevitCortex.Tools/CodeExecution/CodeDomExecutor.cs:89 new TransactionGroup(..., "RevitCortex: Script Group")
- REVIT_MCP_study: Yes. Write commands each run in a named Transaction (118 across 54 files); multi-step commands use a TransactionGroup with Assimilate, so they undo as one step. Names are mostly in Chinese. Evidence: MCP/Core/TransactionHelper.cs:27 var t = new Transaction(doc, name); MCP/Core/Commands/CommandExecutor.CurtainWall.cs:883 group.Assimilate()
- BIMwright rvt-mcp: Yes. Each handler opens a named Revit transaction ("RvtMcp: ..."/"MCP: ..."); batch_execute wraps up to 20 commands in one TransactionGroup, a single undo. Evidence: src/shared/Handlers/Annotations/CreateTextNoteHandler.cs:113 new Transaction(doc, "RvtMcp: create text note"); src/server/Tools/MetaTools.cs:331 "one Revit TransactionGroup (single undo on success)"
MCP tools#
- BIMit 2.1: 105. 105 MCP tools for every signed-in account in the free beta of 2.1.1: the 112 public tools less the 7 of CAD → BIM, which is the developer preview (coming soon).
Evidence:
release/notes/2.1.0.en.md:4 "All tools: the 112 tools in one window";release/public/GUIDA.en.md:1783 CAD → BIM "Developer preview, coming soon."with its 7 tools (disegno_leggi, disegno_analizza, disegno_immagine, pianta_verifica, pianta_modifica, pianta_confronta, pianta_costruisci);src/BIMit.Core/Mcp/McpPackages.cs:275 OwnerPreview = true - RevitCortex: 288. 288 MCP tools (README badge text still says 173). Evidence: grep -c 'McpServerTool(Name' over src/RevitCortex.Server/Tools/*.cs = 288; README.md "Tool definitions (288 tools across 9 files)"
- REVIT_MCP_study: 239. 239 runtime MCP tools. Evidence: README.md "Runtime MCP tools | 239 | registerRevitTools()"
- BIMwright rvt-mcp: 237. 237 tools with the full catalog (fresh install seeds toolsets all). Evidence: README.md:95 "Fresh install | 237"; README.md:17 badge "MCP-237 tools"
Revit versions#
- BIMit 2.1: 2021–27. Revit 2021-2027: BIMit 2.1.1 adds Revit 2027.
Evidence:
release/notes/2.1.1.en.md:2 "Revit 2027 is supported (BIMit works with Revit 2021 to 2027)";release/Release.ps1:47 "BIMit 2.1.1 ships for 2021-2027" - RevitCortex: 2023–27. Revit 2023 to 2027 (5 versions). Evidence: README.md:20 "supports Revit 2023, 2024, 2025, 2026, and 2027"
- REVIT_MCP_study: 2022–26. Revit 2022-2026. Evidence: README.md Requirements: "Autodesk Revit 2022, 2023, 2024, 2025, 2026"
- BIMwright rvt-mcp: 2022–27. Revit 2022-2027 (6 add-ins: .NET 4.8, .NET 8, .NET 10). Evidence: README.md:356-360 "2022–2024 .NET Framework 4.8 ... 2027 .NET 10"
Control#
Approval prompt in Revit#
- BIMit 2.1: Yes. A Revit TaskDialog (tick box + Approve/Deny) for sync with central, relinquish, save as central, purge unused, deletes over 50 elements and script promotion. A runtime guard cancels any sync or central save from MCP work that was not approved.
Evidence:
src/BIMit.Revit/Mcp/McpApprovals.cs:51 DialogId = "BIMit.Approvazione";docs/MCP-2.0.md:697-722 Approvals in Revit table;src/BIMit.Core/Mcp/TeamGuard.cs - RevitCortex: Yes. For destructive and bulk operations a native Revit TaskDialog offers Yes, Yes to All (2 min), Auto or No. There is no sync-with-central tool, so no approval for that. Evidence: src/RevitCortex.Plugin/UI/ConfirmationHelper.cs:24 new TaskDialog("RevitCortex Premium Confirmation"); README.md:410 "a native Revit confirmation dialog before executing"
- REVIT_MCP_study: Partial. No approval dialog inside Revit. AI-side equivalents: preview_* tools, a dryRun parameter on many tools, and MCP destructiveHint annotations the client can use to ask for confirmation. No sync-with-central tool. Evidence: MCP-Server/src/tools/dwg-beam-tools.ts:22 "preview_dwg_beams"; MCP-Server/src/tools/annotations.ts:70 "破壞性操作(destructiveHint=true)"
- BIMwright rvt-mcp: Partial. In-Revit History > Issues lets the user approve warnings/native dialog actions; no in-Revit approval prompt for deletes or sync with central (no sync tool); write confirmation is left to the MCP client. Evidence: docs/controlled-failures.md:46 "first open a review of the exact constraints, which you must approve"; docs/controlled-failures.md:69 "These decisions belong to the person using Revit"
Permission levels set by the user#
- BIMit 2.1: Yes. 3 tiers for every account (Lettura read-only, Scrittura default, Squadra), chosen by the user from the ribbon's Livello pulldown; Codice is the developer preview (coming soon). Raised tiers expire after 30 min to 8 h; no MCP tool can raise a tier.
Evidence:
release/public/GUIDA.en.md:1686 "The button's menu shows three levels";src/BIMit.Core/Mcp/McpTiers.cs:50 Lettura, Scrittura, Squadra, Codice;docs/MCP-2.0.md:684-685 "No MCP tool can raise it" - RevitCortex: Yes. A read-only mode checkbox in Settings blocks every write tool; the user can also disable individual tools and turn code execution on or off. Evidence: src/RevitCortex.Plugin/UI/GeneralSettingsPage.xaml:150-152 "Enable read-only mode"; src/RevitCortex.Plugin/CortexRouter.cs:209 if (_readOnlyMode && !IsToolReadOnly(toolName))
- REVIT_MCP_study: No. No read-only mode or user-controlled permission levels. MCP_PROFILE only picks tool groups by discipline; readOnlyHint is only a hint to the client. Evidence: MCP-Server/src/tools/index.ts:105 process.env.MCP_PROFILE || "full"; MCP/Configuration/ServiceSettings.cs has no read-only setting
- BIMwright rvt-mcp: Yes. --read-only mode (98 tools), toolset selection, disable send_code, warning policy; set via CLI/env/JSON config. Evidence: README.md:190 "Read-only | --read-only | BIMWRIGHT_READ_ONLY=1 | readOnly"; README.md:398 "Read-only mode exposes 98 tools with all toolsets"
Log of every AI call#
- BIMit 2.1: Yes. A hash-chained audit log (SHA-256 prev, RFC 8785 JSON) of every tools/call in both the bridge and Revit, with an audit_verifica tool and a --verifica-audit CLI.
Evidence:
src/BIMit.Core/Mcp/AuditLog.cs:38-47 "carrying «prev», the SHA-256 of the previous";docs/MCP-2.0.md:1143 The audit chain - RevitCortex: Yes. Every tool call is appended to ~/.revitcortex/audit.jsonl with its input summary, success flag, duration and size. Evidence: src/RevitCortex.Core/Security/AuditLogger.cs:9-11 "Append-only audit logger"; src/RevitCortex.Plugin/CortexRouter.cs:306 "every invocation, with duration and response size"
- REVIT_MCP_study: Partial. A daily log file records each command name received. A change journal (ChangeTracker) records each transaction (user or AI) with an AI flag and counts, readable via get_recent_changes, but it is kept in memory only (last 500 entries) and lost when Revit closes. Evidence: MCP/Core/Review/ChangeTracker.cs:10 records every transaction, user or AI; ChangeTracker.cs:17 Capacity = 500; ChangeTracker.cs:79 ByAI flag; MCP-Server/src/tools/model-review-tools.ts:44 "get_recent_changes"; MCP/Core/SocketService.cs:398 Logger.Info command name
- BIMwright rvt-mcp: Yes. An opt-in call log (--enable-call-log, off by default) writes every call to JSONL. By default only calls that change the model go to the per-model SQLite history (ordinary reads are not recorded); an in-Revit History window searches past calls. Evidence: src/shared/Config/RvtMcpConfig.cs:181 EnableCallLog ?? false; README.md:346 "call-log defaults off"; README.md:192 Call log --enable-call-log; docs/change-tracking.md:9-10 "Ordinary reads acquire neither _changes nor _history"
Beyond the tools#
Engines: WBS, sleeves, CAD to BIM#
- BIMit 2.1: Partial. 2/3 in the free beta: WBS coding (wbs_* tools) and MEP sleeves at crossings (manicotti_* + SleeveEngine). CAD → BIM (a CAD or PDF plan to a Revit model) is the developer preview, coming soon.
Evidence:
src/BIMit.Revit/Mcp/McpTools.Wbs.cs:59 wbs_scrivi;src/BIMit.Revit/Mcp/McpTools.Mep.cs:57 manicotti_crea;src/BIMit.Revit/Model/SleeveEngine.cs:890;release/public/GUIDA.en.md:131 "— (developer preview, coming soon: the panel is not in the public beta)" - RevitCortex: No. No WBS/classification coding engine, no MEP sleeve engine, no CAD/PDF-to-model engine. Nearest features: IFC DirectShape-to-native reconstruction, clash detection, cad_link_cleanup (list/delete only). Evidence: grep -i "sleeve|wbs|uniclass|omniclass|classification" over src/: no matches; LinkTools.cs:200 cad_link_cleanup "action=list|delete"
- REVIT_MCP_study: Partial. CAD to Revit: yes (DWG to beams, columns, grids, family instances; no PDF). MEP sleeves: partial (scan_opening_candidates finds crossings and suggests sizes but does not place sleeves). WBS/classification coding: none found. Evidence: MCP-Server/src/tools/dwg-beam-tools.ts:39 create_beams_from_dwg; MCP-Server/src/tools/clash-tools.ts:125 "唯讀掃描...不建立套管" (read-only, places no sleeves); grep WBS/uniclass/omniclass: 0 hits
- BIMwright rvt-mcp: No. No WBS/classification coding, no MEP sleeve engine, no CAD/PDF-to-model conversion (only import CAD into a view, clash detection, MEP system classification setter). Evidence: grep -i 'sleeve|penetration' in src: no hits; src/shared/Handlers/Links/ImportCadToViewHandler.cs only imports CAD
Project memory (notes, diary)#
- BIMit 2.1: Yes. Per-project «commessa» hub with notes, to-dos, diary and archive in a local folder. The bridge serves the hub tools with Revit closed.
Evidence:
src/BIMit.Revit/Mcp/McpTools.Commessa.cs:100 commessa_annota;src/BIMit.Revit/Mcp/McpTools.Commessa.cs:119 commessa_diario;src/BIMit.Mcp/Hub.cs:15 "with Revit closed (or busy) Claude still works with the commesse" - RevitCortex: No. CortexSession and SessionStore are in-memory per session only; no project diary, notes or document store; tools need Revit running. Evidence: src/RevitCortex.Core/Session/SessionStore.cs:7 ConcurrentDictionary<string, object> _store
- REVIT_MCP_study: Partial. Knowledge lives in the repo as markdown (domain SOPs, an append-only lessons.md, monthly log/, a personal-vault wiki template), usable with Revit closed. No per-project memory tied to a Revit project. Evidence: domain/lessons.md frontmatter (auto-maintained lessons log); templates/personal-vault/VAULT-CLAUDE.md
- BIMwright rvt-mcp: Partial. Per-model local change history with recorded reasons (revit_record_change / get_change_records), readable without a Revit connection; no diary/notes/documents per project. Evidence: docs/change-tracking.md:54 "stores SQLite history under ...\rvt-mcp\projects"; docs/change-tracking.md:122 "Supplying an existing key also works without a Revit connection."
On/off switches in the ribbon#
- BIMit 2.1: Yes. The BIMit tab has one button per package (28 packages); each opens the pane with that package's on/off switch, and the icon shows on/off/locked. An AI On/Off button turns all of it on or off.
Evidence:
src/BIMit.Core/Mcp/RibbonLayout.cs:7-15 RibbonPackageState On/Off/Locked;src/BIMit.Revit/Commands/PackageCommands.cs:32 BimitPaneHost.Show(..., Package);release/notes/2.1.0.en.md:1 "switch on only the ones you want" - RevitCortex: Partial. The ribbon tab opens a Settings window with a Tools page: tools listed by category with a checkbox each, Select all / Deselect all, and a code-execution toggle. No single switch per category. Evidence: src/RevitCortex.Plugin/UI/ToolsSettingsPage.xaml:84 "Tools list grouped by category with Expanders"; ToolsSettingsPage.xaml:124 CheckBox IsChecked="{Binding IsEnabled}"
- REVIT_MCP_study: No. The ribbon only turns the MCP service on or off (plus log, settings, client switch and a Camera Manager panel); tool groups are chosen with the MCP_PROFILE env var. Evidence: MCP/Application.cs:83-91 MCPToggle button "MCP 服務\n(開/關)" (MCP service on/off); MCP-Server/src/tools/index.ts:105 process.env.MCP_PROFILE || "full"
- BIMwright rvt-mcp: No. The ribbon only turns the whole MCP connection on/off, plus History, Toasts, Language; the Settings Tools tab is a read-only catalog; toolsets are chosen via CLI/env/JSON. Evidence: src/shared/Views/Settings/ToolsViewModel.cs:13 "Read-only projection of the current server catalog"; README.md:189 toolsets via --toolsets / BIMWRIGHT_TOOLSETS / JSON
A help page for each tool#
- BIMit 2.1: Yes. One page per public tool in each language (112 tool pages + 28 package pages = 140 per language in it/pt/en). F1 on a button opens its page on unibim.io.
Evidence:
release/public/strumenti/{it,pt,en}/*.md (140 files each: 112 tools + 28 pacchetto-*.md);tests/BIMit.Core.Tests/McpPackagesTests.cs:188 ToolPage URL - RevitCortex: Partial. All 288 tools are covered as one-entry-per-tool sections in a single user guide (Italian, with a prompt example each), not a page per tool. Evidence: docs/USER_GUIDE.md:5 "tutti i 288 comandi con un esempio di prompt"; docs/COMMANDS.md marked deprecated
- REVIT_MCP_study: Partial. One generated tools-index.html page with a card per tool (name, description, read/write/destructive badge), plus 94 domain SOPs. No separate page per tool. Evidence: scripts/gen-tools-index.py:2 generates docs/BIM_MCP/reference/tools-index.html from registerRevitTools()
- BIMwright rvt-mcp: Partial. No per-tool documentation page; each tool has MCP description text and localized one-line summaries shown in Settings; topic docs only. Evidence: docs/ has only topic pages (send-code.md, bake.md, schedules.md...); src/shared/Localization/ToolSummaries/summary.en.json (231 tool summaries)
Interface languages#
- BIMit 2.1: Yes. 3: Italian, Portuguese, English.
Evidence:
src/BIMit.Revit/Localization/common.strings.json:2 { "it": "Chiudi", "pt": "Fechar", "en": "Close" } - RevitCortex: Partial. English and Italian: about 49 runtime strings translated into IT; Settings XAML hard-coded in English. User guide in Italian with an EN PDF. Evidence: src/RevitCortex.Plugin/UI/Localization.cs (49 ["en"] and 49 ["it"] entries, "return en" fallback); src/RevitCortex.Plugin/UI/GeneralSettingsPage.xaml:152 Content="Enable read-only mode"
- REVIT_MCP_study: Partial. Add-in UI is Traditional Chinese only; docs in English and Traditional Chinese. Evidence: MCP/Application.cs:84 button label "MCP 服務\n(開/關)"; README.md "English | 繁體中文"
- BIMwright rvt-mcp: Yes. 15 UI languages (cs, de, en, es, fr, hu, it, ja, ko, nl, pl, pt-BR, ru, zh-CN, zh-TW); tool names/payloads in English. Evidence: README.md:141 "the add-in UI comes in 15 languages"; src/shared/Localization/ToolSummaries/summary.*.json (15 files)
Install and cost#
One-click AI app setup#
- BIMit 2.1: Yes. From BIMit's own window, Claude Desktop, ChatGPT/Codex, GitHub Copilot in VS Code, Cursor and LM Studio get their config files written in one click, with no script and no file to edit. Claude Code (a sixth app) is set up through a copied prompt (plugin/CLI), so it is not counted as one-click.
Evidence:
src/BIMit.Services/AiAppCatalog.cs:44-93 (claude-desktop, claude-code Format=null, chatgpt, vscode, cursor, lmstudio);release/notes/2.1.0.en.md "BIMit connects the AI apps installed on your PC in one click" - RevitCortex: Partial. install.ps1, shipped in the release ZIP, is a PowerShell script with a menu that configures Claude Desktop and Claude Code; it also copies skills for Claude Code and Codex CLI. Other clients are set up by hand. An Inno Setup script in the repo (installer/RevitCortex.iss) also writes the Claude Desktop entry, but the published release is the ZIP with install.ps1. Evidence: distribution/install.ps1:222-225 menu "[1] Claude Desktop", "[2] Claude Code (CLI)", "[3] Both"; README.md:132-138 download the ZIP, run install.ps1 with PowerShell -ExecutionPolicy Bypass; installer/RevitCortex.iss:113-117 Claude Desktop configuration; latest release on github.com/LuDattilo/revitcortex-releases has one asset, RevitCortex-v1.0.50.zip
- REVIT_MCP_study: Partial. setup.ps1 (started by setup.bat; its header calls it a one-click installer) is a PowerShell script that builds the server and add-in from source, then configures Claude Desktop, Gemini CLI and VS Code. Claude Code works through the repo's .mcp.json. Requires the .NET/Node toolchain. Evidence: scripts/setup.ps1:2 "Revit MCP 一鍵安裝程式" (one-click installer); scripts/setup.ps1:9 auto-configures AI clients (Claude Desktop, Gemini CLI, VS Code); scripts/setup.ps1:13-14 double-click setup.bat or powershell -ExecutionPolicy Bypass -File setup.ps1
- BIMwright rvt-mcp: Partial. One PowerShell install.ps1 command (or an AI agent following AGENTS.md) wires 19 MCP clients; no GUI installer. An optional MCPB extension, for Claude Desktop only, is installed through Claude Desktop's own extension UI after running Setup with -Client none. Evidence: scripts/install.ps1:74-78 ValidateSet (19 clients); README.md:68 "Omitting -Client wires every detected client"; README.md:75 MCPB "use Setup with -Client none, then install the .mcpb through Desktop's extension UI"
Signed installer#
- BIMit 2.1: Yes. Release.ps1 -Sign signs the DLLs, MSI and setup. Authenticode for dist/BIMit_Setup_2.1.0.exe and .msi is Valid, signed by GIAVONI PAULO AUGUSTO.
Evidence:
release/Release.ps1:20 "-Sign signs the BIMit DLLs, the updater, the MSI";Get-AuthenticodeSignature dist/BIMit_Setup_2.1.0.exe/.msi = Valid - RevitCortex: No. Nothing in the build or release scripts signs the files. Releases ship as a ZIP with install.ps1. Evidence: grep signtool/Authenticode/certificate in *.ps1 and installer/RevitCortex.iss: nothing; release asset RevitCortex-v1.0.50.zip; README.md:138 powershell -ExecutionPolicy Bypass
- REVIT_MCP_study: No. No installer: built from source with dotnet build and deployed with install-addon.ps1. No code-signing found. Evidence: README.md Manual Setup "dotnet build -c Release.R24 RevitMCP.csproj"; grep signtool/Authenticode/msi: 0 hits
- BIMwright rvt-mcp: No. Setup is a ZIP with a PowerShell script verified by SHA-256 sidecars; MCPB explicitly unsigned; no signtool/Authenticode in the repo. Evidence: GitHub release v1.2.0 notes "the MCPB is unsigned"; docs/install.md:25 "Verify both against their SHA-256 sidecars"
Free to use#
- BIMit 2.1: Yes. BIMit is a free beta: every feature except the developer preview (the Code level, CAD → BIM, PDF → family) is open to any signed-in BIMit account, with no plans, quotas or payments.
Evidence:
release/public/README.en.md:13 "free during the beta" - RevitCortex: Yes. MIT-licensed and free; release builds run without a license gate (licensing code is present for future enforcement). Evidence: LICENSE:1 "MIT License"; src/RevitCortex.Plugin/Licensing/LicenseBootstrap.cs:52-55 "Gate null => NO gating => app runs full"
- REVIT_MCP_study: Yes. Free and open source, MIT license. Evidence: README.md:378-380 "## License ... MIT License"; MCP-Server/package.json "license": "MIT"
- BIMwright rvt-mcp: Yes. Free and open source, Apache-2.0, no paid plan. Evidence: README.md:469 "Apache-2.0 — LICENSE."
Notes#
- Log of every AI call: an opt-in setting counts, as it does for permission levels (CLI flag, environment variable or JSON config). BIMwright rvt-mcp writes every call only with its call log on (off by default); by default its SQLite history records only the calls that change the model.
- On/off switches in the ribbon: No when the ribbon only turns the MCP service or connection on or off and the tool groups are chosen elsewhere (BIMwright rvt-mcp: CLI/env/JSON; REVIT_MCP_study: the MCP_PROFILE environment variable).
- Published release files read besides the code: BIMit's signature was checked with Get-AuthenticodeSignature on the built dist/BIMit_Setup_2.1.0.exe and .msi; RevitCortex's release is in the separate repository github.com/LuDattilo/revitcortex-releases (latest release v1.0.50, one asset: RevitCortex-v1.0.50.zip); BIMwright rvt-mcp's is its GitHub release v1.2.0.
- BIMit's evidence refers to files in its own repository at commit 97007fa (the repository is private). The public side of each BIMit claim is in the release notes and the tool pages on unibim.io.
- One-click AI app setup: Yes only when the product configures AI apps from its own UI or installer, without the user running a script or editing files; Partial when setup is a script/CLI or manual configuration. The note gives how many apps are covered.
- Engines: the note says what was found, with no fractional scores. REVIT_MCP_study: CAD to Revit from DWG only (no PDF) and a read-only sleeve scan that places no sleeves; no WBS coding.
- MCP tool counts are each project's own count of its public tools: BIMit 112 (142 with internal developer tools), RevitCortex 288 (README badge still says 173), REVIT_MCP_study 239, BIMwright rvt-mcp 237 with the full catalog.