DevCon 2026: AI Pair-Assistant for APS Operators

What if you could manage APS workflows by asking your AI assistant? This session explores how MCP connects Claude to live APS APIs for natural language operations.

#devcon #mcp #ai #automation #claude
Dmytro Yemelianov - Author
Dmytro Yemelianov
Autodesk Expert Elite • APS Developer

DevCon 2026 Session 1257 | 30-minute deep dive | AI Track

AI Pair-Assistant Hero

The 11 PM Problem

It’s 11 PM. You’re troubleshooting a failed translation job. The manifest returns cryptic status codes. You’re switching between three browser tabs—API documentation, Postman, and Stack Overflow—trying to remember the exact endpoint for checking derivative status. Your coffee is cold.

What if instead, you could just ask: “Why did my Revit file fail to translate, and how do I fix it?”

This session explores a future that’s already here: AI assistants that don’t just answer questions about APS—they actually do things in APS. Through the Model Context Protocol (MCP), we’ve connected Claude to live APS APIs. The AI doesn’t hallucinate endpoints or guess at parameters. It executes real operations: creating buckets, checking translation status, listing your projects.

What is MCP, Really?

MCP Architecture

Think of MCP as a universal adapter between AI assistants and external tools. Without MCP, when you ask Claude about your APS buckets, it can only give you generic information from its training data. With MCP, Claude can actually call the OSS API and tell you your specific buckets, right now.

The protocol is simple:

  1. You start an MCP server (in our case, raps serve)
  2. The AI assistant connects to it
  3. The server exposes “tools”—functions the AI can call
  4. When you ask a question that requires live data, the AI uses the appropriate tool

The 35 Tools We’ve Built

The raps MCP server exposes 35 tools covering comprehensive APS operations:

Authentication:

auth_test      - Test 2-legged OAuth credentials
auth_status    - Check current authentication state

Bucket management:

bucket_list    - List all accessible buckets
bucket_create  - Create a new bucket with policy and region
bucket_get     - Get detailed bucket information
bucket_delete  - Delete an empty bucket

Object operations:

object_list       - List objects in a bucket
object_delete     - Delete an object
object_signed_url - Generate pre-signed download URL
object_urn        - Get Base64-encoded URN for translation

Translation workflow:

translate_start   - Start a translation job
translate_status  - Check translation progress and results

Data Management:

hub_list       - List BIM 360/ACC hubs
project_list   - List projects in a hub
folder_list    - List folder contents
item_info      - Get item details

ACC Operations:

issue_list/create/update  - Manage issues
rfi_list/get              - RFI operations
acc_assets_list           - Asset management
acc_submittals_list       - Submittal tracking
acc_checklists_list       - Quality checklists

Account Admin (bulk operations):

admin_user_add            - Add user to projects
admin_user_remove         - Remove user from projects
admin_user_update_role    - Update user roles

Demo: A Real Conversation

Conversation Flow

User: "I need to set up storage for a new hospital project.
       Create a bucket with persistent retention in the US region."

AI: I'll create that bucket for you. What would you like to name it?

User: "hospital-central-2026"

AI: [Calls bucket_create tool]
    ✓ Created bucket 'hospital-central-2026'
    - Policy: persistent (files kept until explicitly deleted)
    - Region: US

    Ready for uploads. Would you like me to show you the upload command?

User: "What's the status of the translation I started this morning?"

AI: [Calls object_list, then translate_status]
    Found it. Translation status for hospital-model.rvt:

    Status: success ✓
    Progress: 100%
    Output formats available:
    - SVF2 (3D viewer)
    - Thumbnail (PNG)

This isn’t science fiction. This is working today.

The Honest Limitations

Before vs After

What AI assistance does well:

  • Exploration and discovery (“what buckets do I have?”)
  • Troubleshooting (“why did this translation fail?”)
  • One-off operations (“create a bucket for this new project”)
  • Learning (“what’s the difference between SVF and SVF2?”)

What AI assistance doesn’t replace:

  • Production pipelines (you need deterministic, version-controlled scripts)
  • High-volume operations (batch processing 10,000 files needs proper tooling)
  • Complex workflows (multi-step processes with error handling)
  • Audit requirements (scripts provide traceable, repeatable operations)

The answer to “Is this the end of scripts?” is no. But it might be the end of starting with scripts. Use AI for exploration, then codify what works into automation.

Getting Started

Configuration for Claude Desktop

{
  "mcpServers": {
    "raps": {
      "command": "raps",
      "args": ["serve"],
      "env": {
        "APS_CLIENT_ID": "your_client_id",
        "APS_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

Configuration for Cursor IDE

Add .cursor/mcp.json to your project:

{
  "mcpServers": {
    "raps": {
      "command": "raps",
      "args": ["serve"]
    }
  }
}

Key Takeaways

  1. MCP enables AI assistants to safely interact with APS APIs via 35 specialized tools
  2. Natural language reduces the barrier to APS automation for exploration and debugging
  3. AI assistance is complementary to—not replacement for—production automation
  4. The future is hybrid: AI for exploration, scripts for repeatable workflows
  5. raps CLI provides both traditional CLI and MCP server modes in a single open-source tool

Resources