README
🚀 Revit MCP 服务器
Revit MCP 服务器是一款用于 Autodesk Revit 的模型上下文协议服务器,它能让 AI 代理通过自然语言控制 Autodesk Revit,还可与 Claude Desktop、Microsoft Copilot 以及自定义 MCP 客户端集成。
🚀 快速开始
前提条件
- Windows 10/11 操作系统
- Autodesk Revit 2024 或 2025 版本
- Python 3.11 及以上版本
- .NET Framework 4.8
安装步骤
# 克隆仓库
git clone https://github.com/Sam-AEC/Autodesk-Revit-MCP-Server.git
cd Autodesk-Revit-MCP-Server
# 构建 Revit 插件
.\scripts\build-addin.ps1 -RevitVersion 2024
# 安装 Python 包
pip install -e packages/mcp-server-revit
配置 Claude Desktop
编辑 %APPDATA%\Claude\claude_desktop_config.json 文件:
{
"mcpServers": {
"revit": {
"command": "python",
"args": ["-m", "revit_mcp_server.mcp_server"],
"env": {
"MCP_REVIT_BRIDGE_URL": "http://127.0.0.1:3000",
"MCP_REVIT_MODE": "bridge"
}
}
}
}
验证安装
启动 Revit,然后执行以下命令:
curl http://localhost:3000/health
预期响应如下:
{
"status": "healthy",
"revit_version": "2024"
}
✨ 主要特性
- 拥有 100 多个 Revit API 工具,涵盖几何、视图、图纸、族、MEP、结构等方面。
- 本地主机 HTTP 桥接,响应时间低于 1 秒。
- 采用线程安全的 ExternalEvent 架构。
- 具备高级反射 API,可无限制访问 Revit。
- 功能全面,适用于生产环境。
演示

🔧 技术细节
架构
┌─────────────────────────────────┐
│ AI 客户端 (Claude/Copilot) │
└───────────────┬─────────────────┘
│ MCP 协议
┌───────────────▼─────────────────┐
│ MCP 服务器 (Python) │
│ - 工具注册表 │
│ - 安全/审计 │
└───────────────┬─────────────────┘
│ HTTP :3000
┌───────────────▼─────────────────┐
│ Revit 桥接插件 (C#) │
│ - HTTP 服务器 │
│ - 外部事件处理程序 │
└───────────────┬─────────────────┘
│ Revit API
┌───────────────▼─────────────────┐
│ Autodesk Revit 2024/2025 │
└─────────────────────────────────┘
- 线程模型:HTTP 请求通过
ExternalEvent排队并在 Revit 的主线程上执行,以确保线程安全。 - 桥接状态:桥接作为本地主机 HTTP 服务器在端口 3000 上运行,提供健康检查和工具执行端点。
可用工具
文档管理
revit.create_new_document- 创建空白项目revit.open_document- 打开 RVT/RFA 文件revit.save_document- 保存活动文档revit.close_document- 关闭文档revit.get_document_info- 获取项目元数据
标高与轴网
revit.create_level- 在指定标高创建标高revit.list_levels- 列出所有标高revit.create_grid- 创建轴网线
模型元素
revit.create_wall- 根据曲线创建墙体revit.create_floor- 根据轮廓创建楼板revit.create_roof- 根据轮廓创建屋顶revit.create_column- 创建结构柱revit.create_beam- 创建结构梁revit.create_foundation- 创建基础元素revit.create_room- 创建房间边界
MEP 系统
revit.create_duct- 创建 HVAC 风管revit.create_pipe- 创建给排水管道revit.create_cable_tray- 创建电缆桥架revit.create_conduit- 创建电气导管revit.get_mep_systems- 列出 MEP 系统
族与组件
revit.place_family_instance- 放置族实例revit.place_door- 在墙体中放置门revit.place_window- 在墙体中放置窗revit.list_families- 列出已加载的族revit.edit_family- 编辑族文档
元素操作
revit.delete_element- 删除元素revit.copy_element- 平移复制元素revit.move_element- 按向量移动元素revit.rotate_element- 绕轴旋转元素revit.mirror_element- 跨平面镜像元素revit.pin_element- 固定元素位置revit.unpin_element- 解除元素固定
参数操作
revit.get_element_parameters- 读取元素参数revit.set_parameter_value- 设置参数值revit.get_parameter_value- 读取单个参数revit.batch_set_parameters- 批量更新参数revit.get_type_parameters- 获取类型参数revit.set_type_parameter- 设置类型参数
视图操作
revit.create_3d_view- 创建等轴测 3D 视图revit.create_section_view- 创建剖面视图revit.create_floor_plan_view- 创建楼层平面视图revit.duplicate_view- 复制视图revit.apply_view_template- 应用视图模板revit.get_view_templates- 列出视图模板revit.list_views- 列出所有视图
图纸与文档
revit.create_sheet- 创建带有标题栏的图纸revit.place_viewport_on_sheet- 在图纸上放置视口revit.list_sheets- 列出所有图纸revit.delete_sheet- 删除图纸revit.duplicate_sheet- 复制图纸revit.get_sheet_info- 获取图纸信息revit.list_titleblocks- 列出标题栏类型revit.populate_titleblock- 填充标题栏参数revit.renumber_sheets- 重新编号图纸revit.batch_create_sheets_from_csv- 从 CSV 文件批量创建图纸
注释操作
revit.create_tag- 创建元素标签revit.create_dimension- 创建尺寸标注revit.create_text_note- 创建文本注释revit.create_text_type- 创建文本类型revit.tag_all_in_view- 在视图中标记所有元素revit.create_revision_cloud- 创建修订云
选择与查询
revit.get_selection- 获取当前选择revit.set_selection- 设置元素选择revit.list_elements_by_category- 按类别查询元素revit.get_element_type- 获取元素类型revit.get_element_bounding_box- 获取元素边界框revit.get_categories- 列出所有类别
组与链接
revit.create_group- 创建模型组revit.ungroup- 解组元素revit.convert_to_group- 转换为组revit.get_group_members- 获取组成员revit.get_link_instances- 列出链接实例revit.get_rvt_links- 列出 Revit 链接
进度表与数据
revit.create_schedule- 创建进度表视图revit.get_schedule_data- 提取进度表数据revit.export_schedules- 将进度表导出为 CSV 文件revit.calculate_material_quantities- 计算材料数量
导出操作
revit.export_pdf_by_sheet_set- 导出为 PDF 文件revit.export_dwg_by_view- 导出为 DWG 文件revit.export_ifc_with_settings- 导出为 IFC 文件revit.export_navisworks- 导出为 Navisworks 文件revit.export_image- 将视图导出为图像revit.render_3d_view- 渲染 3D 视图
项目信息
revit.get_phases- 列出项目阶段revit.get_phase_filters- 列出阶段过滤器revit.get_design_options- 列出设计选项revit.get_worksets- 列出工作集revit.get_warnings- 获取模型警告revit.get_project_location- 获取项目位置
工作共享
revit.sync_to_central- 与中心文件同步revit.relinquish_all- 释放所有元素
材质与渲染
revit.create_material- 创建材质revit.set_element_material- 分配材质revit.get_render_settings- 获取渲染设置
分析与验证
revit.check_clashes- 运行碰撞检测revit.get_room_boundary- 获取房间边界
高级功能
revit.invoke_method- 通用 Revit API 方法调用revit.reflect_get- 通过反射获取属性revit.reflect_set- 通过反射设置属性
项目参数
revit.list_shared_parameters- 列出共享参数revit.create_shared_parameter- 创建共享参数revit.list_project_parameters- 列出项目参数revit.create_project_parameter- 创建项目参数
修订
revit.get_revision_sequences- 获取修订序列
总计:100 多个工具 • 完整 API 参考:docs/tools.md
开发状态
本服务器正在积极维护并持续改进。有关最新更新和已知限制,请参阅:
📄 许可证
本项目采用 MIT 许可证,版权所有 (c) 2025。
📚 详细文档
🔒 安全说明
- 默认设置:仅本地主机 (
127.0.0.1:3000) 可访问,无需身份验证。 - 企业级设置:支持可选的 HTTPS、OAuth2 (Entra ID)、审计日志和速率限制。
详细信息请参阅 docs/security.md。
📁 项目结构
Autodesk-Revit-MCP-Server/
├── packages/
│ ├── revit-bridge-addin/ # C# Revit 插件
│ │ └── src/Bridge/
│ │ ├── App.cs # IExternalApplication
│ │ ├── BridgeServer.cs # HTTP 服务器
│ │ └── BridgeCommandFactory.cs
│ └── mcp-server-revit/ # Python MCP 服务器
│ ├── src/revit_mcp_server/
│ │ ├── mcp_server.py # MCP 协议
│ │ ├── bridge/client.py # HTTP 客户端
│ │ └── tools/ # 工具处理程序
│ └── tests/
├── scripts/
│ ├── build-addin.ps1 # 构建 C# DLL
│ └── install.ps1 # 部署到 Revit
├── docs/
│ ├── tools.md # API 参考
│ ├── architecture.md # 系统设计
│ └── security.md # 安全模型
└── README.md
Scan to contact