About Aecdm Claude Skill
Aecdm Claude Skill is an MCP server published by asertorio in the Developer Tools category: sKILL and MCP to interact with the AECDM through Claude.
The repository has 11 stars and 4 forks, with the last commit 8 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/asertorio/aecdm-claude-skillThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Aecdm Claude Skill
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- !License declaredNo license file. Legally you have no right to use it in a product.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
1 check has not been run yet.
README
AECDM Claude Skill + MCP Server
Query Autodesk's AEC Data Model (AECDM) GraphQL API from within Claude Desktop, powered by structured Skill documentation that teaches Claude how to construct correct queries and an MCP Server that handles authentication, model browsing, 3D visualization, and query execution.
What's Included
| Folder | Purpose |
|---|---|
SKILL/ |
Skill documentation - structured reference that teaches Claude how to write valid AECDM GraphQL queries |
mcp-aecdm-hybrid/ |
MCP Server - handles Autodesk OAuth, provides an in-app hub/project browser, launches an external 3D viewer, and executes GraphQL queries |
Prerequisites
- Claude Desktop (latest version with MCP support)
- Node.js v18 or later
- An Autodesk Platform Services (APS) application registered at the Autodesk Developer Portal
- The app must be type "Desktop, Mobile, Single-Page App" using the Authorization Code with PKCE grant type (public client, no client secret needed)
- Add
http://localhost:5001/as a Callback URL in your app settings - Required scopes:
data:read,viewables:read
Installation
1. Clone the Repository
git clone https://github.com/<your-username>/aecdm-claude-skill.git
2. Add the Skill Documentation to a Claude Project
The SKILL/ folder contains structured documentation that Claude reads at query time. To make it available in Claude Desktop, create a Project with the skill content as custom instructions:
- Open Claude Desktop and create a new Project (e.g., "AECDM Queries")
- In the Project's custom instructions, paste the contents of
SKILL/SKILL.md - Upload the instructional and reference documents from
SKILL/instructions/andSKILL/references/as Project Knowledge files
The skill includes:
SKILL.md- Entry point with retrieval rules, anti-patterns, and workflow instructionsinstructions/- Semantic guidance (how to think about queries, traversals, filters)references/- Schema reference (exact field names, types, enums, input shapes)
Tip: At minimum, add
SKILL.mdas custom instructions and uploadinstructions/00_start_here.mdandinstructions/02_core_object_model.mdas knowledge files. The remaining documents can be uploaded as needed or all at once for comprehensive coverage.
3. Install the MCP Server
cd mcp-aecdm-hybrid
npm install
npm run build
This compiles:
- The React UI (hub browser) via Vite into
build/dist/ - The MCP server (TypeScript) via
tscintobuild/server.js
4. Configure the MCP Server in Claude Desktop
Add the server to your Claude Desktop MCP configuration file:
Windows: %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"
}
}
}
}
Replace:
- The path in
argswith the absolute path tomcp-aecdm-hybrid/build/server.json your machine YOUR_APS_CLIENT_IDwith your Autodesk Platform Services application Client ID
After saving the configuration, restart Claude Desktop for the changes to take effect.
Running
After installation, open Claude Desktop and start a conversation within your AECDM Project (or any conversation where the MCP server is available).
Authenticating
When you first interact with the AECDM tools, Claude will call the authenticate tool. This opens your default browser to the Autodesk login page. After signing in, the OAuth token is stored in the server's memory for the duration of the session.
Browsing Models
Ask Claude to browse your ACC models, or it will automatically open the browser when needed:
"Show me my ACC projects" "Browse my Autodesk Construction Cloud models"
The in-app hub browser lets you navigate Hubs > Projects > Models and select a model to load.
Viewing 3D Models
When you select a model in the browser (or ask Claude to render one), the server opens an external browser window with the Autodesk Viewer. The viewer connects to the MCP server via WebSocket and stays synchronized - you can switch models from the in-app browser and the viewer updates automatically.
Querying the AECDM API
Once a model is loaded, ask Claude to query it using natural language:
"List all the walls in this model" "What levels does this model have?" "Find all doors on Level 1" "Show me the properties of the windows" "Get all furniture on the ground floor and highlight them"
The Skill documentation guides Claude through:
- Calling
get-model-contextto retrieve the currentelementGroupId - Constructing a valid GraphQL query following AECDM schema rules
- Executing the query via
execute-query - Chaining multi-step queries when needed (e.g., discovering levels before filtering by one)
- Highlighting results in the 3D viewer via
highlight-elements
MCP Tools Reference
| Tool | Description |
|---|---|
authenticate |
Initiates Autodesk OAuth PKCE login flow |
check-auth |
Checks current authentication status |
browse-aecdm |
Opens the in-app hub/project/model browser |
render-model |
Sends a model to the external 3D viewer |
highlight-elements |
Highlights elements in the viewer by external ID |
get-model-context |
Returns the current model's elementGroupId for queries |
execute-query |
Executes a custom GraphQL query against the AECDM API |
get-hubs |
Fetches ACC hubs (used internally by the browser UI) |
get-projects |
Fetches projects for a hub (used internally by the browser UI) |
get-element-groups |
Fetches models for a project (used internally by the browser UI) |
get-elements-by-category |
Fetches elements filtered by category (used internally by the browser UI) |
Architecture
┌──────────────────────────────────────────────────────┐
│ 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 │
└────────────────────────────┘
- The Skill documentation provides Claude with structured knowledge about the AECDM GraphQL schema, valid entry points, filter patterns, and anti-patterns
- The MCP Server communicates with Claude Desktop over stdio, serves the React-based hub browser as an in-app UI, and manages an external viewer via HTTP + WebSocket
- The External Viewer renders 3D models using the Autodesk Viewer SDK in a separate browser tab
Troubleshooting
| Issue | Solution |
|---|---|
| MCP server not showing in Claude Desktop | Ensure npm run build completed successfully, the path in claude_desktop_config.json is correct (use absolute paths), and restart Claude Desktop |
| Authentication fails | Verify your CLIENT_ID is correct and http://localhost:5001/ is registered as a callback URL in your APS app settings |
| Viewer doesn't open | Check that ports 8080 and 8081 are available (used for the viewer HTTP and WebSocket servers) |
| "No model loaded" error | Use browse-aecdm to select a model first, or ask Claude to browse your projects |
| Query returns errors | The Skill documentation includes error handling guidance - Claude will attempt to self-correct up to 3 times |
| Tools not available | Open Claude Desktop Settings > Developer > check that the aecdm-hybrid server shows a green status indicator |
README fetched from the repository 4 days ago. The original is authoritative.