mcpField
M
Model MCP

Model MCP

ローカル
github.com/sharafutdinovdiメディア・デザイン71 週間前に更新

Model MCP について

Model MCPは、MCPクライアントを稼働中のAutodesk Revitプロジェクトに接続し、モデルの確認や編集を行うサーバーです。名前付きの取り消し履歴、変更プレビュー、読み取り専用や承認の制御を備えています。

主な機能

  1. 01Revitモデルの読み取りと確認
  2. 02要素の検索、選択、表示
  3. 03要素、ファミリ、ビュー、シートの編集
  4. 04複数モデルの一括処理
  5. 05変更のプレビューと取り消し

活用シーン

  1. 01モデルの健全性と警告の確認
  2. 02部屋や要素の検索とハイライト
  3. 03制御されたモデル編集と取り消し
  4. 04複数モデルのスナップショット収集

MCP 対応

MCPサーバーとして、Revitモデルの確認、編集、エクスポート、一括処理のツールをMCPクライアントに公開します。Windowsアドイン経由でRevitに接続し、SSH経由のリモートワークステーションを含むstdioに対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"sharafutdinovdi-revit-model": {
"command": "uvx",
"args": [
"revit-model-mcp"
],
"env": {
"REVIT_MCP_HOST": "<REVIT_MCP_HOST>",
"REVIT_MCP_REDACT_PATHS": "<REVIT_MCP_REDACT_PATHS>",
"REVIT_MCP_READ_ONLY": "<REVIT_MCP_READ_ONLY>",
"REVIT_MCP_TOOLSETS": "<REVIT_MCP_TOOLSETS>",
"REVIT_MCP_TOKEN": "<REVIT_MCP_TOKEN>"
}
}
}
}
起動コマンドuvx revit-model-mcp
設定が必要な環境変数
REVIT_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypirevit-model-mcp1.0.0

ツール

77

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

パラメーター型必須説明
job_idanyいいえ
wait_sintegerいいえ待機する秒数。0~50 秒です。
documentanyいいえ対象となるアクティブなドキュメントのタイトルまたはファイル名に含まれる、大文字と小文字を区別しない部分文字列です。読み取りには一致するインスタンスがちょうど 1 つ必要です。document を省略する場合は、実行中のインスタンスがちょうど 1 つ必要です。一致が 0 件または複数の場合、公開前に失敗します。document を省略すると、revit_list_instances は一致するすべてのインスタンス、または実行中のすべてのインスタンスを返します。
process_idanyいいえ正確な正の Revit プロセス ID です。document より優先されます。両方を指定した場合は一致する必要があります。
cancel_job_idanyいいえ
timeout_secondsintegerいいえジョブの取得後、結果を待つ正の整数秒数です(省略時は 120)。HTTP ではこの値が応答時間の予算として使われます。期限を過ぎるとエラーが発生します。この値を増やしてもアドインの実行制限は変更されません。
pickup_timeout_secondsintegerいいえアドインがローカルまたは SSH のジョブを受け取るまで待つ正の整数秒数です(省略時は 300)。HTTP 経由では無視されます。取得がタイムアウトするとエラーが発生しますが、保留中のジョブは後で実行される場合があります。

詳細

Model MCP:BIMをオートパイロットで操作します。stdioサーバーを起動するClaude Desktop、Claude Code、または任意のMCPクライアントから、稼働中のRevitプロジェクトについて質問し、確認し、変更できます。プロンプト「モデルをレベルごとに構築して」に応じて、Revitの3Dビューで建物モデルがレベルごとに立ち上がるアニメーションです。

Autodesk® Revit® 用のModel MCPは、stdioサーバーを起動するClaude Desktop、Claude Code、または任意のMCPクライアントを、稼働中のRevitプロジェクトに接続します。 モデルについて質問し、確認し、自然な言葉で変更できます。 変更はすべて、Revitで名前付きの取り消し項目として記録されます。読み取り専用モードには、スイッチひとつで切り替えられます。

CI 最新リリース PyPI Revit 2022-2027 OpenSSF Scorecard MIT

左側にClaude Desktopの会話、右側にRevit 2026が表示されています。Claudeは開いているモデルを読み取り、最大の部屋を見つけて平面図を開き、その部屋を選択して分離表示し、椅子を配置して移動した後、後片付けを行います

この録画では、Mac上のClaude DesktopがWindowsワークステーション上のRevit 2026に接続しています。 操作が有効になっている状態で録画しています。

録画内で行われる操作
  1. 「Revitで今開いているモデルは何ですか?」クライアントはドキュメント、レベル、部屋の数を読み取ります。
  2. 「部屋の面積が最も大きいレベルはどれですか?最大の部屋を見つけて表示してください。」クライアントはレベルごとの部屋の面積を集計し、最大の部屋を検索します。 revit_showで該当する平面図を開き、その部屋を選択します。
  3. 「その部屋だけを表示し、中央にChair-Breuerを配置して、X方向に800 mm移動してください。」revit_isolateを実行し、部屋のroomCenterMmにrevit_place_familyで配置した後、revit_moveを実行します。変更操作はそれぞれ個別のRevitトランザクションとして実行されます。
  4. 後片付けも、もう一文で完了します。ビューをリセットし、椅子を削除します。
## クイックスタート

必要なものは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 の 3D ビューで、まず柱、続いて壁、床、屋根が組み上がっていく建物
「施工順に建物が組み上がる様子を表示してください。」
カメラが回り込む Revit の 3D ビューで、建物の要素が所定の位置に飛んでいく様子
「建物を一つずつ組み立ててください。」
ダクトネットワークを通って流れる給気と還気を青とオレンジで表示
「給気と還気が建物内を流れる様子を表示してください。」
ビューが回転する間、モデルの警告に応じて色付けされた Revit の 3D ビュー内の要素
「モデルを警告ごとに色分けしてください。」

モデルをレビューする

モデルを読み込み、問題を見つけて、Revit 上に表示します。 読み込みによってドキュメントが変更されることはありません。 エクスポートされた画像は revit_export_view で保存された PNG ファイルです。下の画像はそのうちの 1 つで、加工していません。

Revit サンプルプロジェクトから revit_export_view でエクスポートされたビュー
モデルをレビューするツール
タスクツール
接続と開いているドキュメントを確認する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 による承認を受けたものではありません。

コメント

MCP は初めてですか?

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

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