Revit交互工具

revit-mcp是一个通过MCP协议与Revit交互的服务,允许AI从Revit项目中获取数据并驱动Revit创建、修改和删除元素。

  • by mamun-7
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 mamun-7/Revit-MCP

使用说明

revit mcp

英语| 简体中文

描述

revit-mcp允许您通过mcp支持的客户端(如Claude、Cline等)使用mcp协议与revit进行交互。

这个项目是服务器端(为AI提供工具),你需要使用 revit mcp插件 (驱动Revit)结合使用。

加入 Discord 的中文翻译是“不和谐”或“纷争”。 | QQ群

特性

  • 允许AI从Revit项目中获取数据
  • 允许AI驱动Revit创建、修改和删除图元
  • 将AI生成的代码发送到Revit执行(可能不成功,在一些要求明确的简单场景中成功率更高)

需求

  • 节点 18+

完整的安装环境还需要考虑revit mcp插件的需求,请参考 revit mcp插件

安装

1.建立本地MCP服务

安装依赖项

npm install

构建

npm run build

2.客户端配置

克劳德客户

Claude客户端->设置>开发者>编辑配置>Claude_desktop_Config.json

{
    "mcpServers": {
        "revit-mcp": {
            "command": "node",
            "args": ["<path to the built file>\\build\\index.js"]
        }
    }
}

重新启动Claude客户端。当您看到锤子图标时,表示与MCP服务的连接正常。

框架

flowchart LR
	CladueDesktop --> revit-mcp --> SocketService--commandName-->CommandlSet--command-->CommandExecute
	CommandManager --> CommandlSet
	CommandExecute --executeResult--> SocketService
	CommandProject1 --> CommandManager
	CommandProject2 --> CommandManager
	CommandProject... --> CommandManager
	subgraph ide1 [MCPClient]
	CladueDesktop
	end
	subgraph ide2 [MCPServer]
	revit-mcp
	end
	subgraph ide3 [Revit]
			subgraph ide3.1 [revit-mcp-plugin]
				SocketService
				CommandlSet
				CommandManager
				CommandExecute
			end
	end

支持的工具

名称 描述
get_current_view_info 获取当前视图信息
get_current_view_elements 获取当前视图元素
get_available_family_type 获取当前项目中的可用族类型
get_selectd_elements 获取所选元素
create_point_based_element 创建基于点的元素(门、窗、家具)
create_line_based_element 创建基于线的图元(墙、梁、管道)
create_surface_based_element 创建基于曲面的元素(地板、天花板)
delete_elements 删除元素
reset_model 重置模型(执行连续对话框时删除流程模型)
modify_element 修改元素的属性(实例参数)
search_modules 搜索可用模块
use_module 使用模块
send_code_to_revit 将代码发送到revit执行
color_splash 基于参数值的颜色元素
tag_walls 标记视图中的所有墙