使用说明

项目简介

这是一个用于 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 文档是否可用。

安装步骤

  1. 安装 uv: 这是一个快速的 Python 包管理器。
    • Mac: 'brew install uv'
    • Windows: powershell 中运行 'irm https://astral.sh/uv/install.ps1 | iex',然后设置环境变量 'set Path=C:\Users[你的用户名].local\bin;%Path%'。
    • 其他平台请参考 uv 安装指南
  2. 获取项目代码: 克隆或 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
  3. 设置 Python 环境:
    # 创建并激活虚拟环境
    uv venv
    # Linux/Mac
    source .venv/bin/activate
    # Windows
    .venv\Scripts\activate
    
    # 安装依赖
    uv pip install -r requirements.txt
  4. 安装 pyRevit 扩展:
    • 打开 Revit,切换到 'pyRevit' 选项卡。
    • 点击 'Settings' (设置)。
    • 在 'Custom Extensions' (自定义扩展) 部分,点击 'Add' (添加)。
    • 选择你克隆或 Fork 的仓库中 '.extension' 文件夹的路径。
    • 保存设置,然后重新加载 pyRevit (可能需要完全重启 Revit)。
  5. 测试 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' 字段。

基本使用方法

  1. 确保 Revit 正在运行: 启动 Revit,并打开一个模型。
  2. 启动 MCP 服务器: 按照 MCP 客户端的配置方式启动服务器。如果使用 MCP SDK/CLI,可以从项目目录下运行 'mcp dev main.py' (用于开发测试) 或 'mcp install main.py' (用于客户端安装)。
  3. 在 MCP 客户端中使用: 连接成功后,MCP 客户端将能够发现并调用服务器暴露的工具(如“获取 Revit 模型信息”、“放置族”等)。你可以通过客户端的界面或直接在与 LLM 的对话中提示 LLM 使用这些工具来与 Revit 模型互动。

信息

分类

开发者工具