Skip to main content
Glama

ACC.MCP – MCP service for Autodesk Platform Services

MCP (Model Context Protocol) server that exposes Autodesk Platform Services (APS) as tools for AI assistants (e.g. Cursor).

Requirements

  • Node.js 18+

  • APS application with Client ID and Client Secret (2-legged OAuth)

Related MCP server: mcp-server-for-revit

Setup

  1. Install dependencies

    npm install
  2. Configure credentials

    Copy .env.example to .env and set your APS app credentials:

    cp .env.example .env
    # Edit .env: set APS_CLIENT_ID and APS_CLIENT_SECRET
  3. Build

    npm run build
  4. Pack (optional) If you want to use it on Claude Desktop, you can pack the MCP to a .mcpb

    npm run pack

Running the MCP service

The server uses stdio transport: a client (e.g. Cursor) spawns this process and talks to it via stdin/stdout.

  • Run directly: npm start or node dist/index.js

  • With env file: use dotenv or your shell to load .env before starting

Cursor configuration

Add this MCP server in Cursor (e.g. Settings → MCP or .cursor/mcp.json):

{
  "mcpServers": {
    "acc-mcp": {
      "command": "node",
      "args": ["c:/repositories/00-Research/ACC.MCP/dist/index.js"],
      "env": {
        "APS_CLIENT_ID": "your_client_id",
        "APS_CLIENT_SECRET": "your_client_secret",
        "APS_SCOPE": "data:read"
      }
    }
  }
}

Use the path to dist/index.js that matches your machine. You can also run via npx or a wrapper script that loads .env and then runs node dist/index.js.

Tools

These return compact, pre-processed summaries (~95 % smaller than raw API responses) and include parameter validation with helpful error messages.

Tool

Description

aps_list_hubs

List all ACC / BIM 360 hubs (accounts) — returns name, id, type, region.

aps_list_projects

List projects in a hub — returns name, id, platform, last modified.

aps_get_top_folders

Get root folders for a project (Project Files, Plans, Shared, …).

aps_get_folder_contents

Summarised folder listing with file-type breakdown, sizes, version info. Supports filtering by extension and hiding hidden items.

aps_get_item_details

Metadata for a single file: name, type, size, version number, dates.

aps_get_folder_tree

Recursive folder-tree with file counts per folder (configurable depth).

aps_docs

APS quick-reference: common ID formats, browsing workflow, API paths, file extensions, error troubleshooting.

Power-user tools

Tool

Description

aps_get_token

Verify credentials / obtain a 2-legged access token. All other tools handle tokens automatically.

aps_dm_request

Call any Data Management API endpoint from the APS Data Management spec: project/v1 (hubs, projects, topFolders) and data/v1 (folders, contents, items, versions, downloads, jobs, storage, commands). Returns the full JSON:API response. Parameters: method (GET, POST, PATCH, DELETE), path, optional query and body.

Typical workflow

aps_list_hubs                                    → pick a hub
aps_list_projects(hub_id)                        → pick a project
aps_get_top_folders(hub_id, project_id)          → see root folders
aps_get_folder_contents(project_id, folder_id)   → browse files
aps_get_item_details(project_id, item_id)        → file metadata

For write/create operations (e.g. create folder, create item, execute command) use aps_dm_request and set APS_SCOPE to include data:write or data:create as required by the endpoint.

MCP Bundle (.mcpb)

This project can be packed as an MCP Bundle for one-click install in Claude Desktop and other MCPB-compatible apps.

  1. Create the bundle

    npm run pack

    This builds the server, prepares a bundle directory (manifest + server + production dependencies), zips it to acc-mcp.mcpb, then removes the temp directory. On Windows the script uses PowerShell Compress-Archive; on macOS/Linux it uses zip -r.

  2. Install the bundle

    Open acc-mcp.mcpb in Claude for macOS or Windows (or any app that supports MCPB). You’ll be prompted for APS Client ID and APS Client Secret; the app will pass them to the server as environment variables.

    For a step-by-step walkthrough with screenshots, see docs/claude-desktop-installation.md.

The manifest.json at the repo root follows the MCPB manifest spec (manifest_version 0.3, Node server, user_config for credentials).

License

MIT

Available Tools

27 tools
aps_dm_requestA

Call any APS Data Management API endpoint (project/v1, data/v1). This is the raw / power‑user tool – it returns the full JSON:API response which can be very large (100 K+ tokens for folder listings). Prefer the simplified tools (aps_list_hubs, aps_list_projects, aps_get_folder_contents, etc.) for everyday browsing. Use this tool when you need full control: pagination, POST/PATCH/DELETE, or endpoints not covered by simplified tools.

Response guidance – when summarising large responses focus on: • Folders: name, id, item count • Files: name, type/extension, size, last modified, version info • Ignore: relationship links, JSON:API meta, and extended attributes unless specifically needed.

Inputs: method (required), path (required), query, body.

aps_docsA

Return APS Data Management quick‑reference documentation: common ID formats, typical browsing workflow, raw API paths, query parameters, BIM file extensions, and error troubleshooting. Call this before your first APS interaction or when unsure about ID formats or API paths.

Inputs: no named parameters.

aps_get_folder_contentsA

Get a summarised listing of a folder's contents. Returns a compact JSON with: summary (item counts, file type breakdown, total size), folders (name, id, item count), and files (name, id, type, size, version, dates). This is ~95 % smaller than the raw API response.

Supports optional filtering by file extension and hiding hidden items. For the full raw response, use aps_dm_request instead.

Inputs: project_id (required), folder_id (required), filter_extensions, exclude_hidden, +1 more.

aps_get_folder_treeA

Build a recursive folder‑tree structure showing subfolder hierarchy and file counts per folder. Useful for understanding a project's organisation at a glance. ⚠️ Each level makes an API call, so keep max_depth low (default 3) to avoid rate limits.

Inputs: project_id (required), folder_id (required), max_depth.

aps_get_item_detailsA

Get summarised metadata for a single file / item: name, type, size, version number, dates. Much smaller than the raw JSON:API response. Use for quick file lookups when you already have the item_id from a folder listing.

Inputs: project_id (required), item_id (required).

aps_get_submittal_itemB

Get full details for a single submittal item by ID. Returns the complete item object from the API.

Inputs: project_id (required), item_id (required).

aps_get_submittal_item_attachmentsB

Get attachments for a specific submittal item. Returns file names, URNs, revision numbers, and categories. Use the URN to download the attachment via the Data Management API.

Inputs: project_id (required), item_id (required).

aps_get_tokenA

Get a 2‑legged access token for Autodesk Platform Services (APS). Use this to verify that credentials are configured correctly. The token is cached and auto‑refreshed by all other tools, so you rarely need to call this explicitly.

Inputs: no named parameters.

aps_get_top_foldersA

Get the root / top‑level folders for an ACC / BIM 360 project. Common root folders: 'Project Files', 'Plans', 'Shared', 'Recycle Bin'. Returns folder name, id, and item count. Use the folder id with aps_get_folder_contents.

Inputs: hub_id (required), project_id (required).

aps_issues_createA

Create a new issue in a project. Requires: title, issueSubtypeId (get from aps_issues_get_types), and status. Optional: description, assignee, dates, location, root cause, custom attributes, watchers. ⚠️ Requires 'data:write' in APS_SCOPE.

Inputs: project_id (required), title (required), issue_subtype_id (required), status (required), +12 more.

aps_issues_create_commentA

Add a comment to an issue. ⚠️ Requires 'data:write' in APS_SCOPE.

Inputs: project_id (required), issue_id (required), body (required), region.

aps_issues_docsA

Return ACC Issues API quick‑reference documentation: project ID format, statuses, typical workflow, raw API paths, common filters, sort options, and error troubleshooting. Call this before your first Issues interaction.

Inputs: no named parameters.

aps_issues_getA

Get detailed information about a single issue. Returns a compact summary with: id, title, description, status, assignee, dates, location, custom attributes, linked document count, permitted statuses, and more.

Inputs: project_id (required), issue_id (required), region.

aps_issues_get_commentsA

Get all comments for a specific issue. Returns a compact list: comment id, body, author, date.

Inputs: project_id (required), issue_id (required), limit, offset, +2 more.

aps_issues_get_typesA

Get issue categories (types) and their types (subtypes) for a project. Returns a compact summary: category id, title, active status, and subtypes with code. Use the returned subtype id when creating issues (issueSubtypeId).

Inputs: project_id (required), include_subtypes, region.

aps_issues_listA

List and search issues in a project with optional filtering. Returns a compact summary per issue: id, displayId, title, status, assignee, dates, comment count. Supports filtering by status, assignee, type, date, search text, and more. This is much smaller than the raw API response.

Inputs: project_id (required), filter_status, filter_assigned_to, filter_issue_type_id, +10 more.

aps_issues_requestA

Call any ACC Issues API endpoint (construction/issues/v1). This is the raw / power‑user tool – it returns the full API response. Prefer the simplified tools (aps_issues_list, aps_issues_get, etc.) for everyday use. Use this when you need full control: custom filters, attribute definitions, attribute mappings, or endpoints not covered by simplified tools.

⚠️ Project IDs for the Issues API must NOT have the 'b.' prefix. If you have a Data Management project ID like 'b.abc123', use 'abc123'.

Inputs: method (required), path (required), query, body, +1 more.

aps_issues_updateA

Update an existing issue. Only include the fields you want to change. ⚠️ Requires 'data:write' in APS_SCOPE. To see which fields the current user can update, check permittedAttributes in the issue detail.

Inputs: project_id (required), issue_id (required), title, description, +12 more.

aps_list_hubsA

List all ACC / BIM 360 hubs (accounts) accessible to this app. Returns a compact summary: hub name, id, type, and region. Use the returned hub id (e.g. 'b.abc123…') in subsequent calls to aps_list_projects.

Inputs: no named parameters.

aps_list_projectsA

List projects in an ACC / BIM 360 hub. Returns a compact summary: project name, id, platform (ACC / BIM 360), and last modified date. Use the returned project id with aps_get_top_folders or aps_get_folder_contents.

Inputs: hub_id (required).

aps_list_submittal_itemsA

List submittal items in an ACC project. Returns a compact summary: title, number, spec section, type, status, priority, revision, dates. Supports filtering by status, package, spec section, and review response.

Inputs: project_id (required), filter_status, filter_package_id, filter_spec_id, +2 more.

aps_list_submittal_packagesA

List submittal packages in an ACC project. Returns a compact summary: title, identifier, spec section, description, dates.

Inputs: project_id (required), limit, offset.

aps_list_submittal_specsB

List spec sections for submittals in an ACC project. Returns a compact summary: identifier (e.g. '033100'), title, dates. Spec sections are the specification divisions that submittal items are organised under.

Inputs: project_id (required), limit, offset.

aps_loginA

Start a 3‑legged OAuth login for APS (user context). Opens the user's browser to the Autodesk sign‑in page. After the user logs in and grants consent, the token is cached to disk and auto‑refreshed. All subsequent API calls use the 3LO token (with the user's own permissions) until aps_logout is called. The OAuth scope is determined by the APS_SCOPE setting configured by the user.

Inputs: no named parameters.

aps_logoutA

Clear the cached 3‑legged OAuth token. After this, API calls fall back to the 2‑legged (app‑context) token.

Inputs: no named parameters.

aps_submittals_docsA

Return ACC Submittals API quick‑reference documentation: endpoints, query parameters, statuses, custom numbering, typical workflow, and key concepts. Call this before your first Submittals interaction or when unsure about Submittals API usage.

Inputs: no named parameters.

aps_submittals_requestA

Call any ACC Submittals API endpoint. This is the raw / power‑user tool – it returns the full JSON response. Prefer the simplified tools (aps_list_submittal_items, aps_list_submittal_packages, etc.) for everyday use. Use this tool when you need full control: pagination, POST/PATCH, or endpoints not covered by simplified tools (e.g. metadata, settings/mappings, users/me, item-types, responses).

The base path is: construction/submittals/v2/projects/{projectId}/ You only need to provide the sub‑path after 'projects/{projectId}/' (e.g. 'items', 'packages', 'specs').

Inputs: project_id (required), path (required), method, query, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 27 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose, with separate groups for Data Management, Issues, Submittals, authentication, and documentation. No two tools overlap in functionality, making it easy for an agent to select the right tool.

    Naming Consistency5/5

    All tools follow a consistent 'aps_<domain>_<action>' pattern using snake_case, with exceptions like aps_docs and aps_login that are still prefixed with 'aps_'. The naming is uniform and predictable.

    Tool Count4/5

    27 tools is slightly high but justified by the broad scope covering multiple APS APIs (Data Management, Issues, Submittals) plus authentication and docs. Each tool serves a specific need, and the count is appropriate for the coverage.

    Completeness4/5

    The tool set covers the main workflows for browsing and managing ACC projects, including hubs, projects, folders, items, issues, and submittals. Some operations like creating submittals or uploading files are only available via raw API tools, which is acceptable but leaves minor gaps.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers