Skip to main content
Glama
vascocardosondBIM

mcp-server-for-revit

mcp-server-for-revit

AIアシスタント(Claude、Cursorなど)からAutodesk Revitを操作するためのMCPサーバー(Node.js)。

このリポジトリには、区別すべき2つの要素が含まれています:

  1. 「オリジナル」のMCP(Nodeブリッジ)mcp-servers-for-revit エコシステムに準拠しており、Revitの操作を MCPツール として公開します。このサーバーは、WebSocketではなく TCP(デフォルトポート 8080)を介して 公式Revitプラグイン と通信します。

  2. このフォークの拡張機能 — ブリッジにおける デュアルポートREVIT_PLUGIN_PORT / REVIT_SKETCH_PORT)と、revit-plugin/RevitSketchPoC/ フォルダ内にある独立したアドイン RevitSketchPoC(C# / WPF)です。これは別のポート(デフォルト 8081)をリッスンし、create_house_from_sketch ツール(画像解釈 + Revit内での壁/部屋/ドアの作成)のみを処理します。プラグイン内で Ollama または Gemini を設定可能です。

[!NOTE] 完全なフローには、オリジナルのRevitプラグイン(ポート 8080)と、MCPまたはUI経由でスケッチを使用する場合は RevitSketchPoC(ポート 8081)が必要です。公式プラグインの手順:mcp-servers-for-revit。PoCの詳細:revit-plugin/RevitSketchPoC/README.md

セキュリティとGit

  • .env ファイル、JSON内のキー、またはシークレットを含むローカルコピーを コミットしないでください。リポジトリには、node_modules/、.NETアーティファクト(bin/ / obj/)、.env*、および pluginsettings.local.json 用の .gitignore が含まれています。

  • PoCの deploy/pluginsettings.json ファイルでは、Git上で GeminiApiKey を空 にしておく必要があります。ローカルコピーを使用するか、pluginsettings.example.json をテンプレートとして使用してください。

セットアップ (MCPクライアント)

Claude Code

claude mcp add mcp-server-for-revit -- npx -y mcp-server-for-revit

Claude Desktopclaude_desktop_config.json:

{
    "mcpServers": {
        "mcp-server-for-revit": {
            "command": "npx",
            "args": ["-y", "mcp-server-for-revit"],
            "env": {
                "REVIT_PLUGIN_PORT": "8080",
                "REVIT_SKETCH_PORT": "8081"
            }
        }
    }
}

クライアントを再起動します。ツールアイコンが表示されれば、MCPが接続されています。

2つのポート、2つのプラグイン

環境変数

デフォルト値

TCP送信先

REVIT_PLUGIN_PORT

8080

オリジナルプラグイン — create_house_from_sketch を除く すべての ツール

REVIT_SKETCH_PORT

8081

RevitSketchPoCcreate_house_from_sketch のみ

create_house_from_sketch ツールは REVIT_SKETCH_PORT(またはリクエスト内の data.pluginPort)を使用します。pluginPort フィールドはRevitには送信されません(ブリッジによって削除されます)。その他のツールは REVIT_PLUGIN_PORT を使用します。

サポートされているMCPツール

ツール

説明

get_current_view_info

アクティブなビューの情報

get_current_view_elements

アクティブなビュー内の要素

get_available_family_types

利用可能なファミリタイプ

get_selected_elements

選択された要素

get_material_quantities

材料の数量

ai_element_filter

モデルへのインテリジェントなクエリ

analyze_model_statistics

モデルの統計情報

create_point_based_element

点ベースの要素

create_line_based_element

線ベースの要素

create_surface_based_element

面ベースの要素

create_grid

グリッド

create_level

レベル

create_room

部屋

create_dimensions

寸法

create_structural_framing_system

梁構造システム

delete_element

IDによる削除

operate_element

操作(選択、色付け、非表示など)

color_elements

パラメータによる色付け

tag_all_walls / tag_all_rooms

タグ付け

export_room_data

部屋データの書き出し

store_project_data / store_room_data / query_stored_data

ローカルメタデータ

send_code_to_revit

Revitで実行するC#コードの送信

create_house_from_sketch

スケッチ画像 → LLM解釈(RevitSketchPoCで Ollama または Gemini) → 壁/部屋/ドアの作成

say_hello

接続テスト

開発 (Node)

npm install
npm run build

Sketch PoC (C# / WPF)

現在サポートされている実装は revit-plugin/RevitSketchPoC/ にあります(UI、MCP TCPルーター、Ollama/Gemini、Revitトランザクション)。samples/RevitSketchPoC/ フォルダは古い参照として存在する可能性があります。revit-plugin/RevitSketchPoC/README.md にあるプラグインのREADMEに従ってください。

フローの概要:

  1. ユーザーが画像を送信(リボン Sketch AI PoC または MCP create_house_from_sketch)。

  2. プラグインがLLMを呼び出す(pluginsettings.json に応じてOllamaまたはGemini)。

  3. 構造化された応答 → Revitの Transaction 内で要素を作成。

ライセンス

MIT

Related MCP Connectors