Token导航 LogoToken导航

MCP Server · 设计创作

Cutom Revit MCP server

通过Claude AI自然语言控制Autodesk Revit的MCP服务器,实现AI驱动的BIM操作,提供61种工具支持。

stdio官方级别未说明来源级核验工具 63tsc
C#Claude自然语言处理Claude Desktop

快速开始

作者 / 组织
archsalem101
提供方
archsalem101
运行时
Node.js

工具数量

63

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

Cutom Revit MCP server 属于设计创作类 MCP Server,公开资料标注 63 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

设计创作

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

npx tsc

客户端配置示例

{
  "mcpServers": {
    "cutom-revit-mcp-server": {
      "command": "npx",
      "args": [
        "tsc"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 63 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Revit MCP服务器

使用Claude AI通过自然语言控制Autodesk Revit。此项目实现了 模型上下文协议(MCP) 该服务器连接了Claude Desktop和Revit 2023,通过61个工具实现了人工智能驱动的BIM操作。

问克劳德 *“列出所有墙”*, *“创建包含建筑立面的图纸”*,或 *“按级别计数门”* 它直接在Revit模型中执行。

建筑

Claude Desktop ──(stdio/MCP)──► TypeScript MCP Server ──(HTTP :8080)──► C# Revit Plugin ──► Revit API
组件语言角色
MCP服务器Types/Node.js将Claude Desktop的MCP工具调用转换为HTTP请求
Revit插件 CNET Framework 4.8接收HTTP请求并在主线程上执行Revit API操作

C#插件使用 ExternalEvent 用于线程安全Revit API访问的模式。一 HttpListener 上 localhost:8080 接收工具请求,并通过将其排队 ExternalEvent,并等待结果。

先决条件

  • Autodesk Revit 2023 (安装在默认路径 C:\Program Files\Autodesk\Revit 2023\)
  • Node.js v18+(下载)
  • .NET Framework 4.8开发包 (下载)
  • 克劳德桌面版 (下载)

项目结构

revit-mcp-server/
├── RevitPlugin/                    # C# Revit Add-in
│   ├── App.cs                      # Plugin entry point (IExternalApplication)
│   ├── HttpServer.cs               # HTTP server on localhost:8080
│   ├── ExternalEventHandler.cs     # Thread-safe Revit API execution
│   ├── ToolRouter.cs               # Routes tool names to handlers
│   ├── RevitMcpPlugin.csproj       # .NET project file
│   ├── RevitMcpPlugin.addin        # Revit add-in manifest
│   ├── Tools/
│   │   ├── QueryTools.cs           # get_elements, find_elements, quantities
│   │   ├── ElementTools.cs         # create/delete/move/copy elements
│   │   ├── ParameterTools.cs       # get/set parameter values
│   │   ├── ViewTools.cs            # manage views, duplicate, filters
│   │   ├── SheetTools.cs           # create sheets, place viewports
│   │   ├── SelectionTools.cs       # select elements by criteria
│   │   ├── VisibilityTools.cs      # hide/isolate/unhide elements
│   │   ├── LevelGridTools.cs       # levels, grids, rename elements
│   │   ├── MEPTools.cs             # panel schedules, conduit QA, room contents
│   │   ├── AnnotationTools.cs      # tags, duplicate tag detection
│   │   └── ProjectTools.cs         # categories list, warnings
│   └── Helpers/
│       ├── CategoryHelper.cs       # Category name resolution (60+ aliases)
│       ├── UnitHelper.cs           # Unit conversions (mm/m/ft/in)
│       └── JsonHelper.cs           # Element-to-JSON serialization
│
├── mcp-server/                     # TypeScript MCP Server
│   ├── package.json
│   ├── tsconfig.json
│   ├── .env.example
│   └── src/
│       ├── index.ts                # Entry point
│       ├── server.ts               # MCP server setup + tool registration
│       ├── revit-client.ts         # HTTP client for Revit plugin
│       ├── types.ts                # TypeScript interfaces
│       └── tools/
│           ├── query-tools.ts      # Element query tools
│           ├── element-tools.ts    # Element creation/modification tools
│           ├── parameter-tools.ts  # Parameter tools
│           ├── view-tools.ts       # View management tools
│           ├── sheet-tools.ts      # Sheet management tools
│           ├── selection-tools.ts  # Selection tools
│           ├── visibility-tools.ts # Visibility tools
│           ├── level-grid-tools.ts # Level/grid tools
│           ├── mep-tools.ts        # MEP tools
│           ├── annotation-tools.ts # Annotation tools
│           └── project-tools.ts    # Project-wide tools
│
└── README.md

安装说明

步骤1:构建C#Revit插件

  1. 打开终端并导航到 RevitPlugin 文件夹:
cd RevitPlugin
  1. 还原NuGet包并构建:
dotnet restore
dotnet build -c Release
注: 这 .csproj 参考中的Revit API DLL C:\Program Files\Autodesk\Revit 2023\。如果您的Revit安装在其他地方,请更新 ` 条目在 RevitMcpPlugin.csproj`.
  1. 构建输出将在 RevitPlugin\bin\Release\:

- RevitMcpPlugin.dll - Newtonsoft.Json.dll

步骤2:部署Revit插件

将三个文件复制到Revit 2023附加模块文件夹:

# Create target folder variable
set ADDIN_DIR=%APPDATA%\Autodesk\Revit\Addins\2023

# Copy the add-in manifest
copy RevitPlugin\RevitMcpPlugin.addin "%ADDIN_DIR%\"

# Copy the built DLLs
copy RevitPlugin\bin\Release\RevitMcpPlugin.dll "%ADDIN_DIR%\"
copy RevitPlugin\bin\Release\Newtonsoft.Json.dll "%ADDIN_DIR%\"

复制后,文件夹应包含:

%APPDATA%\Autodesk\Revit\Addins\2023\
├── RevitMcpPlugin.addin
├── RevitMcpPlugin.dll
└── Newtonsoft.Json.dll

步骤3:安装MCP服务器依赖项

cd mcp-server
npm install

步骤4:构建MCP服务器

cd mcp-server
npx tsc

这将TypeScript编译为JavaScript mcp-server/dist/ 文件夹。

步骤5:配置Claude桌面

打开Claude Desktop配置文件:

%APPDATA%\Claude\claude_desktop_config.json

添加 revit 进入下 mcpServers:

{
  "mcpServers": {
    "revit": {
      "command": "node",
      "args": [
        "C:\\FULL\\PATH\\TO\\github_revit_MCP_server\\mcp-server\\dist\\index.js"
      ],
      "env": {
        "REVIT_HOST": "localhost",
        "REVIT_PORT": "8080"
      }
    }
  }
}
重要提示: 替换 C:\\FULL\\PATH\\TO\\ 使用项目文件夹的实际绝对路径。使用双反睫毛 \\ JSON格式。

步骤6:启动

  1. 启动Revit 2023 并打开一个项目。该插件将自动加载并启动端口8080上的HTTP服务器。您应该看到一个确认对话框。
  1. 重新启动克劳德桌面 因此,它采用了新的MCP服务器配置。
  1. 开始聊天! 在Claude Desktop中打开一个新对话,然后尝试:

- *“列出模型中的所有墙”* - *“获取项目信息”* - *“按类型统计所有门”* - *“创建名为建筑立面的新图纸a-501”*

验证连接

您可以独立验证每个组件:

检查Revit插件HTTP服务器:

curl http://localhost:8080/health

预期响应:

{
  "success": true,
  "status": "running",
  "revitConnected": true,
  "documentName": "YourProject.rvt",
  "serverVersion": "1.0.0"
}

直接测试工具调用:

curl -X POST http://localhost:8080/execute -H "Content-Type: application/json" -d "{\"tool\": \"get_project_info\", \"parameters\": {}}"

可用工具(61)

查询工具(10)

工具说明
get_elements按类别分页获取元素
get_element_parameters获取元素的所有参数
find_elements_by_parameter查找与参数值匹配的元素
calculate_quantities计算面积、长度、体积起飞
count_elements_by_category统计一个或所有类别中的元素
count_elements_by_family按族和类型对元素进行计数
get_element_by_id获取单个元素的详细信息
get_element_room找出哪个房间包含元素
get_project_info获取项目元数据
export_schedule_data将Revit明细表导出为JSON

元素工具(8)

工具说明
create_wall在两点之间创建墙
create_floor从边界点创建楼板
create_room在标高上的某个点创建房间
create_family_instance放置一个家庭实例(门、窗、家具)
delete_elements按ID删除元素
move_element通过平移向量移动元素
rotate_element按度旋转元素
copy_element将元素复制到新位置

参数工具(4)

工具说明
get_parameter_value获取特定的参数值
set_parameter_value设置参数值
get_parameter_names列出元素上的所有参数
batch_set_parameters在多个元素上设置相同的参数

查看工具(6)

工具说明
get_views列出所有视图,按类型筛选
get_active_view获取当前活动视图
activate_view切换到其他视图
duplicate_view复制视图
create_dependent_view创建依赖视图
get_view_filters列出应用于视图的筛选器

板材工具(6)

工具说明
get_sheets列出所有带有视口的图纸
create_sheet创建新工作表
place_view_on_sheet在图纸上放置视图
get_sheet_viewports在图纸上列出视口
rename_sheet重命名图纸
duplicate_and_place_view一步复制视图并将其放置在图纸上

选择工具(8)

工具说明
get_current_selection获取当前选定的元素
select_elements_by_ids按ID选择元素
select_all_by_category选择类别的所有元素
select_elements_by_level选择特定级别的元素
select_by_parameter_value选择与参数匹配的元素
select_and_hide_category选择并隐藏类别
select_and_isolate_category隔离一个类别
clear_selection清除当前选择

可见性工具(6)

工具说明
hide_elements_by_category隐藏类别的所有元素
unhide_elements_by_category取消隐藏类别
isolate_elements_by_category暂时隔离一个类别
isolate_elements_by_selection隔离当前选择
unhide_all重置活动视图中的所有隐藏/隔离
unisolate_all重置临时隔离

水平和网格工具(4)

工具说明
get_levels列出所有标高
get_grids列出所有网格
create_level创建新关卡
rename_elements批量重命名元素

MEP工具(5)

工具说明
get_panel_schedules获取配电盘明细表
calculate_conduit_bends分析导管弯曲计算
conduit_qa_check导管系统的质量保证检查
analyze_wall_lengths_by_level按标高分组的墙长/面积
get_elements_in_room查找房间内的元素

注释工具(4)

工具说明
create_tag标记活动视图中的元素
tag_all_in_view自动标记类别中所有未标记的元素
find_duplicate_tags查找具有多个标签的元素
get_element_orientation获取元素的朝向

项目工具(2)

工具说明
get_all_categories列出所有包含元素计数的类别
get_warnings获取所有Revit警告/错误

适应其他Revit版本

本项目目标 修订版2023 (.NET Framework 4.8)。要适应其他版本:

Revit 2024+(.NET Framework 4.8)

  • 更新 ` 在 .csproj` 指向Revit 2024安装
  • 部署到 %APPDATA%\Autodesk\Revit\Addins\2024\
  • API应该大部分兼容

Revit 2025+(.NET 8)

  • 改变 ` 在 .csproj 从 net48 到 net8.0-windows`
  • 更新 `` 到Revit 2025的安装路径
  • 替换不推荐使用的API调用(某些 SpecTypeId 图案可能不同)
  • 部署到 %APPDATA%\Autodesk\Revit\Addins\2025\

故障排除

Claude Desktop中的“服务器已断开连接”

  1. 检查MCP日志: 打开 %APPDATA%\Claude\logs\mcp-server-revit.log
  2. 常见修复: 确保你用以下代码构建了TypeScript npx tsc 和路径在 claude_desktop_config.json 指向 dist/index.js 文件(不是 src/index.ts)
  3. 路径问题: 这 args 数组必须包含 绝对路径 到 dist/index.js 双睫毛

Revit插件未加载

  1. 验证所有3个文件都在 %APPDATA%\Autodesk\Revit\Addins\2023\:

- RevitMcpPlugin.addin - RevitMcpPlugin.dll - Newtonsoft.Json.dll

  1. 检查一下 .addin 文件未被阻止:右键单击>属性>取消阻止
  2. 部署后重新启动Revit

“工具执行超时”

  • Revit可能正忙于其他操作。请稍候,然后重试。
  • 大型型号可能需要超过30秒的超时时间

健康检查报告 revitConnected: false

  • 确保Revit项目文档已打开(而不仅仅是开始屏幕)

运作原理

  1. 克劳德桌面版 发送MCP tools/call 请求(例如。, get_elements 随着 {category: "Walls"})通过stdio
  2. 这 TypeScript MCP服务器 接收它,将其转换为HTTP POST localhost:8080/execute
  3. 这 C#Revit插件 HttpServer接收请求,在 ExternalEventHandler,并提出 ExternalEvent
  4. Revit拾取 ExternalEvent 在其 主线程 并执行Revit API调用
  5. 结果返回:Revit API响应->JSON响应->HTTP响应->MCP响应->Claude Desktop

这 ExternalEvent + ManualResetEventSlim 模式确保所有Revit API调用都发生在主线程上(Revit需要),而HTTP服务器可以处理来自后台线程的请求。

变更后的重建

如果修改任何源文件:

C#插件更改:

cd RevitPlugin
dotnet build -c Release
# Re-copy DLLs to Revit addins folder
copy bin\Release\RevitMcpPlugin.dll "%APPDATA%\Autodesk\Revit\Addins\2023\"
# Restart Revit

TypeScript MCP服务器更改:

cd mcp-server
npx tsc
# Restart Claude Desktop

许可证

MIT许可证-请参阅 许可证 了解详情。

致谢

工具与能力

工具数量

63

资源数量

0

提示词数量

0

能力标签

BIM自动化C#本地部署自然语言处理Revit插件AI辅助设计建筑信息模型

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

出图与改图

按描述生成或修改图像,快速迭代风格。

读取设计稿

读取画布和图层信息,按规范生成页面。

素材整理

批量生成缩略图、统一命名和标签。

选择建议

值得选的地方

  • 工具数量 63 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在设计创作场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Cutom Revit MCP server

MCP World · 本页

63stdio有1 个2026-05-17
Blender MCP

MCP.so

17stdio有3 个2026-05-17
Figma Context MCP 3aaa8d28

MCP World

0未说明未标注2 个2026-05-17
Nova Canvas MCP Server

MCP World

2stdio有1 个2026-05-17
Cursor Talk To Figma MCP Da1c7911

MCP World

40未说明未标注1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Cutom Revit MCP server 怎么安装?

公开资料给出的安装命令是 npx tsc,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Cutom Revit MCP server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Cutom Revit MCP server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Cutom Revit MCP server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Cutom Revit MCP server 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP