An interface to the 'AutoDesk' Platform Services ('APS') 'API' including the Authentication 'API' for obtaining 'OAuth2' tokens with expiry tracking, Data Management 'API' for managing buckets and objects across the platform's cloud services, Design Automation 'API' for running automated tasks on design files in the cloud, Model Derivative 'API' for translating design files into 'SVF', 'SVF2', 'OBJ', and 'STL' formats and extracting model data, Reality Capture 'API' for generating 3D models from photogrammetry image sets, and Viewer for rendering 2D and 3D models in 'Shiny' applications.

AutoDeskR is an R package that provides an interface to the:
aps_token class.ellmer and mcptools.
To install AutoDeskR in R:
install.packages("AutoDeskR")
Or to install the development version:
devtools::install_github("paulgovan/AutoDeskR")
library(AutoDeskR)
# 1. Authenticate
tok <- getToken(id = Sys.getenv("APS_CLIENT_ID"), secret = Sys.getenv("APS_CLIENT_SECRET"))
is_expired(tok) # FALSE
# 2. Upload a file
makeBucket(token = tok, bucket = "mybucket")
uploadFile(file = "aerial.dwg", token = tok, bucket = "mybucket")
# 3. Translate and wait
resp <- translateSvf2(urn = myEncodedUrn, token = tok)
done <- waitForFile(urn = myEncodedUrn, token = tok)
# 4. Tidy output (requires tibble)
library(tibble)
listBuckets(token = tok) |> as_tibble()
AutoDeskR exposes its functions to AI models via the Model Context
Protocol (MCP). Use
autodeskr_mcp_tools() to start an MCP server that AI assistants can
call directly — no token argument required; credentials are read from
the APS_CLIENT_ID and APS_CLIENT_SECRET environment variables.
# Requires the ellmer and mcptools packages
install.packages(c("ellmer", "mcptools"))
Sys.setenv(APS_CLIENT_ID = "your_id", APS_CLIENT_SECRET = "your_secret")
tools <- autodeskr_mcp_tools()
mcptools::mcp_server(tools = tools)
The server exposes tools for all five APIs: Authentication, Data Management, Model Derivative, Design Automation, and Reality Capture.
Please note that the AutoDeskR project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Many thanks to the developers at AutoDesk for providing this great set of tools and for the support needed to learn and implement these APIs.