Example MCP server for Autodesk Platform Services with support for MCP Apps. It exposes tools for browsing projects and designs in Autodesk Construction Cloud, and a UI resource providing interactive preview of selected designs using APS Viewer.
aps-mcp-app-example-1080.mp4
- Authentication using Secure Service Account API
- Support for UK+4 regions (automatically detected from ACC hubs)
- Support for switching between SVF(1) and SVF2 viewing formats
- SVF2 used by default
- In order to load SVF(1), add
format=svfquery parameter to the MCP server URL, e.g., https://aps-mcp-app-example.autodesk.io/mcp?format=svf
- IDs of elements selected in the viewer reported back to the LLM for further discussions (e.g., Tell me more about this element)
A live demo of this MCP server is running on https://aps-mcp-app-example.autodesk.io, with a preconfigured Secure Service Account with access to a couple of design files. Here's how to try it out:
- Get an MCP client that supports MCP apps
- Register the MCP server URL:
https://aps-mcp-app-example.autodesk.io/mcp - Start asking questions such as
- What projects do I have access to?
- Are there any Revit designs?
- Show me the HVAC design
server.js: Express app with an MCP server using Streamable HTTP transportauth.js: Utils for authenticating the access to APS using Secure Service Accountsconfig.js: Collecting configuration inputs from environment variablestools/: MCP tools for APS projects/designsresources/: MCP resource for the viewerui/: Viewer UI built intodist/viewer.htmlby Vite
You'll need a Secure Service Account and a private key. See our Introducing Secure Service Accounts blog post for more details.
- Install dependencies:
npm install - Create a
.envin the repo root:APS_CLIENT_IDAPS_CLIENT_SECRETSSA_IDSSA_KEY_IDSSA_KEY_BASE64(base64-encoded PEM private key)- Optional:
PORT(default3000) - Optional:
PUBLIC_ENDPOINT_URL(added to CSP allowlist)
- Build the UI bundle:
npm run build - Start the server:
npm start
Server will listen at http://localhost:3000/mcp.