mcpField
R
Revit MCP

Revit MCP

ローカル
github.com/shuotaoメディア・デザイン1085 日前に更新

Revit MCP について

Revit MCPは、Node.js/TypeScript製のMCPサーバーとローカルのC#アドインを介して、AIクライアントをAutodesk Revitに接続します。Revitを使うBIMエンジニアや建築家向けに、BIMワークフローや標準に基づく手順を提供します。

主な機能

  1. 01Revitワークフロー用の239ツール
  2. 02ローカルC#アドインによるRevit API操作
  3. 03規制や数量拾いに関するBIM手順
  4. 04Revit 2022~2026に対応
  5. 05対応するMCP Appsホストでのインタラクティブな干渉確認

活用シーン

  1. 01ビュー内の壁に寸法を追加
  2. 02カーテンウォールの立面を確認
  3. 03BIMの適合性と数量を検査
  4. 04対応するGUIホストで干渉を確認

MCP 対応

MCPサーバーはクライアントからのツール呼び出しをローカルのRevitアドインに転送し、アドインが該当するRevit APIワークフローを実行します。クライアントとサーバー間はstdio、アドインとはローカルのWebSocketで接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"shuotao-revit": {
"command": "npx",
"args": [
"-y",
"@shuotao/revit-mcp-server"
]
}
}
}
起動コマンドnpx -y @shuotao/revit-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@shuotao/revit-mcp-server1.6.0

ツール

167

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
pipeIdnumberはいパイプ継手の要素 ID
familyNamestringはい取り付けるキャップ/フランジのファミリ名

詳細

Revit MCP

Revit MCP - AIによるRevitの操作

英語 | 繁體中文

Revit MCPを使うと、AIクライアントからModel Context Protocol(MCP)経由でAutodesk Revitのツールを呼び出せます。MCP サーバーはツール呼び出しをローカルのRevitアドインに転送し、アドインが対応するRevit APIワークフローを実行します。

これは何ですか?

自然な言葉でRevitに指示できます。AIクライアントに「このビューのすべての壁に寸法を記入して」や「カーテンウォールの立面図を確認して」と頼むと、Revitが実行します。239個のMCPツールと、90個の専門的なBIM標準作業手順書(SOP)(建築基準、数量積算、コンプライアンスチェック)を活用します。

対象ユーザー: Revitを使い、AIを活用した標準準拠のワークフローを求めるBIMエンジニアや建築家です。Windows上でRevit(2022~2026)を使用でき、アドインをインストールできることが必要です。

クイックスタート(3ステップ)

  1. Revitアドインをインストールします。 C#アドインをビルドしてデプロイします。手動セットアップを参照してください。Revitと実際に通信するのはこちらの部分です。
  2. AIクライアントをMCP サーバーに接続します。 リポジトリをクローンする必要はありません。npmから直接実行できます。
    { "mcpServers": { "revit-mcp": { "command": "npx", "args": ["-y", "@shuotao/revit-mcp-server"] } } }
    
  3. Revitを開き、リボンでMCPサービスを有効にして、指示を始めます。 詳細なセットアップ:AIクライアントの設定。

ご質問や、作成したものを紹介したい場合はこちら → ディスカッション

現在のプロジェクト数

項目数ソース
実行時MCPツール239MCP-Server/src/tools/index.tsのregisterRevitTools()
ドメインSOPファイル94README.mdを除くdomain/*.mdとdomain/references/*.md
Claudeスキル61.claude/skills/*/SKILL.md

これらの数が変わった場合は、CLAUDE.md、README.zh-TW.md、このファイル、docs/DOCUMENT_AUDIENCE_INVENTORY.mdを更新し、次を実行してください。

.\scripts\verify-qaqc.ps1 -SkipBuild -SkipDeploy

新機能:インタラクティブな干渉ビューアー(MCP Apps)

detect_clashesは、MCP Apps拡張機能(io.modelcontextprotocol/ui)を使って、会話内にインタラクティブな干渉レビューUIを表示できるようになりました。これには、この拡張機能に対応したMCPホストが必要です。この機能は既存機能への追加のみです。

  • インタラクティブな表示は、MCP Appsに対応したGUIホスト(Claude Desktop、claude.aiウェブアプリ、VS Code GitHub Copilot)でのみ行われます。Claude CodeのようなターミナルCLIではパネルを表示できず、常にテキスト結果が表示されます。これは想定どおりの動作であり、不具合ではありません。
  • MCP Appsに対応していないホストでは、従来どおりdetect_clashesの通常のテキスト結果が表示されます。動作に変更はありません。
  • stdio接続と既存のRevitアドインへの影響はありません。再インストールや再設定は不要です。

MCP 2026-07-28へのアップグレードに関する詳細は、docs/MIGRATION_GUIDE.mdを参照してください。

アーキテクチャ

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

外部AIクライアントは、このリポジトリ内にAPIキーを用意する必要はありません。アカウントと認証はAIクライアント自体が管理します。AI APIを直接呼び出す埋め込み型Revitチャット機能のみ、APIキーが必要です。

要件

項目要件
OSWindows 10以降
RevitAutodesk Revit 2022、2023、2024、2025、2026
.NETRevit 2022~2024では.NET Framework 4.8、Revit 2025~2026では.NET 8
Node.jsLTS版、できれば20.x以降

ワンクリックセットアップ

初めて使う方におすすめです。

.\scripts\setup.ps1

AIエージェントまたは非対話型のセットアップの場合:

powershell -ExecutionPolicy Bypass -File scripts/setup.ps1 -NonInteractive -RevitVersions "2024,2025"

セットアップスクリプトは、前提条件の確認、依存関係のインストール、MCP サーバーのビルド、Revitアドインのビルドとデプロイを行い、一般的なAIクライアントの設定をサポートします。

MCP Registry からインストール

MCP サーバーは MCP Registry に io.github.shuotao/revit-mcp-server(npm パッケージ @shuotao/revit-mcp-server)として公開されています。次のコマンドで直接実行できます。

npx -y @shuotao/revit-mcp-server

注:この npm パッケージは Node の stdio ブリッジのみです。C# Revit アドイン(MCP/)は別途インストールする必要があります。お使いの Revit バージョンに合わせて、以下の手動セットアップに従ってください。

手動セットアップ

1. MCP サーバーをビルドする
cd MCP-Server
npm install
npm run build

AI クライアントは次のコマンドを起動します。

node MCP-Server/build/index.js
2. Revit アドインをビルドする

お使いの Revit バージョンに合った構成を選択してください。

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

出力例:

MCP/bin/Release.R{YY}/RevitMCP.dll

Revit 2024 の例:

MCP/bin/Release.R24/RevitMCP.dll
3. アドインをデプロイする

推奨:

# 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

このスクリプトは、ビルド出力内のすべての DLL(R22~R24 は 13 個、R25~R26 は 8 個。いずれも正しい数です)をコピーし、コピー前にビルド世代が対象の Revit と一致することを確認します。その後、各ファイルの SHA256 を検証し、古いバックアップをローテーションします。

手動でデプロイする場合は、.addin ファイルと DLL を対応する Revit Addins ディレクトリに配置し、RevitMCP.addin 内の相対アセンブリパスを維持してください。

<Assembly>RevitMCP\RevitMCP.dll</Assembly>

バージョン固有の .addin ファイルを作成したり、DLL の絶対パスをハードコードしたりしないでください。

AI クライアントの設定

プロジェクトレベルの .mcp.json:

{
  "mcpServers": {
    "revit-mcp": {
      "type": "stdio",
      "command": "node",
      "args": ["./MCP-Server/build/index.js"],
      "env": {}
    }
  }
}

.vscode/mcp.json 内の VS Code 設定:

{
  "servers": {
    "revit-mcp": {
      "type": "stdio",
      "command": "node",
      "args": ["${workspaceFolder}/MCP-Server/build/index.js"],
      "env": {}
    }
  }
}

その他の AI クライアントでも同じ仕組みを使用します。node で MCP-Server/build/index.js を起動してください。

クライアントごとの設定テンプレート:

AI クライアント設定場所テンプレート
Claude Codeプロジェクトルートの .mcp.json組み込み済み。そのまま使用できます
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.json組み込み済み
AntigravityUI 設定Antigravity_MCP_Complete_Guide.md

テンプレート内の <YOUR_PROJECT_PATH> を、お使いのマシン上の実際のプロジェクトパスに置き換えてください。

AI クライアントの切り替え

Revit 側の WebSocket サービスは排他的なロックを保持するため、同時に接続できる AI クライアントは 1 つだけです。2 つ目のクライアントが接続を試みると、置き換えられるのではなく、適切に拒否されます(HTTP 409)。最初の接続は維持されます。そのため、複数の AI クライアントは同時ではなく、切り替えて使用します。

このロックの確認が実行される前に、ブラウザーの Origin ヘッダーを含むハンドシェイクはすべて HTTP 403 で拒否されます。これにより、ブラウザーで開いた悪意のあるページが、ユーザーに知られないままアドインを操作できてしまう別のリスクを防ぎます。WebSocket のハンドシェイクはブラウザーの同一オリジンポリシーの対象ではないためです。この拒否を無効にする設定はなく、Origin ヘッダーを送信しない MCP ブリッジには影響しません。

  1. Revit リボンで**「切換/釋放連線」(接続の切り替え/解放)**ボタンをクリックし、現在の接続を解放します。
  2. 別の AI クライアントを起動するか再接続します。その MCP サーバーが localhost:8964 に接続すると、ロックを取得します。
  3. **「MCP 設定」**ダイアログに、現在接続を保持しているクライアント(例:claude-code、claude-ai)が表示されます。
  4. 接続に問題がある場合は、同じリボンボタンを使用するか、Revit リボンから MCP サービスを再起動してリセットしてください。

起動の流れ

  1. Revit を起動します。
  2. Revit プロジェクトを開くか、新規作成します。
  3. Revit リボンから MCP サービスを有効にします。
  4. Revit アドインが localhost:8964 で待ち受けていることを確認します。
  5. AI クライアントを起動または再起動し、MCP サーバーを読み込みます。
  6. AI クライアントから Revit MCP ツールを呼び出します。

localhost:8964 に接続できない場合、Revit が起動していない、MCP サービスがオフになっている、ポートが使用中である、または AI クライアントと Revit アドインで異なるポート設定を使用している可能性があります。

プロジェクト構成

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 向けドキュメントと人間向けドキュメント

種類場所ルール
AI 専用CLAUDE.md、.claude/commands/、.claude/skills/文字化けを避けるため、英語を優先します
人間向けREADME.md、README.zh-TW.md、docs/、scripts/README.md読者の言語に合わせます
共有domain/*.md、log/README.mdDomain ファイルは中国語で読める状態を保ち、英語のみの内容にしてはいけません
履歴docs/_archive/**、古いログ原則としてそのまま保持します

docs/DOCUMENT_AUDIENCE_INVENTORY.md を参照してください。

Domain、Skill、Tool の責務

  • domain/*.md:BIM の SOP、規制ロジック、計算方法を記載します。人間と AI が共有します。
  • .claude/skills/*/SKILL.md:AI のワークフローを調整します。
  • MCP-Server/src/tools/*.ts:MCP ツールの定義と入力スキーマを記載します。
  • MCP/Core/Commands/*.cs:Revit API の実装です。

Domain ファイルと Skill で方法が異なる場合は、Domain ファイルを優先します。

QA/QC

ドキュメント、ツール、Domain、Skill、ビルド、デプロイに変更を加えた後、次を実行してください。

.\scripts\verify-qaqc.ps1 -SkipBuild -SkipDeploy

デプロイ前に、完全なチェックを実行してください。

.\scripts\verify-qaqc.ps1 -Version 2024

QA/QC では次の項目をチェックします。

  • 使用禁止のレガシーファイルとパス
  • 必須のファイル構成
  • README/CLAUDE/docs の件数の整合性
  • Domain テーブルの順方向および逆方向の網羅性
  • ローカル Markdown リンク切れ
  • Domain のフロントマター
  • ドキュメントの対象読者分類
  • 正式ドキュメントの文字化けリスク

トラブルシューティング

AI が Revit ツールを見つけられない

次を確認してください。

  1. MCP-Server で npm run build を実行済みであること。
  2. AI クライアントの MCP 設定が、正しい MCP-Server/build/index.js を参照していること。
  3. AI クライアントを再起動したか、MCP サーバーを再読み込みしたこと。
MCP Server が Revit に接続できない

次を確認してください。

  1. Revit が起動していること。
  2. Revit のリボンで MCP サービスが有効になっていること。
  3. localhost:8964 が使用されていないこと。
  4. HTTP.sys/PID 4 がポートを占有している場合は、次を試してください。
powershell -ExecutionPolicy Bypass -File scripts\release-port.ps1
Revit に MCP Tools パネルが表示されない

.addin ファイルと DLL が、対応する %APPDATA%\Autodesk\Revit\Addins\{version} ディレクトリにデプロイされていることを確認してから、Revit を再起動してください。

重要なルール

  • MCP/RevitMCP.csproj は 1 つだけにしてください。
  • MCP/RevitMCP.addin は 1 つだけにしてください。
  • バージョン固有の .csproj または .addin ファイルを作成しないでください。
  • ネストされた MCP/MCP/ ディレクトリを作成しないでください。
  • .addin の <Assembly> を絶対パスに変更しないでください。
  • Domain ファイルを英語のみの内容にしないでください。
  • 手書きの WebSocket JSON で MCP サーバーを迂回しないでください。
  • 現在のターンにおける Revit のビュー、レベル、選択、またはドキュメントの状態については、AI がライブ状態を照会する必要があります。

ドキュメントの案内

ドキュメント目的
CLAUDE.mdAI エージェント向けの基本規約とプロジェクトマップ
AGENTS.mdCLAUDE.md へのリダイレクト
GEMINI.mdCLAUDE.md へのリダイレクト
README.zh-TW.md繁体字中国語の README
CONTRIBUTING.mdコントリビューションガイド
CHANGELOG.mdリリース履歴
domain/README.mdDomain SOP カタログ
domain/lessons.mdプロジェクトの教訓
.claude/skills/AI スキル
.claude/commands/AI スラッシュコマンド
scripts/README.mdスクリプトのドキュメント
docs/DOCUMENT_AUDIENCE_INVENTORY.mdドキュメントの対象読者一覧
docs/DOCS_STRUCTURE.mddocs ディレクトリのガイド
log/README.mdログ追記ルール

ライセンス

MIT ライセンス

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。