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 客户端与服务端的联合测试。
-
安装步骤
-
- 安装 Node.js 环境(若未安装,请前往 Node.js 官网下载安装 LTS 版本)。
-
- 安装依赖并编译 MCP 服务器
- 进入 MCP-Server 目录,执行 npm install
- 执行 npm run build 以生成可运行的 MCP 服务器文件(生成路径通常为 MCP-Server/build/index.js)
-
- 启动 MCP 服务器
- 在命令行执行 node MCP-Server/build/index.js,启动后将监听 MCP 客户端的连接请求
-
- 构建并连接 Revit Add-in
- 按 README 要求,对 Revit Add-in 及 .NET 项目进行编译打包,并将 RevitMCP.dll 与 RevitMCP.addin 放置到 Revit Add-ins 目录中对应版本(2022/2023/2024)
- 参考文档完成 MCP Server 与 Revit Add-in 的对接测试
-
- 配置 MCP 客户端
- MCP 客户端(Gemini、Claude Desktop、VS Code Copilot、Antigravity 等)需要配置指向 MCP 服务器的启动命令与参数。以下提供示例配置(JSON 格式,供参考使用,具体请以客户端文档为准)。
-
- 启动客户端并测试
- 在 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 的稳定性与事务回滚策略。