REVIT MCP 服务器端实现

使用说明(简要要点,便于快速上手):

  • 项目简介

    • 该仓库实现了一个 MCP 服务器,承载并管理 Revit 的工具集(Tools),并通过 MCP 协议为不同的 AI 客户端提供统一的接口来读取资源、执行工具、以及获取/渲染 Prompt 模板等能力。服务器通过与 Revit Add-in 的 WebSocket 通道进行通信,将 AI 指令转译为 Revit API 调用并返回执行结果。
  • 主要功能点

    • MCP 服务核心:实现 MCP 协议的请求/响应处理,支持 ListTools(列出可用工具)与 CallTool(调用工具)等基本接口。
    • Revit 工具注册与执行:集中定义并注册一组可对 Revit 进行的操作(如创建墙、楼板、门窗、获取元素信息等),并将结果返回给 AI 客户端。
    • 与 Revit Add-in 通信:通过 RevitAdd-in 提供的 WebSocket 通道,发送指令并接收执行结果。
    • 多传输与日志:核心实现以 MCP 的标准 JSON-RPC 风格进行通信,并具备日志记录与错误处理能力,方便调试与追踪。
    • 本地开发/测试用例:仓库内含大量示例脚本,便于在本地进行 MCP 客户端与服务端的联合测试。
  • 安装步骤

      1. 安装 Node.js 环境(若未安装,请前往 Node.js 官网下载安装 LTS 版本)。
      1. 安装依赖并编译 MCP 服务器
      • 进入 MCP-Server 目录,执行 npm install
      • 执行 npm run build 以生成可运行的 MCP 服务器文件(生成路径通常为 MCP-Server/build/index.js)
      1. 启动 MCP 服务器
      • 在命令行执行 node MCP-Server/build/index.js,启动后将监听 MCP 客户端的连接请求
      1. 构建并连接 Revit Add-in
      • 按 README 要求,对 Revit Add-in 及 .NET 项目进行编译打包,并将 RevitMCP.dll 与 RevitMCP.addin 放置到 Revit Add-ins 目录中对应版本(2022/2023/2024)
      • 参考文档完成 MCP Server 与 Revit Add-in 的对接测试
      1. 配置 MCP 客户端
      • MCP 客户端(Gemini、Claude Desktop、VS Code Copilot、Antigravity 等)需要配置指向 MCP 服务器的启动命令与参数。以下提供示例配置(JSON 格式,供参考使用,具体请以客户端文档为准)。
      1. 启动客户端并测试
      • 在 Revit 启动后,通过 MCP Tools 的开关开启 MCP 服务,使得 MCP Server 与 Revit Add-in 就绪对外提供服务
      • 使用 Gemini/Claude/VS Code Copilot 等客户端与 MCP Server 建立连接,执行测试指令,例如获取项目信息、创建墙等。
  • 服务器配置(示例,JSON 格式,供 MCP 客户端使用时配置服务器信息) { "mcpServers": { "revit-mcp-server": { "command": "node", "args": [ "<your_path_to_project>/MCP-Server/build/index.js" ], "env": { "REVIT_VERSION": "2022" // 根据实际版本设置,可选 } } } } 注释说明:

    • server name:revit-mcp-server,对应 MCP 客户端的服务器标识
    • command/args:运行 MCP 服务器的命令及参数,这里使用 Node.js 执行生成的 build/index.js
    • env:可选的环境变量,例如 REVIT_VERSION,用于客户端在建立与服务器的适配时使用 注:MCP 客户端配置部分不需要你在这里修改,它是给客户端使用的连接信息,服务器端的配置仅用于服务器自身启动与运行。
  • 基本使用方法

    • 启动 Revit 并打开相应工程。
    • 在 Revit 的 MCP Tools 面板中启动 MCP 服务(WebSocket 监听端口默认为 localhost:8964)。
    • 启动 MCP 服务器(Node.js 运行生成的 build/index.js)。
    • 使用任一 MCP 客户端(Gemini、Claude Desktop、VS Code Copilot、Antigravity 等)进行连接,配置服务器地址和启动参数,随后即可向 MCP Server 发起工具调用请求。
    • MCP 服务器响应 JSON-RPC 格式的数据,客户端可以根据返回结果进行处理或继续调用后续工具。
  • 备注

    • 该仓库包含大量与 MCP 服务器相关的实现细节与示例脚本,便于开发者理解和扩展。
    • 实际生产环境中,请关注安全性设置、端口/防火墙配置以及 Revit Add-in 的稳定性与事务回滚策略。

服务器信息