Revit MCP

Revit MCP

AI-powered control of Autodesk Revit through the Model Context Protocol, enabling natural language BIM workflows.

Category
访问服务器

README

<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 166 MCP tools backed by 72 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

Item Count Source
Runtime MCP tools 166 registerRevitTools() in MCP-Server/src/tools/index.ts
Domain SOP files 72 domain/*.md except README.md, plus domain/references/*.md
Claude skills 50 .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

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

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

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:

.\scripts\install-addon.ps1

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 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 <YOUR_PROJECT_PATH> in the templates with the actual project path on your machine.

Switching Between AI Clients

The Revit-side WebSocket service accepts only one MCP connection at a time: a newly connected MCP server replaces the previous connection. Multiple AI clients are therefore used by switching, not concurrently:

  1. Close the current AI client (or disable its MCP server).
  2. Start the other AI client; once its MCP server connects to localhost:8964, it takes over.
  3. If the connection misbehaves, 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

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, 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

Document Purpose
CLAUDE.md Main AI agent constitution and project map
AGENTS.md Redirect to CLAUDE.md
GEMINI.md Redirect to CLAUDE.md
README.zh-TW.md Traditional Chinese README
CONTRIBUTING.md Contribution guide
CHANGELOG.md Release history
domain/README.md Domain SOP catalog
domain/lessons.md Project lessons
.claude/skills/ AI skills
.claude/commands/ AI slash commands
scripts/README.md Script documentation
docs/DOCUMENT_AUDIENCE_INVENTORY.md Document audience inventory
docs/DOCS_STRUCTURE.md Docs directory guide
log/README.md Log append rules

License

MIT License

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选