When we loaded web.autocad.com again on Oct 24, 2026, it registered these through navigator.modelContext or provideContext(), from earlier WebMCP drafts. Chrome 154 only offers document.modelContext, so Chrome’s own agent support does not see them.
acad_analyze_da_job
Fetches the activity log files from a Design Automation job by job ID and returns their full content for root cause analysis. Use this when a job has issues and help diagnose why.
job_id: string
acad_assign_blocks_to_category
Assigns one or more blocks on the active Blocks palette tab to categories using AI. Use when the user asks to put a block into a specific category.
assignments: array, instructions: string?
acad_check_block_resize
Call this BEFORE acad_generate_block when a block already exists in this conversation and the user asks to resize it to explicit numbers on both axes (e.g. 'make it 40 x 40', 'change it to 8 by 5 feet'). Generates…
width: number, height: number, unit: string
acad_clear_block_categorization
Clears AI block categorization for the active Blocks palette tab, restoring the original flat block list. Use when the user asks to reverse or undo block categorization.
acad_execute_lisp
Execute an AutoCAD LISP expression in the current drawing.
code: string
acad_generate_block
Requires an open drawing. ALWAYS call acad_get_current_file_name FIRST, every time before calling this tool -- including for a follow-up on a block already being discussed -- because the user may have switched away…
prompt: string, sizeIntent: string?
acad_get_block_categorization_status
Reports the status of the AI block categorization started by acad_recategorize_palette_blocks, waiting up to 5 seconds for it to finish. Call it repeatedly until the status is completed or failed.
acad_get_block_generation
Internal: called by the AutoCAD block preview app. Do not call directly. Returns the current state of a block generation.
requestId: string
acad_get_current_file_name
Returns the name of the currently opened file in the AutoCAD Web editor. If no file is open, returns 'Not Available'.
acad_insert_generated_block
Internal: called by the AutoCAD block preview app. Do not call directly. Inserts a generated block into the current drawing.
requestId: string
acad_list_palette_blocks
Lists blocks on the active Blocks palette tab with their current AI category and tags when organized. Use this to resolve block names before assigning or recategorizing blocks.
search: string?
acad_list_recent_files
Returns a list of recently accessed drawings in AutoCAD Web. Each entry includes the file name, unique ID, provider, path, and last access time. Use this to help the user find and open a drawing.
count: number?
acad_open_drawing
Opens a recent drawing in the AutoCAD Web editor. Requires the file details returned by acad_list_recent_files. The user should first call acad_list_recent_files to get the file list, then use this tool with the…
id: string, file_name: string, provider: string, provider_details: object
acad_recategorize_palette_blocks
Starts AI categorization of all blocks in the active Blocks palette tab and returns immediately; it can take a minute. Use when the user asks to recategorize or reorganize blocks with AI. Then call…
instructions: string?
acad_set_block_layer
Choose the AutoCAD layer generated blocks are inserted onto. Call this BEFORE acad_generate_block whenever the user names a layer ('generate a bed and put it in layer 3'), and again later if they ask to move the block…
layer: string, confirmed: boolean?
acad_show_block_preview
Show the user a fresh preview panel, with a working Insert button, for the block already generated in this conversation. Call this when they want to place that block again — most often after changing its layer, since…
acad_start_new_block_conversation
Start a new block conversation, discarding the previous one. Call this when the user asks for a different object rather than a change to the one already generated — for example "now make a table" after iterating on a…
acad_submit_block_feedback
Internal: called by the AutoCAD block preview app. Do not call directly. Records whether a generated block was useful.
requestId: string, useful: boolean