AECDM克劳德技能+MCP服务器
从Claude Desktop中查询Autodesk的AEC数据模型(AECDM)GraphQL API,由结构化 技能文档 它教克劳德如何构造正确的查询和 MCP服务器 它处理身份验证、模型浏览、3D可视化和查询执行。
包含什么
| 文件夹 | 用途 |
|---|---|
SKILL/ | 技能文档-结构化参考,教Claude如何编写有效的AECDM GraphQL查询 |
mcp-aecdm-hybrid/ | MCP服务器-处理Autodesk OAuth,提供应用内集线器/项目浏览器,启动外部3D查看器,并执行GraphQL查询 |
先决条件
- 克劳德桌面 (支持MCP的最新版本)
- v18或更高版本
- 一 Autodesk平台服务(APS) 申请已在 Autodesk开发人员门户
- 应用程序必须使用“桌面、移动、单页应用程序”类型 带有PKCE的授权码 授权类型(公共客户端,不需要客户端机密) - 添加 http://localhost:5001/ 作为 回调URL 在您的应用设置中 - 所需范围: data:read, viewables:read
______________________________________________________________________
安装
1.克隆存储库
git clone https://github.com//aecdm-claude-skill.git2.将技能文档添加到Claude项目中
这 SKILL/ 文件夹包含Claude在查询时读取的结构化文档。要使其在Claude Desktop中可用,请创建 项目 技能内容作为自定义说明:
- 打开Claude Desktop并创建一个新的 项目 (例如,“AECDM查询”)
- 在项目的 自定义指令,粘贴以下内容
SKILL/SKILL.md - 从以下网址上传教学和参考文件
SKILL/instructions/和SKILL/references/作为 项目知识 文件
技能包括:
SKILL.md-具有检索规则、反模式和工作流说明的入口点instructions/-语义指导(如何思考查询、遍历、过滤器)references/-模式引用(精确的字段名、类型、枚举、输入形状)
提示: 至少,添加SKILL.md作为自定义指令并上传instructions/00_start_here.md和instructions/02_core_object_model.md作为知识档案。其余文件可以根据需要上传,也可以一次性上传,以实现全面覆盖。
3.安装MCP服务器
cd mcp-aecdm-hybrid
npm install
npm run build这编译了:
- React UI(中心浏览器)通过Vite进入
build/dist/ - MCP服务器(TypeScript)通过
tsc进入build/server.js
4.在Claude Desktop中配置MCP服务器
将服务器添加到Claude Desktop MCP配置文件中:
窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"aecdm-hybrid": {
"command": "node",
"args": ["C:\\Users\\YOUR_USERNAME\\path\\to\\mcp-aecdm-hybrid\\build\\server.js"],
"env": {
"CLIENT_ID": "YOUR_APS_CLIENT_ID"
}
}
}
}macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"aecdm-hybrid": {
"command": "node",
"args": ["/absolute/path/to/mcp-aecdm-hybrid/build/server.js"],
"env": {
"CLIENT_ID": "YOUR_APS_CLIENT_ID"
}
}
}
}替换:
- 路径在
args随着 绝对路径 到mcp-aecdm-hybrid/build/server.js在您的机器上 YOUR_APS_CLIENT_ID使用Autodesk Platform Services应用程序客户端ID
在保存配置之后, 重新启动克劳德桌面 以使更改生效。
______________________________________________________________________
跑步
安装后,打开Claude Desktop并在AECDM项目中启动对话(或任何有MCP服务器的对话)。
认证中
当您第一次与AECDM工具交互时,Claude将调用 authenticate 工具。这将打开默认浏览器到Autodesk登录页面。登录后,OAuth令牌在会话期间存储在服务器的内存中。
浏览型号
让Claude浏览您的ACC车型,否则它会在需要时自动打开浏览器:
“显示我的ACC项目” “浏览我的Autodesk Construction Cloud模型”
应用内集线器浏览器允许您导航 中心>项目>模型 并选择要加载的模型。
查看三维模型
当您在浏览器中选择一个模型(或要求Claude渲染一个模型)时,服务器会打开一个 外部浏览器窗口 使用Autodesk Viewer。查看器通过WebSocket连接到MCP服务器并保持同步——您可以从应用内浏览器切换模型,查看器会自动更新。
查询API AECDM
加载模型后,让Claude使用自然语言查询它:
“列出此模型中的所有墙” “这个模型有什么层次?” “查找1楼的所有门” “显示窗口的属性” “将所有家具放在一楼,并突出显示”
技能文档指导Claude完成以下工作:
- 召唤
get-model-context检索当前elementGroupId - 根据AECDM架构规则构造有效的GraphQL查询
- 通过执行查询
execute-query - 在需要时链接多步查询(例如,在按一过滤之前发现级别)
- 通过以下方式在3D查看器中突出显示结果
highlight-elements
MCP工具参考
| 工具 | 说明 |
|---|---|
authenticate | 启动Autodesk OAuth PKCE登录流 |
check-auth | 检查当前身份验证状态 |
browse-aecdm | 打开应用内集线器/项目/模型浏览器 |
render-model | 将模型发送到外部3D查看器 |
highlight-elements | 按外部ID突出显示查看器中的元素 |
get-model-context | 返回当前模型的 elementGroupId 用于查询 |
execute-query | 针对AECDM API执行自定义GraphQL查询 |
get-hubs | 获取ACC集线器(浏览器UI内部使用) |
get-projects | 获取中心的项目(由浏览器UI内部使用) |
get-element-groups | 获取项目的模型(由浏览器UI内部使用) |
get-elements-by-category | 获取按类别筛选的元素(由浏览器UI内部使用) |
______________________________________________________________________
建筑
┌──────────────────────────────────────────────────────┐
│ Claude Desktop │
│ │
│ ┌──────────────┐ ┌────────────────────────────┐ │
│ │ Claude + │◄──►│ MCP Server (stdio) │ │
│ │ AECDM Skill │ │ - OAuth PKCE auth │ │
│ └──────────────┘ │ - GraphQL execution │ │
│ │ - Model context tracking │ │
│ ┌──────────────┐ │ │ │
│ │ In-App UI │◄──►│ (registerAppTool / │ │
│ │ Hub Browser │ │ registerAppResource) │ │
│ └──────────────┘ └────────────┬───────────────┘ │
│ │ WebSocket │
└───────────────────────────────────┼──────────────────┘
│
┌─────────────▼──────────────┐
│ External Browser Window │
│ Autodesk Viewer (3D) │
│ - Model rendering │
│ - Element highlighting │
└────────────────────────────┘- 这 技能文档 为Claude提供有关AECDM GraphQL模式、有效入口点、过滤模式和反模式的结构化知识
- 这 MCP服务器 通过stdio与Claude Desktop通信,将基于React的中心浏览器作为应用内UI提供服务,并通过HTTP+WebSocket管理外部查看器
- 这 外部查看器 在单独的浏览器选项卡中使用Autodesk Viewer SDK渲染三维模型
______________________________________________________________________
故障排除
| 问题 | 解决方案 |
|---|---|
| MCP服务器未显示在Claude Desktop中 | 确保 npm run build 已成功完成,路径在 claude_desktop_config.json 正确(使用绝对路径),然后重新启动Claude Desktop |
| 身份验证失败 | 验证您的CLIENT_ID是否正确 http://localhost:5001/ 在APS应用程序设置中注册为回调URL |
| 查看器未打开 | 检查端口8080和8081是否可用(用于查看器HTTP和WebSocket服务器) |
| “未加载模型”错误 | 使用 browse-aecdm 首先选择一个模型,或让Claude浏览您的项目 |
| 查询返回错误 | 技能文档包括错误处理指南-克劳德将尝试自我纠正最多3次 |
| 工具不可用 | 打开克劳德桌面设置>开发人员>检查 aecdm-hybrid 服务器显示绿色状态指示器 |
