Token导航 LogoToken导航TokenDH.com
Aps Sample MCP Server Revit Automation logo
AI代理未说明官方级别未说明来源级核验

Aps Sample MCP Server Revit Automation

MCP Server

一个基于模型上下文协议(MCP)的远程服务器,通过自动化API实现AI助手对Autodesk Revit操作的自动化。

工具数

2

提示词数

0

GitHub Stars

8

资源数

0
云原生C#ClaudeClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

autodesk-platform-services

提供方

autodesk-platform-services

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Revit自动化的MCP服务器示例

![Automation API](http://developer.autodesk.com/) ![Revit-2026](http://autodesk.com/revit) ![.NET](https://dotnet.microsoft.com/) ![C#](https://docs.microsoft.com/en-us/dotnet/csharp/) ![MCP](https://modelcontextprotocol.io)

一个示例模型上下文协议(MCP)远程服务器(HTTP),使Claude等AI助手能够通过以下方式自动化Autodesk Revit操作 自动化API 使用 服务到服务身份验证(SSA).

https://github.com/user-attachments/assets/43a5aabc-d2a3-47ff-a9e1-8bd61d24a81e

______________________________________________________________________

⚠️ 免责声明\ 这是一个 vibe编码样本解决方案 -迭代开发的探索性概念证明。它展示了模式和可能性,但可能并不遵循所有生产级实践。此README由以下人员生成 GitHub Copilot 基于对实际代码库的分析,确保文档与实现相匹配。
🔗 配套存储库\ 此MCP服务器与 APS Automation API Revit MCP工具示例 -在Automation API中执行实际工具的Revit AppBundle。部署该AppBundle以使用此MCP服务器。

______________________________________________________________________

🎯 概述

MCP Revit自动化 通过模型上下文协议将AI助手与Autodesk Revit连接起来。它实现了Revit在云托管模型(ACC/BIM360)上无头、可扩展的自动化操作,而无需手动交互。

目标受众: AEC公司、BIM经理、BIM协调员、开发人员构建AI驱动的BIM工作流程

主要特点

  • 🔐 SSA身份验证 -具有RSA签名的JWT承载令牌,用于服务间身份验证
  • 🏗️ 流利的API -具有编译时验证的类型安全模型配置
  • 📦 双JSON架构 -将模型上下文与工具输入分离
  • 🤖 MCP集成 -自然地将工具暴露给AI助手
  • ☁️ 云原生 -适用于Autodesk云模型

🔧 可扩展工具系统

  • 易于添加新的Revit自动化工具
  • 所有操作的一致模式
  • 无需更改核心服务

🤖 MCP协议支持

  • 将工具暴露给Claude或VS Code Copilot等人工智能助手
  • Revit自动化的自然语言
  • HTTP传输具有广泛的兼容性

☁️ 云原生

  • 适用于Autodesk云模型(ACC/BIM360)-工作共享和非工作共享
  • 可扩展的工作项提交
  • 用于Revit集成的自动化API

______________________________________________________________________

🏛️ 建筑

MCP Client (Claude/VS Code) 
    ↓ MCP Protocol
MCP Server (This Project)
    ├─ RevitAutomationTools (MCP tool definitions)
    ├─ RevitAutomationService (Workitem submission)
    └─ SsaTokenService
    ↓ HTTPS + Bearer Token
Autodesk Automation API for Revit (Cloud execution)

双JSON模式:

  • revitmodel.json -模型上下文(区域、项目、模型GUID、工具名称)
  • toolinputs.json -工具特定参数

______________________________________________________________________

📦 先决条件

______________________________________________________________________

🚀 安装

git clone https://github.com/autodesk-platform-services/aps-sample-mcp-server-revit-automation.git
cd mcp-revit-automation
dotnet restore
dotnet build --configuration Release

创建 appsettings.json:

{
  "Forge": {
    "ClientId": "your-client-id",
    "ClientSecret": "your-client-secret",
    "ServiceAccountId": "your-service-account-id",
    "KeyId": "your-key-id",
    "PrivateKeyPath": "path/to/private-key.pem"
  }
}

运行(http): dotnet run

______________________________________________________________________

⚙️ 配置

从以下位置获取凭据 APS开发人员门户:

  1. 创建启用自动化API的APS应用程序→ Get ClientId & ClientSecret
  2. 创建服务帐户→ 生成RSA密钥对→ Get ServiceAccountId & KeyId
  3. 将私钥下载为 .pem file → 在中设置路径 PrivateKeyPath

______________________________________________________________________

📘 用法

MCP客户端配置

Visual Studio代码: 了解如何配置MCP服务器 这里

{
 "inputs": [],
  "servers": {
    "revit-automation-mcp": {
      "url": "http://localhost:6223",
      "type": "http"
    }
  }
}

Fluent API示例

// Model configuration (type-safe, compile-time validated)
var modelConfig = ModelConfiguration.Create()
    .WithRegion("US")
    .WithProject("project-guid")
    .WithModelGuid("model-guid")
    .WithToolName("link_models")
    .Save(true)
    .Configure();

// Tool-specific inputs (flexible dictionary)
var toolInputs = new Dictionary
{
    { "modelName", "My Model" },
    { "linksToAdd", new[] { new { modelName = "Link1", modelGuid = "guid1" } } },
    { "linksToRemove", Array.Empty() }
};

var result = await service.SubmitWorkItemAsync(modelConfig, toolInputs);

______________________________________________________________________

🛠️ 可用工具

工具说明
create_model从样板创建新的Revit模型
link_models添加/删除Revit模型链接

创建Revit模型

Revitmodel.json

{
  "region": "US",
  "projectGuid": "00000000-0000-0000-0000-000000000000",
  "modelGuid": "11111111-1111-1111-1111-111111111111",
  "toolName": "create_model",
  "save": false
}

toolinputs.json

{
  "enableWorksharing": true,
  "accountId": "00000000-0000-0000-0000-000000000000",
  "projectId": "00000000-0000-0000-0000-000000000000",
  "folderId": "urn:adsk.wipprod:fs.folder:co.example",
  "modelName": "NewModel.rvt"
}

管理模型链接

Revitmodel.json

{
  "region": "US",
  "projectGuid": "00000000-0000-0000-0000-000000000000",
  "modelGuid": "00000000-0000-0000-0000-000000000000",
  "toolName": "link_models",
  "save": true
}

toolinputs.json

{
  "region": "US",
  "projectGuid": "00000000-0000-0000-0000-000000000000",
  "linksToAdd": [
    {
      "modelName": "Architectural_Link.rvt",
      "modelGuid": "11111111-1111-1111-1111-111111111111"
    },
    {
      "modelName": "Structural_Link.rvt",
      "modelGuid": "22222222-2222-2222-2222-222222222222"
    }
  ],
  "linksToRemove": [
    {
      "modelName": "Old_Link.rvt",
      "modelGuid": "99999999-9999-9999-9999-999999999999"
    }
  ]
}

➕ 添加新工具

1.在“工具”/“RevitAutomationTools.cs”中

[McpServerTool(Name = "my_tool")]
public async Task MyTool(...)
{
    var modelConfig = ModelConfiguration.Create()
        .WithRegion(region)
        .WithProject(projectGuid)
        .WithModelGuid(modelGuid)
        .WithToolName("my_tool")
        .Configure();
    
    var toolInputs = new Dictionary { /* tool params */ };
    return await revitAutomationService.SubmitWorkItemAsync(modelConfig, toolInputs);
}

2.在Revit AppBundle中:添加“my_tool”的大小写。查看如何添加新工具 这里

______________________________________________________________________

资源

______________________________________________________________________

许可证

此样品根据以下条款获得许可 MIT许可证. 请参阅 许可证 文件以获取完整详细信息。

______________________________________________________________________

制作❤️ AEC社区| Vibe使用GitHub Copilot编码

目录标签

目录标签

云原生C#ClaudeRevit自动化本地部署MCP协议BIMAEC

支持客户端

ClaudeVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP