Model MCP について
Model MCPは、MCPクライアントを稼働中のAutodesk Revitプロジェクトに接続し、モデルの確認や編集を行うサーバーです。名前付きの取り消し履歴、変更プレビュー、読み取り専用や承認の制御を備えています。
主な機能
- 01Revitモデルの読み取りと確認
- 02要素の検索、選択、表示
- 03要素、ファミリ、ビュー、シートの編集
- 04複数モデルの一括処理
- 05変更のプレビューと取り消し
活用シーン
- 01モデルの健全性と警告の確認
- 02部屋や要素の検索とハイライト
- 03制御されたモデル編集と取り消し
- 04複数モデルのスナップショット収集
MCP 対応
MCPサーバーとして、Revitモデルの確認、編集、エクスポート、一括処理のツールをMCPクライアントに公開します。Windowsアドイン経由でRevitに接続し、SSH経由のリモートワークステーションを含むstdioに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx revit-model-mcpREVIT_MCP_HOSTRevit host: local PowerShell, ssh:<alias>, or an http://host:port or https://host:port endpoint.REVIT_MCP_REDACT_PATHSSet to 1 to replace document and nested model paths with file names. Disabled by default.REVIT_MCP_READ_ONLYSet to 1 to disable actions that modify or delete model elements without hiding the action tools. Actions run by default.REVIT_MCP_TOOLSETSComma-separated toolsets whose tools are listed: all, core, read, actions, documents, views-sheets, family, links, cad-mep, export, batch, code. core is always included. Limits visibility only. Default all.REVIT_MCP_TOKENシークレットHTTP bearer token from the workstation settings.json. Required only for http:// or https:// hosts; leave unset for local and SSH.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
77掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| job_id | any | いいえ | |
| wait_s | integer | いいえ | 待機する秒数。0~50 秒です。 |
| document | any | いいえ | 対象となるアクティブなドキュメントのタイトルまたはファイル名に含まれる、大文字と小文字を区別しない部分文字列です。読み取りには一致するインスタンスがちょうど 1 つ必要です。document を省略する場合は、実行中のインスタンスがちょうど 1 つ必要です。一致が 0 件または複数の場合、公開前に失敗します。document を省略すると、revit_list_instances は一致するすべてのインスタンス、または実行中のすべてのインスタンスを返します。 |
| process_id | any | いいえ | 正確な正の Revit プロセス ID です。document より優先されます。両方を指定した場合は一致する必要があります。 |
| cancel_job_id | any | いいえ | |
| timeout_seconds | integer | いいえ | ジョブの取得後、結果を待つ正の整数秒数です(省略時は 120)。HTTP ではこの値が応答時間の予算として使われます。期限を過ぎるとエラーが発生します。この値を増やしてもアドインの実行制限は変更されません。 |
| pickup_timeout_seconds | integer | いいえ | アドインがローカルまたは SSH のジョブを受け取るまで待つ正の整数秒数です(省略時は 300)。HTTP 経由では無視されます。取得がタイムアウトするとエラーが発生しますが、保留中のジョブは後で実行される場合があります。 |
詳細
Autodesk® Revit® 用のModel MCPは、stdioサーバーを起動するClaude Desktop、Claude Code、または任意のMCPクライアントを、稼働中のRevitプロジェクトに接続します。 モデルについて質問し、確認し、自然な言葉で変更できます。 変更はすべて、Revitで名前付きの取り消し項目として記録されます。読み取り専用モードには、スイッチひとつで切り替えられます。
この録画では、Mac上のClaude DesktopがWindowsワークステーション上のRevit 2026に接続しています。 操作が有効になっている状態で録画しています。
録画内で行われる操作
- 「Revitで今開いているモデルは何ですか?」クライアントはドキュメント、レベル、部屋の数を読み取ります。
- 「部屋の面積が最も大きいレベルはどれですか?最大の部屋を見つけて表示してください。」クライアントはレベルごとの部屋の面積を集計し、最大の部屋を検索します。
revit_showで該当する平面図を開き、その部屋を選択します。 - 「その部屋だけを表示し、中央にChair-Breuerを配置して、X方向に800 mm移動してください。」
revit_isolateを実行し、部屋のroomCenterMmにrevit_place_familyで配置した後、revit_moveを実行します。変更操作はそれぞれ個別のRevitトランザクションとして実行されます。 - 後片付けも、もう一文で完了します。ビューをリセットし、椅子を削除します。
必要なものは2つです。Windows 上の Revit に追加するアドインと、MCP クライアントの近くに置くサーバーです。 詳細と要件については、要件とインストールをご覧ください。 Claude Desktop と Claude Code でテスト済みです。他のクライアントはテスト済みクライアントのページに掲載しています。
1. アドインをインストールします。
Revit がインストールされた Windows マシンで、最新リリースから RevitModelMcp-<version>-SingleUser.msi(現在のユーザー向け)または RevitModelMcp-<version>-MultiUser.msi(すべてのユーザー向け)をダウンロードします。
どちらか一方だけをインストールしてください。
または、WinGet を使ってインストールできます。
winget install Sharafutdinov.RevitModelMcp
インストール中は Revit を終了しておき、完了後に Revit を起動してモデルを開きます。 リリースビルドはまだコード署名されていないため、Revit はアドインを読み込むかどうかを確認します。
2. MCP クライアントにサーバーを追加します。 Revit で「Add-ins > MCP > Connect AI app」を選ぶと、バンドルされているサーバーが Claude Desktop、Cursor、VS Code、Codex に登録されます。Claude Code の場合は、コピーして貼り付けるコマンドが表示されます。 MSI にはサーバーの実行ファイルが含まれているため、この方法では別途 Python や uv をインストールする必要はありません。
PyPI サーバーを使う場合: uvをインストールしてから、サーバーを登録します。 同じ Windows マシン上で Claude Code を使う場合:
claude mcp add revit-model-mcp -e REVIT_MCP_HOST=local -e REVIT_MCP_REDACT_PATHS=1 -- uvx revit-model-mcp
Claude Desktop の場合は、最新リリースに含まれる revit-model-mcp-<version>.mcpb バンドルを開くか、次の設定を MCP 設定に追加します。
{
"mcpServers": {
"revit-model-mcp": {
"command": "uvx",
"args": ["revit-model-mcp"],
"env": {
"REVIT_MCP_HOST": "local",
"REVIT_MCP_REDACT_PATHS": "1"
}
}
}
}
macOS または Linux では、REVIT_MCP_HOST=local の代わりにリモートワークステーションを使います。
Claude Desktop バンドルのページで、設定フォームについて説明しています。
3. 最初の質問をします。
クライアントを再起動し、Revit でモデルを開いたまま、次のように尋ねます:「revit_ping を呼び出して、どのモデルが開いているか教えてください。」
success: true と表示されれば、両方が接続されています。
クローンしたリポジトリからは、uv run --directory server revit-model-mcp を実行すると、パッケージをインストールせずに同じサーバーを起動できます。
更新については、リリース版アドインが毎日 GitHub を確認し、既定で通知します。PyPI サーバーは PyPI を確認します。または、新しい MSI をインストールしてください(更新)。 バグはIssuesで報告し、質問はDiscussionsで尋ねてください。脆弱性は SECURITY.md から報告してください。
Model MCP を選ぶ理由
- 安全性を考慮した設計です。 Revit での各変更は名前付きの取り消し項目として記録され、設定を1つ変更するだけでサーバー全体を読み取り専用にできます。
- 先に確認します。 保存、同期などの取り消せない操作は、明示的に承認するまで実行されません。
- 一般的なソフトウェアと同じようにインストールできます。 MSI インストーラーを使用し、SCCM、Intune、Group Policy 向けの導入ガイドも用意しています。
- Mac からも使えます。 MCP の標準入出力は SSH 経由で Windows ワークステーションに接続するため、ポートを開く必要はありません。
これらのプロンプトを試す
Revit でモデルを開いた状態で、これらのプロンプトを MCP クライアントに貼り付けてください。 最後の列には、各プロンプトが使用するツールを示しています。
| 目標 | プロンプト | ツール |
|---|---|---|
| レビュー | "開いているモデルの概要を教えてください。レベル、カテゴリ別の要素数、リンク、主な問題を含めてください。" | revit_document_info, revit_list_catalog, revit_aggregate_elements, revit_list_warnings |
| ヘルスチェック | "このモデルを発行する前にヘルスチェックを実行し、失敗した項目を一覧表示してください。" | revit_model_health, revit_parameter_fill_check |
| 検索して表示 | "このフロアのドアを検索し、3D で場所を表示してください。" | revit_query_elements, revit_capture_elements |
| ハイライト | "L2 の平面図でそれらのドアを赤く色付けし、ほかのすべてを薄く表示してください。" | revit_activate_view, revit_override_graphics |
| 変更してから元に戻す | "選択した要素を X 軸方向に 500 mm 移動してください。まずプレビューし、次に実行してから、元に戻してください。" | dry_run を指定した revit_move、revit_undo_last |
| フォルダー内で一括処理 | "このフォルダー内のすべてのモデルの読み取り専用スナップショットを収集し、パラメーターが未入力のモデルを教えてください。" | revit_batch_start, revit_batch_status, revit_build_report |
| ISO 19650 登録簿 | "このモデルを EIR に照らして確認し、要素のスナップショットを含む課題登録簿を Excel に書き出してください。" | ISO 19650 スキルを使用する revit_issue_register |
| 書き出し | "L2 の平面図を PDF で、モデル全体を Navisworks ファイルで書き出してください。" | revit_export, revit_export_nwc |
| Mac から実行 | "revit_ping を呼び出し、ワークステーションで開いているモデルを教えてください。" | SSH 経由の revit_ping(リモートワークステーションを参照) |
できること
表にはすべてのツールが名前で記載されています。ツールリファレンスには、引数、単位、制限事項が記載されています。
![]() 「施工順に建物が組み上がる様子を表示してください。」 | ![]() 「建物を一つずつ組み立ててください。」 |
![]() 「給気と還気が建物内を流れる様子を表示してください。」 | ![]() 「モデルを警告ごとに色分けしてください。」 |
モデルをレビューする
モデルを読み込み、問題を見つけて、Revit 上に表示します。
読み込みによってドキュメントが変更されることはありません。
エクスポートされた画像は revit_export_view で保存された PNG ファイルです。下の画像はそのうちの 1 つで、加工していません。
モデルをレビューするツール
| タスク | ツール |
|---|---|
| 接続と開いているドキュメントを確認する | revit_ping, revit_ui_state, revit_documents, revit_document_info, revit_list_instances |
| 要素を検索して数える | revit_list_catalog, revit_aggregate_elements, revit_query_elements, revit_element_details, revit_list_relations |
| ビューと集計表を読み込む | revit_list_views, revit_view_info, revit_view_summary, revit_view_elements, revit_schedule_data |
| 警告を読み込む | revit_list_warnings, revit_view_warnings |
| モデルの品質を確認する | revit_model_health, revit_parameter_fill_check, revit_family_audit |
| 画像を取得する | revit_export_view, revit_capture_elements |
| Revit 上の対象を指し示す | revit_activate_view, revit_select, revit_show, revit_isolate, revit_override_graphics |
座標、リンク、基準面を扱う
リンクモデルとグリッドやレベルを比較して整列し、リンクと共有座標を調べ、CAD と Navisworks への引き渡しを準備します。
リンクと基準面を扱うツール
| タスク | ツール |
|---|---|
| リンクと座標を調べる | revit_links_status, revit_shared_coordinates |
| 基準面を比較して整列する | revit_compare_link_datums, revit_align_link_datums |
| CAD リンクを扱う | revit_link_cad, revit_walls_from_cad |
| リンクを削除する | revit_remove_links |
| Navisworks にエクスポートする | revit_nwc_settings_check, revit_export_nwc |
モデルを安全に変更する
要素、ファミリ、ビュー、シートを編集します。 各変更は名前付きの取り消し項目として記録され、リスクの高い呼び出しでは確認を待ってから実行します。 safety を参照してください。
モデルを変更するツール
| タスク | ツール |
|---|---|
| 要素を編集する | revit_move, revit_rotate, revit_copy, revit_mirror, revit_change_type, revit_set_parameter, revit_update_parameters, revit_delete |
| 複数の手順を 1 回の取り消し操作として実行する | revit_run_actions |
| 要素を作成する | revit_create_wall, revit_create_mep_run |
| ファミリを扱う | revit_load_family, revit_place_family, revit_place_families, revit_edit_families |
| ビューとシートを扱う | revit_create_view, revit_duplicate_view, revit_apply_view_template, revit_set_view_visibility, revit_create_sheet, revit_place_views_on_sheet |
| 要素にタグを付け、集計表を作成する | revit_tag_elements, revit_create_schedule |
| ドキュメントを開く、保存する、閉じる | revit_open_document, revit_new_document, revit_activate_document, revit_close_views, revit_close_document, revit_save_document, revit_sync_document |
| ファイルをエクスポートする | revit_export |
| Revit で C# を実行する | revit_execute_code |
| 取り消す | revit_undo_last |
複数のモデルをまとめて処理する
モデルのフォルダーを対象に、同じチェック、編集、エクスポート、保存を実行するか、永続的な実行で複数モデルから読み取り専用のスナップショットを収集します。
長時間のジョブは、クライアントの再起動後も有効な jobId を返します。
複数モデルを扱うツール
| タスク | ツール |
|---|---|
| 複数のモデルを開き、変更し、エクスポートして保存する | revit_process_models |
| モデルを変更せずにスナップショットを収集する | revit_batch_start, revit_batch_status, revit_batch_cancel, revit_batch_fetch |
| 長時間のジョブを確認してキャンセルする | revit_jobs, revit_cancel_job |
要件に照らしてモデルを確認し、重大度の集計、要素の行、要素のスナップショットを含む Excel 登録簿を作成します。 スナップショットを使えば、後で Revit を起動せずにモデルを監査することもできます。
登録簿とレポート用のツール
| タスク | ツール |
|---|---|
| モデルのスナップショットを取得する | revit_model_snapshot |
| 課題登録簿を作成する | revit_issue_register |
| スナップショットからレポートを作成する | revit_build_report |
プロンプトとスキル
プロンプトとコーディネーターガイドでは、読み取り専用でモデルを確認するワークフローを説明しています。
Claude Code の場合は、skills/revit-model-coordinator を ~/.claude/skills/ にコピーします。
Claude Desktop の場合は、そのスキルフォルダーを zip 形式に圧縮し、スキルとしてアップロードします。
手作業で作成した ISO 19650 課題登録簿スキルは、EIR/BEP の要件に照らしてモデルを確認し、要素のスナップショットを含む Excel 登録簿を作成します。
同じ方法でインストールします。skills/iso19650-issue-register を ~/.claude/skills/ にコピーするか、フォルダーを zip 形式に圧縮して Claude Desktop にアップロードします。
安全性
- アクションはデフォルトで有効です。 サーバー環境で
REVIT_MCP_READ_ONLY=1を設定するか、ワークステーションにread-onlyファイルを作成すると、すべてのアクションが拒否されます。アクションツールは引き続き一覧に表示されますが、実行されずにerrorCode: "read_only"を返します。 - 変更ごとに取り消しが 1 回できます。 確定したアクションは、名前付きの Revit の取り消しエントリ 1 つになります。これは Revit の[取り消し]リストとアドインの「MCP activity」ペインに表示されます。
revit_undo_lastは、それが Revit で最後に行った変更である間、取り消しを実行します。 - 取り消せないアクションには確認トークンが必要です。 保存、同期、リンクの削除、C# の実行には、いずれも確認トークンが必要です。変更がある状態での終了、500 個を超える要素の削除、既存のエクスポートファイルの上書き、バッチ実行でのインプレース保存にも確認トークンが必要です。最初の呼び出しでは何も変更されず、提示するテキストが返されます。再試行時には、明示的な同意が必要です。トークンは 1 回のみ使用でき、有効期限は 5 分です。
- ドライラン。
revit_move、revit_delete、revit_run_actions、revit_export、revit_process_modelsなど、モデルを変更するツールではdry_runを指定して、変更を確定せずに結果をプレビューできます。 - わかりやすい概要。 すべてのアクションは
verificationと、変更内容を説明する 1 文のsummaryを返します。 - パスの秘匿。
REVIT_MCP_REDACT_PATHS=1を設定すると、応答のパスフィールドでディレクトリが非表示になります。名前、パラメーター値、エラーは引き続き表示されます。 - ワークステーションに接続できない場合。
errorCode: "transport_unavailable"とretryable: trueは、Revit またはワークステーションに接続できず、呼び出しが実行されなかったことを示します。ワークステーションまたはトンネルが復旧したら再試行してください。エラーと拒否を参照してください。 - HTTP。 HTTP の直接呼び出しにはベアラートークンが必要です。また、ワークステーションの読み取り専用ファイルが存在する間は拒否されます。
無人実行では、読み取り専用モードを有効にしてください。 確認トークンはミスや指示の挿入を防ぎますが、自動で確認するクライアントはトークンを送り返すことができます。 ゲート、例外、検証失敗についてはアクション、認証とプライバシーの境界についてはセキュリティの詳細を参照してください。脆弱性の報告には SECURITY.md をご利用ください。
リモートワークステーション
ローカルの Windows クライアントでは、Revit ユーザーのアカウントで REVIT_MCP_HOST=local を使用します。
リモートクライアントでは、Revit を実行している Windows ユーザーと同じユーザーとして、SSH 経由でワークステーション上でサーバー全体を実行します。
まず、ワークステーションに uv tool install revit-model-mcp でインストールし、ssh をコマンドとして登録します。
{
"mcpServers": {
"revit-model-mcp": {
"command": "ssh",
"args": ["revit-pc", "revit-model-mcp", "--redact-paths"]
}
}
}
revit-pc をワークステーションの SSH ホストエイリアスに置き換えてください。
MCP の stdio は SSH セッションを通じて流れ、リモートサーバーは名前付きパイプを使用するため、ポートを開く必要はありません。
REVIT_MCP_HOST=ssh:<alias>(SSH 経由のファイルチャネル)と、SSH トンネル経由の HTTP も引き続き利用できます。HTTP では /health を除きベアラートークンが必要で、デフォルトではループバックにバインドされます。
トランスポートの設定を参照してください。
互換性
Windows 10 および 11 上の Revit 2022〜2027 に対応しています。
アドインは、Revit 2022〜2024 では .NET Framework 4.8、2025 および 2026 では .NET 8、2027 では .NET 10 を対象としています。
すべての年のバージョンで、ビルド、インストール、ライブ読み取りおよびアクションの実行が可能です。
MSI には、Python や uv を別途インストールする必要のない Windows 用サーバー実行ファイルが含まれています。
PyPI サーバーには Python 3.11 以降が必要で、Windows、macOS、Linux で実行できます。uv を使って uvx revit-model-mcp で起動できます。
日付と制限については検証の証拠を、既知の課題も参照してください。
プライバシー
Model MCP は、要求されたモデルデータを選択された MCP クライアントに返します。
バンドルでは、応答内のパスの秘匿化がデフォルトで有効になっています。
このプロジェクトではテレメトリを使用していません。
プライバシーポリシーでは、収集、更新チェック、AI クライアントとのデータフロー、保存、保持期間、連絡先情報について説明しています。
サーバーは 1 日に 1 回、新しい安定版リリースがあるか確認します。確認を無効にするには REVIT_MCP_NO_UPDATE_CHECK=1 を設定してください。
管理者向け
デプロイガイドでは、MSI のサイレントインストール、SCCM、Intune、グループポリシー、オフラインでのサーバーインストール、プロキシについて説明しています。 ポリシーリファレンスには、すべての設定とその優先順位が記載されています。 セキュリティレビューには、セキュリティホワイトペーパーと質問票への回答を使用してください。 MCP 仕様、テスト済みのクライアント、およびModel MCP が意図的に行わないことも参照してください。
コード署名ポリシー
リリースビルドにはまだコード署名がないため、インストール後と更新のたびに、Revit でアドインを読み込むかどうかを確認するメッセージが表示されます。
SHA256SUMS.txt とビルド来歴のアテステーションを使ってダウンロードを検証してください。コード署名ポリシーとダウンロードの検証を参照してください。
更新モードとインストールについては、自動更新を参照してください。
貢献とサポート
ドキュメントでは、セットアップ、ツール、トランスポートについて説明しています。 CONTRIBUTING.mdから始めるか、ディスカッションで質問するか、イシューフォームからバグを報告したり、機能をリクエストしたりしてください。 CI では、C# と Python のテストスイートを実行し、サポート対象の Revit 構成をビルドします。 Model MCP によって時間を節約できた場合は、GitHub で :star: を付けると、ほかの Revit ユーザーにも見つけてもらいやすくなります。
ライセンス
MITライセンスのもとで公開され、Dinar Sharafutdinov がメンテナンスしています。 依存関係のライセンスについては、サードパーティに関する通知をご覧ください。
商標
Autodesk および Revit は、米国およびその他の国における Autodesk, Inc. および/またはその子会社および/または関連会社の登録商標または商標です。Model MCP は独立したプロジェクトであり、Autodesk との提携や、Autodesk による承認を受けたものではありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。



