Skip to main content
Glama
vascocardosondBIM

mcp-server-for-revit

mcp-server-for-revit

用于从 AI 助手(Claude、Cursor 等)与 Autodesk Revit 进行交互的 MCP 服务器(Node.js)。

本仓库包含两部分内容,需要加以区分:

  1. “原始” MCP(Node 网桥) — 与 mcp-servers-for-revit 生态系统保持一致:将 Revit 操作公开为 MCP 工具;服务器通过 TCP(默认端口 8080)与官方 Revit 插件通信,而非在此网桥流程中使用 WebSocket。

  2. 此分支的扩展 — 网桥中的双端口REVIT_PLUGIN_PORT / REVIT_SKETCH_PORT)以及 revit-plugin/RevitSketchPoC/ 文件夹中独立的 RevitSketchPoC 加载项(C# / WPF),它监听另一个端口(默认 8081)并仅处理 create_house_from_sketch 工具(图像解释 + 在 Revit 中创建墙体/房间/门),插件中可配置 OllamaGemini

[!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 已连接。

双端口,双插件

环境变量

默认值

TCP 目标

REVIT_PLUGIN_PORT

8080

原始插件 — create_house_from_sketch 外的所有工具

REVIT_SKETCH_PORT

8081

RevitSketchPoC create_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

发送 C# 代码在 Revit 中执行

create_house_from_sketch

草图图像 → LLM 解释(RevitSketchPoC 中的 OllamaGemini)→ 墙体/房间/门

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