PluginBench
MCP Server
Active

Revit MCP MCP Server

io.github.shuotao/revit-mcp-server

AI-powered Revit control through 173 MCP tools backed by 76 professional BIM SOPs.

What is the Revit MCP MCP server?

Revit MCP is an MCP server that lets AI clients call Autodesk Revit tools through the Model Context Protocol. It forwards tool calls from an AI client to a local Revit add-in via WebSocket, which executes the corresponding Revit API workflows. Designed for BIM engineers and architects using Revit 2022–2026 on Windows who want AI-assisted, standards-based workflows.

Revit MCP bridges AI clients (Claude, Gemini, Copilot) to Autodesk Revit via 173 MCP tools grounded in 76 professional BIM standard operating procedures. Talk to Revit in plain language—ask it to dimension walls, check elevations, or run compliance checks—and it executes the task through the Revit API. Requires a C# add-in installed in Revit and a Node.js MCP server running locally.

How to install Revit MCP

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "revit-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@shuotao/revit-mcp-server"
      ]
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "revit-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@shuotao/revit-mcp-server"
      ]
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "revit-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@shuotao/revit-mcp-server"
      ]
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "revit-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@shuotao/revit-mcp-server"
      ]
    }
  }
}
Claude Code
claude mcp add revit-mcp-server -- npx -y @shuotao/revit-mcp-server

Tools & capabilities

Tools this server exposes to the agent.

  • detect_clashesDetect and render interactive clash-review UI inline in conversation (MCP Apps support).
  • Dimension toolsDimension walls and other elements on views.
  • Elevation check toolsCheck curtain-wall elevations and other elevation-related tasks.
  • Compliance and validation toolsRun building code checks and compliance verification.
  • Quantity take-off toolsExtract and calculate material quantities from the model.

Use cases

  • Automatically dimension every wall on a view by asking the AI in plain language.
  • Check curtain-wall elevations and flag non-compliant geometry.
  • Run building-code compliance checks and generate reports.
  • Extract quantity take-offs for materials and cost estimation.
  • Detect clashes between building systems and review them interactively.

Revit MCP MCP server FAQ

What is Revit MCP?

Revit MCP is an MCP server that lets AI clients (Claude, Gemini, Copilot) control Autodesk Revit through 173 tools backed by 76 professional BIM SOPs. You talk to Revit in plain language, and it executes tasks like dimensioning, compliance checks, and clash detection via the Revit API.

Is Revit MCP free?

Yes, Revit MCP is open-source under the MIT License. You only need a valid Autodesk Revit license (2022–2026) and an AI client account (Claude, Gemini, etc.).

How do I install it in Claude or Cursor?

Install the C# Revit add-in by running `./scripts/setup.ps1` on Windows, then configure your AI client to launch the MCP server via Node.js. For Claude Desktop, add the server to `%APPDATA%\Claude\claude_desktop_config.json` pointing to `MCP-Server/build/index.js`. For Cursor/VS Code, use `.vscode/mcp.json` or project `.mcp.json`.

What are the system requirements?

Windows 10 or later, Autodesk Revit 2022–2026, .NET Framework 4.8 (for Revit 2022–2024) or .NET 8 (for Revit 2025–2026), and Node.js LTS (20.x or later).

Do I need an API key?

No. The MCP server does not require an API key. Your AI client (Claude, Gemini, etc.) manages its own authentication. Only an embedded Revit chat feature that directly calls an AI API would need a key.

Can I use multiple AI clients at once?

No. The Revit add-in holds an exclusive WebSocket lock on port 8964. Only one AI client can be connected at a time. Switch clients by clicking the 'Switch/Release Connection' button in the Revit ribbon.

README (reference)

Source of truth, from the repository.

<div align="center"> <img src="assets/logo.png" alt="Revit MCP" width="140" height="140"> </div>

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.

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 173 MCP tools backed by 76 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)

  1. Install the Revit add-in. Build and deploy the C# add-in — see Manual Setup. This is the half that actually talks to Revit.
  2. 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"] } } }
    
  3. 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

ItemCountSource
Runtime MCP tools173registerRevitTools() in MCP-Server/src/tools/index.ts
Domain SOP files76domain/*.md except README.md, plus domain/references/*.md
Claude skills54.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

New: 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 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.

Requirements

ItemRequirement
OSWindows 10 or later
RevitAutodesk Revit 2022, 2023, 2024, 2025, 2026
.NET.NET Framework 4.8 for Revit 2022-2024; .NET 8 for Revit 2025-2026
Node.jsLTS, preferably 20.x or later

One-Click Setup

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.

Install from MCP Registry

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.

Manual Setup

1. Build the MCP Server

cd MCP-Server
npm install
npm run build

AI clients launch:

node MCP-Server/build/index.js

2. Build the Revit Add-in

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

3. Deploy the Add-in

Recommended:

# Pick the Revit version explicitly. With several installed and no -Version, the script asks;
# in -NonInteractive mode it fails rather than guessing (it never silently picks the highest).
.\scripts\install-addon.ps1 -Version 2024

# Deploy to every installed version that has a matching build
.\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.

AI Client Configuration

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 ClientConfig locationTemplate
Claude Codeproject root .mcp.jsonbuilt in, works out of the box
Claude Desktop%APPDATA%\Claude\claude_desktop_config.jsonMCP-Server/claude_desktop_config.json
Gemini CLI~/.gemini/settings.jsonMCP-Server/gemini_mcp_config.json
VS Code Copilot.vscode/mcp.jsonbuilt in
AntigravityUI settingsAntigravity_MCP_Complete_Guide.md

Replace <YOUR_PROJECT_PATH> in the templates with the actual project path on your machine.

Switching Between AI Clients

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:

  1. In the Revit ribbon, click the "切換/釋放連線" (Switch/Release Connection) button to release the current connection.
  2. Start or reconnect the other AI client; once its MCP server connects to localhost:8964, it takes the lock.
  3. The "MCP 設定" dialog shows which client currently holds the connection (e.g. claude-code, claude-ai).
  4. If the connection misbehaves, use the same ribbon button, or restart the MCP service from the Revit ribbon to reset it.

Startup Flow

  1. Start Revit.
  2. Open or create a Revit project.
  3. Enable the MCP service from the Revit ribbon.
  4. Confirm the Revit add-in is listening on localhost:8964.
  5. Start or restart the AI client so it loads the MCP server.
  6. Call Revit MCP tools from the AI client.

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.

Project Structure

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

AI Docs and Human Docs

TypeLocationRule
AI-onlyCLAUDE.md, .claude/commands/, .claude/skills/English-first to avoid mojibake
Human-facingREADME.md, README.zh-TW.md, docs/, scripts/README.mdMatch the reader's language
Shareddomain/*.md, log/README.mdDomain files must remain Chinese-readable and must not become English-only
Historicaldocs/_archive/**, old logsPreserve by default

See docs/DOCUMENT_AUDIENCE_INVENTORY.md.

Domain, Skill, and Tool Responsibilities

  • 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.

QA/QC

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:

  • forbidden legacy files and paths
  • required file structure
  • README / CLAUDE / docs count alignment
  • Domain table forward and reverse coverage
  • local Markdown link rot
  • Domain frontmatter
  • document audience classification
  • mojibake risk in canonical docs

Troubleshooting

AI cannot find Revit tools

Check:

  1. npm run build has been run in MCP-Server.
  2. The AI client's MCP config points to the correct MCP-Server/build/index.js.
  3. The AI client has been restarted or has reloaded MCP servers.

MCP Server cannot connect to Revit

Check:

  1. Revit is running.
  2. The MCP service is enabled in the Revit ribbon.
  3. localhost:8964 is not occupied.
  4. If HTTP.sys / PID 4 is holding the port, try:
powershell -ExecutionPolicy Bypass -File scripts\release-port.ps1

Revit does not show the MCP Tools panel

Confirm the .addin file and DLL were deployed under the matching %APPDATA%\Autodesk\Revit\Addins\{version} directory, then restart Revit.

Important Rules

  • Keep one MCP/RevitMCP.csproj.
  • Keep one MCP/RevitMCP.addin.
  • Do not create version-specific .csproj or .addin files.
  • Do not create nested MCP/MCP/ directories.
  • Do not change .addin <Assembly> to an absolute path.
  • Do not convert Domain files to English-only.
  • Do not bypass the MCP server with hand-written WebSocket JSON.
  • For live Revit view, level, selection, or document state, AI must query live state in the current turn.

Document Navigation

DocumentPurpose
CLAUDE.mdMain AI agent constitution and project map
AGENTS.mdRedirect to CLAUDE.md
GEMINI.mdRedirect to CLAUDE.md
README.zh-TW.mdTraditional Chinese README
CONTRIBUTING.mdContribution guide
CHANGELOG.mdRelease history
domain/README.mdDomain SOP catalog
domain/lessons.mdProject lessons
.claude/skills/AI skills
.claude/commands/AI slash commands
scripts/README.mdScript documentation
docs/DOCUMENT_AUDIENCE_INVENTORY.mdDocument audience inventory
docs/DOCS_STRUCTURE.mdDocs directory guide
log/README.mdLog append rules

License

MIT License

Related MCP servers

Control a real Chrome browser to complete any task: fill forms, extract data, book flights.

110k
Python
MIT
View repository →

Real-time global intelligence: markets, conflicts, country risk, energy, and infrastructure monitoring via 39 MCP tools.

83k
TypeScript
AGPL-3.0
View repository →

Netdata

Active

Real-time infrastructure monitoring with per-second metrics, ML-powered anomaly detection, and zero-configuration setup.

80k
Go
GPL-3.0
View repository →

Trending hip-hop artist momentum scores across four cultural dimensions.

79k
TypeScript
MIT
View repository →

AI orchestration platform with 100+ agents, swarm coordination, and self-learning memory for enterprise development.

68k
TypeScript
MIT
View repository →

Web scraping with stealth HTTP, real browsers, and Cloudflare bypass capabilities.

67k
Python
BSD-3-Clause
View repository →