内容
# revit-mcp
用于从Claude Desktop、Cline或Cursor以自然语言控制 **Autodesk Revit (2024 → 2027)** 的MCP服务器。
> 作者:**Morel Zeulieu**
## 架构
```
Claude → MCP Python 服务器 (stdio) → WebSocket 8765 → C# 加载项 → Revit API
```
- **MCP 服务器**:Python + FastMCP (stdio) — `server/`
- **Revit 加载项**:C# 多版本 2024→2027 (net48 / net8 / net10, 通过NuGet Nice3point获取Revit API) — `addin/RevitMCPAddin/`
- **传输**:WebSocket `ws://localhost:8765`
## 功能覆盖
大约 **150 个工具,分为 19 个组 (A→S)**:模型和项目、元素和参数、GeoJSON/GIS、地理参考 (LoGeoRef)、IDS/QA、创建、MEP、结构、视图和图纸、族、房间、碰撞检测、工作集、4D阶段、导出 (IFC、DWG、NWC、GeoJSON...)、动态代码、BIMtoGIS、bSDD,以及附加工具(审计、注释、命名规则/Excel、编辑)。
## 快速入门
### 1. Revit 加载项
```bash
cd addin/RevitMCPAddin
dotnet build RevitMCPAddin.csproj -c R26 # Revit 2026 (R24 / R25 / R27 适用于其他版本)
```
复制 `bin/R26/` 目录下的内容到 `%AppData%\Autodesk\Revit\Addins\2026\RevitMCPAddin\`,并将清单文件 `RevitMCPAddin.addin` 放置在 `2026` 目录的根目录下。
> Revit API 来自 NuGet 包 `Nice3point.Revit.Api.*`:无需安装 Revit 即可编译。
### 2. MCP Python 服务器
```bash
cd server
pip install -r requirements.txt
python server.py # 或使用 MCP_REVIT_MODE=mock 在无 Revit 环境下开发
```
### 3. Claude Desktop
`%AppData%\Claude\claude_desktop_config.json` :
```json
{
"mcpServers": {
"revit-mcp": {
"command": "python",
"args": ["C:\\路径\\到\\server\\server.py"]
}
}
}
```
## 启动顺序
1. 打开 Revit(2024、2025、2026 或 2027)和一个 `.rvt` 模型
2. 启动 Claude Desktop 并检查锤子图标(MCP 激活)
## 环境变量
| 变量 | 默认值 | 作用 |
|---|---|---|
| `REVIT_WS_URL` | `ws://localhost:8765` | WebSocket URL |
| `REVIT_WS_TIMEOUT` | `30` | 超时(秒) |
| `MCP_REVIT_MODE` | — | `mock` 用于无 Revit 环境开发 |
详见 [`CLAUDE.md`](CLAUDE.md)。