Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
MCP Server for Revit integration - AI-Powered Revit Control
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"revit": {
"command": "npx",
"args": [
"-y",
"@shuotao/revit-mcp-server"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add revit -- npx -y @shuotao/revit-mcp-serverPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"revit": {
"command": "npx",
"args": [
"-y",
"@shuotao/revit-mcp-server"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"revit": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@shuotao/revit-mcp-server"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub shuotao, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (1.6.0) llegó al registro hace 3 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, Tethered Trust
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
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.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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:
Solo se muestra el principio; lee el resto en el repo