Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
MCP Server for Revit integration - AI-Powered Revit Control
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"revit": {
"command": "npx",
"args": [
"-y",
"@shuotao/revit-mcp-server"
]
}
}
}Run this in your terminal
claude mcp add revit -- npx -y @shuotao/revit-mcp-serverPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"revit": {
"command": "npx",
"args": [
"-y",
"@shuotao/revit-mcp-server"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"revit": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@shuotao/revit-mcp-server"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account shuotao, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.6.0) reached the registry 3 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Readfirst
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
What to read and check before changing a file: project rules, risks, checks and tests per file.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
8964Talk 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 239 MCP tools backed by 90 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.
{ "mcpServers": { "revit-mcp": { "command": "npx", "args": ["-y", "@shuotao/revit-mcp-server"] } } }
Questions or want to show what you built? → [Discussions](https://github.com/shuotao/REVIT_MCP_study/discussions)
| Item | Count | Source |
|---|---|---|
| Runtime MCP tools | 239 | registerRevitTools() in MCP-Server/src/tools/index.ts |
| Domain SOP files | 94 | domain/*.md except README.md, plus domain/references/*.md |
| Claude skills | 61 | .claude/skills/*/SKILL.md |
When these numbers change, update CLAUDE.md, README.zh-TW.md, this file, docs/DOCUMENT_AUDIENCE_INVENTORY.md, and run:
.\scripts\verify-qaqc.ps1 -SkipBuild -SkipDeploy
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:
detect_clashes's normal text result — nothing changes for them.See docs/MIGRATION_GUIDE.md for the full MCP 2026-07-28 upgrade notes.
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 Revit
External 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.
| Item | Requirement |
|---|---|
| OS | Windows 10 or later |
| Revit | Autodesk Revit 2022, 2023, 2024, 2025, 2026 |
| .NET | .NET Framework 4.8 for Revit 2022-2024; .NET 8 for Revit 2025-2026 |
| Node.js | LTS, preferably 20.x or later |
Recommended for new users:
.\scripts\setup.ps1
For AI agents or non-interactive setup:
powershell -ExecutionPolicy Bypass -File scripts/setup.ps1 -NonInteractive -RevitVersions "2024,2025"
The setup script checks prerequisites, installs dependencies, builds the MCP server, builds and deploys the Revit add-in, and helps configure common AI clients.
The MCP server is published on the MCP Registry as io.github.shuotao/revit-mcp-server (npm package @shuotao/revit-mcp-server). Run it directly with:
npx -y @shuotao/revit-mcp-server
Note: this npm package is only the Node stdio bridge. The C# Revit add-in (MCP/) must still be installed separately — follow Manual Setup below for your Revit version.
cd MCP-Server
npm install npm run build
AI clients launch:
node MCP-Server/build/index.js
Choose the configuration that matches your Revit version:
cd MCP
dotnet build -c Release.R22 RevitMCP.csproj # Revit 2022 dotnet build -c Release.R23 RevitMCP.csproj # Revit 2023 dotnet build -c Release.R24 RevitMCP.csproj # Revit 2024 dotnet build -c Release.R25 RevitMCP.csproj # Revit 2025 dotnet build -c Release.R26 RevitMCP.csproj # Revit 2026
Expected output:
MCP/bin/Release.R{YY}/RevitMCP.dll
Example for Revit 2024:
MCP/bin/Release.R24/RevitMCP.dll
Recommended:
# Pick the Revit version explicitly. With several installed and no -Version, the script asks;
.\scripts\install-addon.ps1 -Version 2024
.\scripts\install-addon.ps1 -All
The script copies every DLL in the build output (13 for R22-R24, 8 for R25-R26 — both are correct), checks the build generation matches the target Revit before copying, verifies each file by SHA256 afterwards, and rotates old backups.
For manual deployment, place the .addin file and DLL under the matching Revit Addins directory, and keep the relative assembly path in RevitMCP.addin:
<Assembly>RevitMCP\RevitMCP.dll</Assembly>
Do not create version-specific .addin files, and do not hardcode absolute DLL paths.
Project-level .mcp.json:
{
"mcpServers": { "revit-mcp": { "type": "stdio", "command": "node", "args": ["./MCP-Server/build/index.js"], "env": {} } } }
VS Code config in .vscode/mcp.json:
{
"servers": { "revit-mcp": { "type": "stdio", "command": "node", "args": ["${workspaceFolder}/MCP-Server/build/index.js"], "env": {} } } }
Other AI clients use the same concept: launch MCP-Server/build/index.js with node.
Config template per client:
| AI Client | Config location | Template |
|---|---|---|
| Claude Code | project root .mcp.json | built in, works out of the box |
| 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 | built in |
| Antigravity | UI settings | Antigravity_MCP_Complete_Guide.md |
Replace in the templates with the actual project path on your machine.
The Revit-side WebSocket service holds an exclusive lock: only one AI client can be connected at a time. A second client that tries to connect is cleanly rejected (HTTP 409), not swapped in — the first connection stays stable. Multiple AI clients are therefore used by switching, not concurrently:
Before that lock check even runs, any handshake carrying a browser Origin header is rejected outright with HTTP 403. This closes a separate risk: a malicious page open in your browser could otherwise drive the add-in without your knowledge, since WebSocket handshakes aren't covered by the browser's same-origin policy. It has no settings opt-out and does not affect the MCP bridge, which never sends an Origin header.
localhost:8964, it takes the lock.claude-code, claude-ai).localhost:8964.If localhost:8964 is unreachable, Revit may not be running, the MCP service may be off, the port may be occupied, or the AI client and Revit add-in may be using different port settings.
REVIT_MCP/
MCP/ Revit Add-in (C#) Application.cs Revit add-in entry point RevitMCP.csproj Single multi-version project RevitMCP.addin Single add-in manifest Core/ SocketService.cs Revit-side WebSocket server ExternalEventManager.cs UI-thread execution bridge RevitCompatibility.cs Revit 2022-2026 compatibility helpers CommandExecutor.cs Main command dispatcher Commands/*.cs Command modules MCP-Server/ MCP Server (Node.js / TypeScript) src/index.ts stdio MCP server entry src/socket.ts WebSocket client to Revit src/tools/*.ts MCP tool definitions domain/ Shared BIM SOPs; do not convert to English-only .claude/ AI commands and skills docs/ Human-facing docs and public knowledge site scripts/ Setup, deployment, QA/QC scripts log/ Append-only session and commit logs
| Type | Location | Rule |
|---|---|---|
| AI-only | CLAUDE.md, .claude/commands/, .claude/skills/ | English-first to avoid mojibake |
| Human-facing | README.md, README.zh-TW.md, docs/, scripts/README.md | Match the reader's language |
| Shared | domain/*.md, log/README.md | Domain files must remain Chinese-readable and must not become English-only |
| Historical | docs/_archive/**, old logs | Preserve by default |
See docs/DOCUMENT_AUDIENCE_INVENTORY.md.
domain/*.md: BIM SOPs, regulatory logic, and calculation methods. Shared by humans and AI..claude/skills/*/SKILL.md: AI workflow orchestration.MCP-Server/src/tools/*.ts: MCP tool definitions and input schemas.MCP/Core/Commands/*.cs: Revit API implementation.If a Domain file and a Skill disagree on method, the Domain file wins.
After documentation, tool, Domain, Skill, build, or deployment changes, run:
.\scripts\verify-qaqc.ps1 -SkipBuild -SkipDeploy
Before deployment, run a full check:
.\scripts\verify-qaqc.ps1 -Version 2024
QA/QC checks:
Check:
Only the beginning is shown; read the rest in the repo