Token导航 LogoToken导航

MCP Server · 运维云端

Revit Cs Test

将Autodesk Revit API代码封装为本地MCP服务器,实现外部工具与Revit进程的安全交互。

stdio官方级别未说明来源级核验工具 11
本地服务器C#开发工具API集成

快速开始

作者 / 组织
AlejoDuarte23
提供方
AlejoDuarte23

工具数量

11

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Revit Cs Test 属于运维云端类 MCP Server,公开资料标注 11 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install mcp

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

Revit MCP项目

此存储库构建了一个集成,该集成将所有Autodesk Revit API代码保留在一个正常的Revit插件中,并通过本地MCP服务器公开工具。

外部服务器通过流式HTTP与MCP通信。桥接和Revit-side处理程序保持分离,因此Revit API仅在Revit内部执行。

回购中有什么

src/
  RevitMcp.Contracts/
    BridgeRequest.cs
    BridgeResponse.cs

  RevitMcp.Core/
    Services/
      DocumentService.cs
      WallService.cs
      DuctPressureDropService.cs

  RevitMcp.RevitAddin/
    App.cs
    CommandDispatcher.cs
    Bridge/
      BridgeExternalEventHandler.cs
      BridgeRequestBroker.cs
      LocalHttpBridge.cs
    Handlers/
      IRevitCommandHandler.cs
      PingHandler.cs
      GetActiveDocumentHandler.cs
      ListWallsHandler.cs
      ColorizeDuctPressureDropHandler.cs
    Manifest/
      RevitMcp.RevitAddin.addin

  RevitMcp.Server/
    Program.cs
    BridgeClient.cs
    Tools/
      RevitTools.cs

为什么形状看起来像这样

Revit API代码必须在Revit过程中运行,并在Revit-控制的执行中运行。

因此:

  • RevitMcp.RevitAddin 拥有每个Revit API调用。
  • RevitMcp.Server 位于Revit之外,仅公开MCP工具。
  • BridgeRequestBroker 通过Revit整理传入的网桥呼叫 ExternalEvent 而不是直接从侦听器线程调用API。

最后一点很重要。简单的HTTP侦听线程无法安全地读取或修改活动的Revit文档。

支持的Revit版本

该项目支持:

  • 修订版2024 (.NET Framework 4.8)
  • 修订版2025 (.NET 8)
  • 修订版2026 (.NET 8)

项目文件会根据以下内容自动选择正确的目标框架 RevitVersion 构建参数。Revit 2025+采用现代设计。NET 8运行时,而Revit 2024使用。NET框架4.8。

先决条件

在编译和运行加载项的机器上需要这些:

  • Windows 10或Windows 11
  • Autodesk Revit 2024、2025或2026
  • 当前服务器项目目标的.NET 10 SDK
  • Visual Studio 2022或其他支持MSBuild的环境
  • .NET Framework 4.8开发人员包(仅Revit 2024版本需要)

编译所需的Revit参考

Revit项目使用来自本地Revit安装的直接部件参照。

对于 RevitMcp.RevitAddin:

  • RevitAPI.dll
  • RevitAPIUI.dll

对于 RevitMcp.Core:

  • RevitAPI.dll

典型安装文件夹:

C:\Program Files\Autodesk\Revit 2024\
C:\Program Files\Autodesk\Revit 2025\
C:\Program Files\Autodesk\Revit 2026\

这 .csproj 文件已经支持以下任一方法:

  1. 按版本构建:
dotnet build .\RevitMcp.sln /p:RevitVersion=2024
dotnet build .\RevitMcp.sln /p:RevitVersion=2025
dotnet build .\RevitMcp.sln /p:RevitVersion=2026
  1. 通过显式安装文件夹构建:
dotnet build .\RevitMcp.sln /p:RevitInstallDir="C:\Program Files\Autodesk\Revit 2024"

如果找不到DLL,Revit项目将提前失败,并显示明显的MSBuild错误。

声明依赖关系的位置

对。依赖项已写入项目文件中。

  • RevitMcp.sln 仅列出哪些项目属于解决方案以及它们如何一起构建。
  • .csproj 文件包含真正的依赖关系声明。

当前依赖关系形状:

  • RevitMcp.RevitAddin.csproj

- ProjectReference 到 RevitMcp.Contracts - ProjectReference 到 RevitMcp.Core - 直接的 Reference 到 RevitAPI.dll - 直接的 Reference 到 RevitAPIUI.dll

  • RevitMcp.Core.csproj

- 直接的 Reference 到 RevitAPI.dll

  • RevitMcp.Server.csproj

- ProjectReference 到 RevitMcp.Contracts - PackageReference 到 ModelContextProtocol - PackageReference 到 ModelContextProtocol.AspNetCore

  • RevitMcp.Contracts.csproj

- PackageReference 到 System.Text.Json

Revit项目仍然使用来自本地Revit安装的直接DLL引用,而服务器使用NuGet包作为MCP宿主。

在哪里注册插件

Revit通过以下方式发现附加模块 .addin 清单文件。

每个用户的注册文件夹:

%AppData%\Autodesk\Revit\Addins\2024\
%AppData%\Autodesk\Revit\Addins\2025\
%AppData%\Autodesk\Revit\Addins\2026\

所有用户注册文件夹:

%ProgramData%\Autodesk\Revit\Addins\2024\
%ProgramData%\Autodesk\Revit\Addins\2025\
%ProgramData%\Autodesk\Revit\Addins\2026\

要注册此演示:

  1. 构建 RevitMcp.RevitAddin.
  2. 编辑 src/RevitMcp.RevitAddin/Manifest/RevitMcp.RevitAddin.addin.
  3. 替换占位符 Assembly 价值与您构建的完整路径 RevitMcp.RevitAddin.dll.
  4. 将清单复制到目标Revit版本的Revit附加模块文件夹中。

例子:

C:\Repos\revit-mcp-cs-test\src\RevitMcp.RevitAddin\bin\Debug\net8.0-windows\RevitMcp.RevitAddin.dll

生成脚本

在下面添加了两个PowerShell脚本 scripts/ 用于Windows开发。

构建整个解决方案:

.\scripts\build-all.ps1 -RevitVersion 2026 -Configuration Debug

为当前用户生成并注册外接程序清单:

# For Revit 2024
.\scripts\build-all.ps1 -RevitVersion 2024 -Configuration Debug -RegisterAddin

# For Revit 2026
.\scripts\build-all.ps1 -RevitVersion 2026 -Configuration Debug -RegisterAddin

根据自定义Revit安装文件夹进行构建:

.\scripts\build-all.ps1 -RevitVersion 2024 -RevitInstallDir "D:\Apps\Autodesk\Revit 2024"

生成后单独注册清单:

.\scripts\register-addin.ps1 -RevitVersion 2024 -Configuration Debug -Scope CurrentUser

对于机器范围内的注册:

.\scripts\register-addin.ps1 -RevitVersion 2024 -Configuration Release -Scope AllUsers

手动构建和运行

1.构建Revit附加模块

# For Revit 2024 (builds against .NET Framework 4.8)
dotnet build .\src\RevitMcp.RevitAddin\RevitMcp.RevitAddin.csproj -c Debug /p:RevitVersion=2024

# For Revit 2026 (builds against .NET 8)
dotnet build .\src\RevitMcp.RevitAddin\RevitMcp.RevitAddin.csproj -c Debug /p:RevitVersion=2026

2.登记舱单

复制 src\RevitMcp.RevitAddin\Manifest\RevitMcp.RevitAddin.addin 更新后,将其放入匹配的Revit加载项文件夹中 Assembly 路径。

3.启动Revit

启动Revit 2024、2025或2026(无论您为哪个版本构建)并打开任何项目。

Revit完成初始化后,附加模块将在以下位置启动本地网桥侦听器:

http://127.0.0.1:5057/

4.构建并运行MCP服务器

dotnet build .\src\RevitMcp.Server\RevitMcp.Server.csproj -c Debug
dotnet run --project .\src\RevitMcp.Server\RevitMcp.Server.csproj

MCP服务器监听:

http://127.0.0.1:5099

5.连接MCP客户端

可流式传输的HTTP端点:

http://127.0.0.1:5099/mcp

使用附带的脚本对MCP端点进行烟雾测试:

pip install mcp
python .\scripts\test-mcp-server.py
python .\scripts\test-mcp-server.py --tool ping
python .\scripts\test-mcp-server.py --tool get_active_document
python .\scripts\test-mcp-server.py --tool list_walls
python .\scripts\test-mcp-server.py --tool colorize_duct_pressure_drop --arguments "{\"topCount\":10}"
python .\scripts\test-mcp-server.py --tool color_elements_by_id --arguments "{\"elementIds\":[12345,67890],\"red\":255,\"green\":0,\"blue\":0}"
python .\scripts\test-mcp-server.py --tool get_low_velocity_duct_elements --arguments "{\"maxVelocityMetersPerSecond\":2.5}"
python .\scripts\test-mcp-server.py --tool set_duct_dimensions --arguments "{\"elementIds\":[12345],\"widthMillimeters\":400,\"heightMillimeters\":200}"
python .\scripts\test-mcp-server.py --tool set_flex_duct_diameter --arguments "{\"elementIds\":[67890],\"diameterMillimeters\":250}"
python .\scripts\test-mcp-server.py --tool extract_system_air_elements --arguments "{\"systemName\":\"Mechanical Supply Air 17\"}"
python .\scripts\test-mcp-server.py --tool check_zero_pressure_drop_fittings --arguments "{\"systemName\":\"Mechanical Supply Air 17\"}"
python .\scripts\test-mcp-server.py --tool set_fitting_specific_coefficient --arguments "{\"systemName\":\"Mechanical Supply Air 17\",\"coefficient\":0.2}"

初始工具集

脚手架包括以下工具:

  • ping
  • get_active_document
  • list_walls
  • colorize_duct_pressure_drop (写入工具:应用活动视图元素替代)
  • color_elements_by_id (编写工具:使用调用方提供的RGB在活动视图中显式显示Revit图元ID)
  • get_low_velocity_duct_elements (读取工具:返回低于速度阈值(m/s)的风管和柔性风管)
  • set_duct_dimensions (写入工具:按图元ID设置风管宽度和/或高度,单位为毫米)
  • set_flex_duct_diameter (写入工具:按图元ID设置软风管直径(单位:毫米))
  • extract_system_air_elements (写入工具:将元素颜色匹配为蓝色,并将JSON导出到本地磁盘)
  • check_zero_pressure_drop_fittings (书写工具:为零压力管件着色并返回图元ID)
  • set_fitting_specific_coefficient (写入工具:将拟合损失方法设置为特定系数,默认值为0.2)

这足以证明:

  • 已加载Revit附加模块
  • 这座桥是可以到达的
  • 请求被安全地封送回Revit
  • 可以从活动文档返回数据

关于大桥的说明

外接程序使用 HttpListener 当地的演示桥。这很容易检查和测试,但它不是最好的生产选择。

对于生产硬化焊道,请考虑:

  • 命名管道而不是HTTP
  • 共享密钥或本地身份验证保护
  • 结构化测井
  • 超时
  • 请求验证
  • 显式异常映射
  • 排队执行限制

根据Windows机器策略, HttpListener 可能需要URL ACL保留。如果需要,在提升的shell中运行一次此命令:

netsh http add urlacl url=http://127.0.0.1:5057/ user=%USERNAME%

关于MCP服务器的说明

外部服务器已经通过Streamable HTTP公开了一个真正的MCP表面。

这意味着:

  1. MCP客户端可以从协议中发现工具。
  2. C#服务器仍然是一个薄薄的包装 BridgeClient.
  3. Revit附加模块仍然只能通过Revit注册 .addin 显示。

写入操作

首先从只读工具开始。添加写入工具时,请在正常的Revit事务中执行它们。

示例模式:

using (var tx = new Transaction(doc, "Create Demo Wall"))
{
    tx.Start();

    // Revit API write operations go here.

    tx.Commit();
}

建议的后续步骤

  • 添加 get_active_view
  • 添加 list_levels
  • 添加 list_rooms
  • 添加 list_sheets
  • 在事务后面添加一个安全写入操作
  • 根据需要添加更多MCP工具

参考链接

工具与能力

工具数量

11

资源数量

0

提示词数量

0

能力标签

云端部署C#Revit插件建筑信息模型API集成本地服务器开发工具

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

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 工具数量 11 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

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

同类对比

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

MCP World · 本页

11stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

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

常见问题

5 条

Revit Cs Test 怎么安装?

公开资料给出的安装命令是 pip install mcp,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Revit Cs Test 怎么在 Claude Desktop、Cursor 里配置?

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

Revit Cs Test 收费吗?

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

Revit Cs Test 需要 API Key 吗?

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

Revit Cs Test 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP