使用说明
项目简介
这是一个用于 Autodesk Revit 的 Model Context Protocol (MCP) 服务器实现。它利用 pyRevit 的 Routes 模块在 Revit 和 大型语言模型 (LLM) 客户端之间建立桥梁。通过暴露一系列结构化的 工具 (Tools),它允许兼容 MCP 的 LLM 客户端(如 Claude Desktop)获取 Revit 模型信息、捕获视图图像或执行修改模型的动作(如放置族实例)。
主要功能点
- 获取模型信息: 检索当前 Revit 模型的详细信息,包括构件计数、项目信息、楼层列表、房间信息、链接模型状态等。
- 获取视图图像: 根据指定的视图名称,将 Revit 视图导出为 PNG 图像,并将其数据提供给 LLM 客户端。
- 放置族实例: 在指定的坐标、楼层和旋转角度上,放置 Revit 族实例,并可设置其参数属性。
- 列出可用资源: 提供当前模型中可用的视图列表、族类型列表、族类别列表和楼层列表,帮助 LLM 了解模型内容和可执行操作。
- 检查连接状态: 提供一个端点用于检查 MCP 服务器与 Revit 后端是否正常连接以及 Revit 文档是否可用。
安装步骤
- 安装 uv: 这是一个快速的 Python 包管理器。
- Mac: 'brew install uv'
- Windows: powershell 中运行 'irm https://astral.sh/uv/install.ps1 | iex',然后设置环境变量 'set Path=C:\Users[你的用户名].local\bin;%Path%'。
- 其他平台请参考 uv 安装指南。
- 获取项目代码: 克隆或 Fork 该 GitHub 仓库。
git clone https://github.com/revit-mcp/revit-mcp-python.git # 或者如果你fork了,使用你的仓库地址 # git clone https://github.你的用户名/revit-mcp-python.git cd revit-mcp-python - 设置 Python 环境:
# 创建并激活虚拟环境 uv venv # Linux/Mac source .venv/bin/activate # Windows .venv\Scripts\activate # 安装依赖 uv pip install -r requirements.txt - 安装 pyRevit 扩展:
- 打开 Revit,切换到 'pyRevit' 选项卡。
- 点击 'Settings' (设置)。
- 在 'Custom Extensions' (自定义扩展) 部分,点击 'Add' (添加)。
- 选择你克隆或 Fork 的仓库中 '.extension' 文件夹的路径。
- 保存设置,然后重新加载 pyRevit (可能需要完全重启 Revit)。
- 测试 pyRevit 后端: 在浏览器中访问 'http://localhost:48884/revit_mcp/status/'。如果看到一个 JSON 响应,表示 pyRevit 后端已成功启动并监听。
服务器配置(供MCP客户端使用)
MCP 客户端(如 Claude Desktop)需要知道如何启动并连接到这个 MCP 服务器。通常,这需要在客户端的开发者或设置中配置一个 MCP 服务器条目。配置信息是一个 JSON 对象,至少需要指定启动服务器的命令及其参数。
以下是用于配置该服务器的示例信息结构:
- 服务器名称: 'Revit Connector' (这是一个易于识别的名称,可自定义)
- 启动命令 (command): 启动服务器的可执行文件路径。使用 'uv' 作为 Python 环境和依赖管理器,命令通常是 'uv'。
- 启动参数 (args): 传递给启动命令的参数列表。对于这个项目,参数应指示 'uv' 如何运行作为 MCP 服务器的 'main.py' 脚本。它需要激活项目的虚拟环境并执行 'mcp run' 命令。
- 例如:'run --with mcp[cli] mcp run /绝对/路径/到/你的仓库目录/main.py'
- 请务必将 '/绝对/路径/到/你的仓库目录/main.py' 替换为你本地 'main.py' 文件的完整、准确的路径。
- 'run --with mcp[cli]' 指示 'uv' 在运行命令前确保 'mcp[cli]' 依赖可用。
- 'mcp run' 是 MCP SDK 提供的命令,用于启动 MCP 服务器脚本。
将这些信息填入你的 MCP 客户端的服务器配置界面中。例如,在 Claude Desktop 的开发者设置中,你可以在 'mcpServers' 部分添加一个新条目,包含 'command' 和 'args' 字段。
基本使用方法
- 确保 Revit 正在运行: 启动 Revit,并打开一个模型。
- 启动 MCP 服务器: 按照 MCP 客户端的配置方式启动服务器。如果使用 MCP SDK/CLI,可以从项目目录下运行 'mcp dev main.py' (用于开发测试) 或 'mcp install main.py' (用于客户端安装)。
- 在 MCP 客户端中使用: 连接成功后,MCP 客户端将能够发现并调用服务器暴露的工具(如“获取 Revit 模型信息”、“放置族”等)。你可以通过客户端的界面或直接在与 LLM 的对话中提示 LLM 使用这些工具来与 Revit 模型互动。
信息
分类
开发者工具