Skip to content

autodesk-platform-services/aps-mcp-app-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

APS MCP App Example

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

Features

  • 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
  • IDs of elements selected in the viewer reported back to the LLM for further discussions (e.g., Tell me more about this element)

Live demo

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

What’s inside

  • server.js: Express app with an MCP server using Streamable HTTP transport
  • auth.js: Utils for authenticating the access to APS using Secure Service Accounts
  • config.js: Collecting configuration inputs from environment variables
  • tools/: MCP tools for APS projects/designs
  • resources/: MCP resource for the viewer
  • ui/: Viewer UI built into dist/viewer.html by Vite

Run locally

You'll need a Secure Service Account and a private key. See our Introducing Secure Service Accounts blog post for more details.

  1. Install dependencies: npm install
  2. Create a .env in the repo root:
    • APS_CLIENT_ID
    • APS_CLIENT_SECRET
    • SSA_ID
    • SSA_KEY_ID
    • SSA_KEY_BASE64 (base64-encoded PEM private key)
    • Optional: PORT (default 3000)
    • Optional: PUBLIC_ENDPOINT_URL (added to CSP allowlist)
  3. Build the UI bundle: npm run build
  4. Start the server: npm start

Server will listen at http://localhost:3000/mcp.

About

Example MCP server for Autodesk Platform Services with support for MCP Apps.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published