RevitMCP
RevitMCP是一个pyRevit扩展和一个Python服务器,允许AI客户端在实时Revit会话中工作。
它支持两种使用方式:
- Web用户界面位于
http://127.0.0.1:8000 - 克劳德桌面本地MCP通过stdio
存储库布局说明:此存储库根是pyRevit扩展根。如果手动从源代码安装,则应命名签出目录本身 RevitMCP.extension.
工具
RevitMCP公开了29个工具:
| 工具 | 说明 |
|---|---|
get_revit_project_info | 获取活动项目元数据、文档路径和Revit版本详细信息 |
get_active_view_info | 读取当前视图的名称、类型、比例和相关元数据 |
get_active_view_elements | 捕获活动视图中可见元素的有界快照 |
export_active_view_image | 将活动的Revit视图导出到本地图像工件,以进行模型视觉检查 |
activate_view | 按视图ID或视图名称切换活动的Revit视图 |
duplicate_view | 复制视图(可选),包括细节/依赖、模板分配和激活 |
get_active_selection | 将当前Revit选择作为可重复使用的结果集读取 |
get_revit_diagnostics | 返回实时pyRevit路线、文档、活动视图、选择和写入上下文诊断 |
list_family_types | 列出加载的族类型,包括类别、族、类型和符号ID |
get_revit_schema_context | 加载规范Revit模式上下文,包括标高、类别、族、类型和常用参数 |
resolve_revit_targets | 将用户术语解析为精确的Revit类别、标高、族、类型和参数名称 |
get_revit_memory_context | 加载持久的本地用户/项目注释,以重复使用Revit惯例和工作流提示 |
save_revit_memory_note | 为未来的聊天和工具运行保存持久的本地用户/项目注释 |
analyze_model_statistics | 总结模型组成,包括类别、族/类型、视图、图纸、标高和房间数 |
get_elements_by_category | 检索类别的所有元素并存储结果以供后续操作 |
select_elements_by_id | 通过显式ID或存储的结果句柄选择元素 |
select_stored_elements | 在Revit中选择以前存储的搜索或筛选结果 |
list_stored_elements | 列出服务器上当前可用的存储元素结果集及其计数 |
filter_elements | 按类别、级别和基于参数的条件查找元素 |
filter_stored_elements_by_parameter | 使用一个或多个目标值通过批量服务器端参数过滤来优化存储的结果集 |
get_element_properties | 读取特定元素或现有结果句柄的参数值 |
update_element_parameters | 使用类型化值处理更新一个或多个元素参数 |
override_element_graphics | 为显式ID或存储的结果集应用或重置活动视图图形覆盖 |
delete_elements | 删除具有模拟运行、确认、最大计数、取消钉和批量/单独保护措施的元素 |
place_view_on_sheet | 创建新图纸,自动编号,并在其上放置匹配的视图 |
list_views | 列出可以放置在图纸上的视图,包括类型和放置状态 |
analyze_view_naming_patterns | 按类型和标志命名的集群视图名称可能命名异常值 |
suggest_view_name_corrections | 根据先前的视图命名分析生成重命名建议 |
plan_and_execute_workflow | 从结构化工具计划执行多步骤Revit工作流 |
需求
- 欧特克 Revit
- pyRevit
- Python 3.7+可用作
python如果您想直接或通过Claude Desktop运行外部服务器 - 使用RevitMCP时打开的Revit项目
表面模式
RevitMCP有两个服务器表面:
web:浏览器UI位于http://127.0.0.1:8000mcp:克劳德桌面的stdio服务器
一 server.py 该过程一次运行一个曲面。
手动切换:
python lib\RevitMCP_ExternalServer\server.py --surface web
python lib\RevitMCP_ExternalServer\server.py --surface mcp如果使用pyRevit启动器,它将从以下位置读取首选曲面:
%USERPROFILE%\Documents\RevitMCP\user_data\revitmcp_settings.json
{
"preferences": {
"server_surface": "web"
}
}如果你想同时使用Web UI和Claude Desktop,它们需要作为单独的进程运行。
安装RevitMCP
- 安装pyRevit: pyRevit安装程序
- 选择以下pyRevit扩展根之一:
- %APPDATA%\pyRevit\Extensions - %PROGRAMDATA%\pyRevit\Extensions
- 将此存储库直接克隆到名为的文件夹中
RevitMCP.extension根下:
git clone https://github.com/oakplank/RevitMCP.git "%APPDATA%\pyRevit\Extensions\RevitMCP.extension"- 如果下载ZIP,请将存储库内容解压缩到名为的文件夹中
RevitMCP.extension在同一个扩展根下。 - 重新加载pyRevit或重新启动Revit。
文件夹名称很重要:pyRevit通过以结尾的文件夹发现扩展名 .extension.
启用Revit路线
- 打开Revit。
- 首选
pyRevit -> Settings. - 启用路由服务器。
- 重新启动Revit。
- 如果Windows要求,允许防火墙访问。
默认的Revit Routes端口通常为 48884.
快速入门:Web UI
- 打开Revit项目。
- 在Revit中,单击
RevitMCP -> Server -> Launch RevitMCP. - 打开
http://127.0.0.1:8000. - 在web UI中添加任何所需的模型或API设置。
- 尝试:
Get Revit project info
快速入门:克劳德桌面
- 安装克劳德桌面:
https://claude.ai/download - 在Claude Desktop中,转到
Settings -> Developer -> Local MCP Servers -> Edit Config. - 添加
revitmcp到您的Claude配置。
如果您的Claude配置已存在,请保持当前配置 preferences 以及其他MCP服务器。仅添加 revitmcp 在...之下 mcpServers.
如果复制下面的完整示例,请更新 preferences 值以匹配您自己的Claude Desktop设置。
{
"mcpServers": {
"revitmcp": {
"command": "python",
"args": [
"C:\\Program Files\\pyRevit-Master\\extensions\\RevitMCP.extension\\lib\\RevitMCP_ExternalServer\\server.py",
"--surface",
"mcp"
]
}
},
"preferences": {
"chromeExtensionEnabled": true,
"coworkScheduledTasksEnabled": true,
"ccdScheduledTasksEnabled": true,
"sidebarMode": "chat",
"coworkWebSearchEnabled": true
}
}- 替换示例
server.py路径与机器上的实际路径。 - 如果
python不起作用,请用完整路径替换它python.exe. - 保存文件并完全重新启动Claude Desktop。
- 重新开放
Settings -> Developer -> Local MCP Servers并确认revitmcp显示running. - 尝试:
Get Revit project info
预计克劳德桌面屏幕之后 revitmcp 已配置:
Claude Desktop Local MCP settings showing Developer selected and the revitmcp server running
故障排除
revitmcp 未显示在Claude Desktop中
- 检查您的Claude配置是否是有效的JSON。
- 确保
server.py路径是绝对存在的。 - 如果
python未找到,请使用完整路径python.exe. - 从系统托盘中完全退出Claude Desktop并重新打开。
- 检查
%APPDATA%\Claude\logs.
克劳德桌面可以看到 revitmcp 但工具不起作用
- 确保Revit已打开并加载了项目。
- 确保pyRevit路由已启用。
- 启用Routes后重新启动Revit。
- 打开
View Logs为了revitmcp在克劳德桌面。
Web UI或服务器启动问题
- 检查
%USERPROFILE%\Documents\RevitMCP\server_logs - 启动日志:
server_startup_error.log - 应用程序日志:
server_app.log
