AP

autodesk-platform-services/au2026-mcp-workshop-advanced

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

5 stars 5 forks Качество 61 Тренд 21

APS MCP Workshop — Advanced Session (AU2026)

Обзор

An MCP (Model Context Protocol) server that exposes Autodesk Forma project data over , acting on behalf of a signed-in Autodesk user. Built for the AU2026 advanced workshop, starting from the code the beginner session produces. The server connects GitHub Copilot (or any MCP-compatible client) to the hubs and projects the signed-in user can see, and can render designs as interactive 3D previews directly in chat. Clients must sign in through the server's own OAuth endpoints before they can call a tool. viewer.html is registered as an MCP app resource under ui://aps-mcp/viewer.html. preview-design references it via _meta.ui.resourceUri, so a client that supports MCP Apps renders the viewer in a panel and feeds the tool's structuredContent to it. Selecting an object in 3D reports back to the host as extra model context. There is no build step. mcp.js reads viewer.html from disk at module load, and the one browser-side library it needs is loaded from a CDN. - Node.

README

Показан фрагмент оригинального README. Открыть оригинал.

APS MCP Server (Advanced)

An MCP (Model Context Protocol) server that exposes Autodesk Forma project data over Streamable HTTP, acting on behalf of a signed-in Autodesk user. Built for the AU2026 advanced workshop, starting from the code the beginner session produces.

What it does

The server connects GitHub Copilot (or any MCP-compatible client) to the hubs and projects the signed-in user can see, and can render designs as interactive 3D previews directly in chat. Clients must sign in through the server’s own OAuth endpoints before they can call a tool.

MCP tools

Tool Inputs Description
list-hubs-projects — Lists all hubs and their projects accessible to the authenticated user
list-folder-contents hubId, projectId, folderId? Lists folder contents; omit folderId to get top-level folders
preview-design projectId, designId, region? Returns a payload the embedded APS Viewer UI uses to load the model

Viewer UI resource

viewer.html is registered as an MCP app resource under ui://aps-mcp/viewer.html. preview-design references it via _meta.ui.resourceUri, so a client that supports MCP Apps renders the viewer in a panel and feeds the tool’s structuredContent to it. Selecting an object in 3D reports back to the host as extra model context.

There is no build step. mcp.js reads viewer.html from disk at module load, and the one browser-side library it needs is loaded from a CDN.

Prerequisites

  • Node.js 24+
  • An APS application with data:read scope (create one here), with a Callback URL of /auth/callback
  • An Autodesk Forma hub your APS app is provisioned to, and membership of at least one project in it — the 3-legged flow uses your permissions

Setup

Create a .env file at the project root:

APS_CLIENT_ID=your-client-id
APS_CLIENT_SECRET=your-client-secret

Then:

npm install
npm start
Variable Required Default
APS_CLIENT_ID yes —
APS_CLIENT_SECRET yes —
PORT no 3000
PUBLIC_URL no http://localhost:

The start script loads .env via Node’s --env-file-if-exists flag, so any of these can go there. .env is gitignored; the code only ever reads process.env. Where the variables are already in the environment — a Codespace with repository secrets, a container — no .env is needed and Node skips it.

Открыть полный README на GitHub

Установка

npx serve docs -l 4000
Новичок в MCP? Начните с руководства на mcpskill.org →