
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.