MCP Connector for AutoCAD Documentation

Complete guide to installing, configuring, and using MCP Connector for AutoCAD - 180 MCP tools, including the 39 free read-only tools, driven by Claude Desktop, ChatGPT Desktop, Cursor, or Claude Code.

MCP Connector for AutoCAD connects AI assistants to a live Autodesk AutoCAD session on your machine. Once connected, your AI can read and author the drawing: query entities, create and modify geometry, manage layers, blocks, external references, annotation, layouts and 3D solids. Two parts ship together and talk over a local connection: an MCP server your AI client launches, and a plug-in that loads inside AutoCAD. Nothing needs to be configured between them.

Supported AutoCAD Versions

  • AutoCAD 2022
  • AutoCAD 2023
  • AutoCAD 2024
  • AutoCAD 2025
  • AutoCAD 2026
  • AutoCAD 2027

Full AutoCAD is required. AutoCAD LT is not supported. LT does not run add-ins, and the connector works as a plug-in inside AutoCAD. Windows 10 or 11, 64-bit.

AI Applications

  • Claude Desktop
  • ChatGPT Desktop
  • Cursor
  • Claude Code
  • VS Code (GitHub Copilot agent mode)
  • Visual Studio 2022 17.14+ / 2026 (GitHub Copilot)
  • GitHub Copilot CLI
  • Grok Build (xAI CLI)

Installation

Before you begin

Make sure all running instances of Autodesk AutoCAD are closed before starting the installation.

1
Download the Installer
Download the latest version of MCP Connector for AutoCAD from the product page.
2
Run the Installer
Double-click the downloaded .exe file and follow the installation wizard, accepting the licence agreement and privacy policy. One install covers every supported AutoCAD release, so there is nothing to choose.
3
Launch AutoCAD
Open Autodesk AutoCAD. Look for the AUTOM8LABS panel in the Add-ins tab. The plug-in auto-loads on startup; MCPCONNECTOR_STATUS at the command line confirms it is running, and MCPCONNECTOR_START starts it if it is not.
4
Start Using MCP Connector for AutoCAD
Click the MCP Connector button to open the connection dialog and auto-configure your AI application.
AutoCAD Add-ins ribbon with AUTOM8LABS panel showing the MCP Connector for AutoCAD button

Enabling MCP Connector for AutoCAD

After installation, click the MCP Connector button in the Add-ins tab to open the connector dialog, then toggle Enable MCP to start the connection. No licence key is needed for the free tools - the key only unlocks the Pro set.

The dialog shows the status of detected AI applications:

  • Ready (Running) - The AI application is configured to reach AutoCAD and is currently open
  • Ready - Configured, but the application is not running right now
  • Detected - The application is installed but not yet configured; toggle Enable MCP to configure it
  • Not Detected - The AI application is not installed on this machine

The indicator at the top of the dialog reads Disabled, Waiting, or Active. Toggling Enable MCP off again removes the connector from every detected client's configuration.

The MCP Connector for AutoCAD dialog showing detected AI desktop apps and the Enable MCP toggle

Configuration

MCP Connector for AutoCAD includes one-click auto-configuration for supported AI applications. Toggling Enable MCP in the connector dialog writes the configuration for every detected application at once. The installer also registers the server on install, so in most cases there is nothing to do by hand.

Claude Desktop

The config file is located at:

Path
%APPDATA%\Claude\claude_desktop_config.json
Using the Microsoft Store version of Claude Desktop?

The Microsoft Store build never reads %APPDATA%\Claude - Windows redirects that folder into a sandboxed package location. MCP Connector for AutoCAD detects the Store package and writes to both paths, so the Store build is configured automatically. The redirected file lives here:

%LOCALAPPDATA%\Packages\Claude_<hash>\LocalCache\Roaming\Claude\claude_desktop_config.json

If tools still do not appear, fully quit Claude from the system tray (closing the window is not enough) and reopen it.

ChatGPT Desktop

ChatGPT appears in the dialog when it is installed on your machine. The config file is located at:

Path
%USERPROFILE%\.codex\config.toml

This file is shared with the Codex CLI, so configuring ChatGPT Desktop makes the AutoCAD tools available in Codex CLI as well. After configuring, fully quit ChatGPT and reopen it. With AutoCAD open and a drawing loaded, a quick test is to ask ChatGPT to "ping AutoCAD".

Use Work, not Chat. ChatGPT Desktop loads MCP servers from this config file in its Work area only - regular Chat conversations cannot see the AutoCAD tools. If ChatGPT replies that the AutoCAD MCP is not connected, check you are in Work first, then start a fresh conversation - the MCP connection is per-conversation and drops after sitting idle.

Cursor

The config file is located at:

Path
%USERPROFILE%\.cursor\mcp.json

GitHub Copilot

GitHub Copilot appears in the dialog when VS Code, Visual Studio, or the Copilot CLI is installed on your machine. The config files are located at:

VS Code
%APPDATA%\Code\User\mcp.json
Visual Studio 2022 17.14+ / 2026
%USERPROFILE%\.mcp.json
GitHub Copilot CLI
%USERPROFILE%\.copilot\mcp-config.json

Grok Build

Toggle Enable MCP and the connector writes its entry into xAI's Grok Build CLI configuration automatically. The config file is located at:

Path
%USERPROFILE%\.grok\config.toml

Grok Build also reads Claude Code's and Cursor's MCP config, so if you have already configured either of those the connector shows up in Grok Build with no extra step.

Claude Code & other MCP clients

MCP Connector for AutoCAD exposes a standard MCP stdio server, so it also works with Claude Code, VS Code, and any other MCP-compatible client. The server is a single executable installed with the plug-in bundle:

Path
C:\Program Files\Autodesk\ApplicationPlugins\AUTOM8LABS.MCPConnectorAutoCAD.bundle\Contents\Bridge\MCPConnectorAutoCAD.Bridge.exe

Register it in Claude Code from a terminal:

Command Prompt
claude mcp add AUTOM8LABS_AutoCAD -- "C:\Program Files\Autodesk\ApplicationPlugins\AUTOM8LABS.MCPConnectorAutoCAD.bundle\Contents\Bridge\MCPConnectorAutoCAD.Bridge.exe"

Manual configuration (any MCP client)

Add this to your client's MCP server configuration:

JSON
{
  "mcpServers": {
    "AUTOM8LABS_AutoCAD": {
      "command": "C:\\Program Files\\Autodesk\\ApplicationPlugins\\AUTOM8LABS.MCPConnectorAutoCAD.bundle\\Contents\\Bridge\\MCPConnectorAutoCAD.Bridge.exe"
    }
  }
}

VS Code

VS Code uses a slightly different shape. Add the server to your MCP configuration (for example .vscode/mcp.json in a workspace):

JSON
{
  "servers": {
    "AUTOM8LABS_AutoCAD": {
      "type": "stdio",
      "command": "C:\\Program Files\\Autodesk\\ApplicationPlugins\\AUTOM8LABS.MCPConnectorAutoCAD.bundle\\Contents\\Bridge\\MCPConnectorAutoCAD.Bridge.exe"
    }
  }
}
Restart Required

After changing MCP configuration, restart the AI client completely for the changes to take effect.

Optional: raw command execution

Two tools can drive AutoCAD directly: execute_command runs a raw AutoCAD command string as if typed at the command line, and execute_lisp evaluates an AutoLISP expression. Because they can drive anything, both are disabled by default: they are neither listed nor callable until you opt in on that machine by setting MCP_CONNECTOR_ENABLE_COMMAND_EXEC=1 in the MCP client configuration. Even when enabled, code-loading and shell verbs (NETLOAD, APPLOAD, SCRIPT, SHELL, AutoLISP load) are blocked. Both tools are Pro, so a licence is needed as well as the opt-in.

After saving the configuration, fully quit and reopen your AI client - quit it from the system tray rather than just closing the window, or it keeps the old environment and the two tools still will not appear. To turn them off again, remove the setting and restart the client the same way.

JSON
{
  "mcpServers": {
    "AUTOM8LABS_AutoCAD": {
      "command": "C:\\Program Files\\Autodesk\\ApplicationPlugins\\AUTOM8LABS.MCPConnectorAutoCAD.bundle\\Contents\\Bridge\\MCPConnectorAutoCAD.Bridge.exe",
      "env": {
        "MCP_CONNECTOR_ENABLE_COMMAND_EXEC": "1"
      }
    }
  }
}

Optional: read-only session

A read-only session withholds every tool that can change a drawing, leaving the free read-only set: query, inspect, measure and navigate. A withheld tool is not listed to the AI client at all, and is refused by name if it is called anyway, so the AI cannot reach a write.

It is worth using whenever the drawings belong to a client rather than to you. DWG is usually the format that arrives from someone else. An in-session change can still be undone in AutoCAD, but the folder tools save each drawing as they go, so those edits are on disk already - and an unwanted change does not always announce itself on screen.

Turn it on with the Read-Only Session checkbox in the connection dialog, or by running MCPCONNECTOR_READONLY at the AutoCAD command line. Either way, reconnect your AI client afterwards so it refreshes its tool list.

Locking it on for a team. An administrator can enforce read-only across a machine, so it applies to every user and cannot be switched off locally. That is a deployment setting rather than something to set up per seat - get in touch and we will send you the policy and how to apply it.

Claude Desktop Settings

MCP Connector for AutoCAD exposes 189 tools, plus two optional command-execution tools that stay disabled until you opt in. In Claude Desktop, enable Load tools when needed so tools are loaded on demand rather than all at once.

The 'Load tools when needed' setting enabled in Claude Desktop

Use Chat, not Cowork

Claude Desktop has a mode selector at the bottom of the message box: Chat and Cowork. MCP connectors run in Chat conversations. In Cowork, your AutoCAD requests will not reach the connector and Claude behaves as if AutoCAD is not connected - even though the connector is configured correctly. Before you start, check the selector is set to Chat.

Note this is the opposite way round to ChatGPT Desktop, where the AutoCAD tools are available in Work rather than regular Chat.

The Chat mode selected in the Claude Desktop message box, with the Cowork option beside it

Operator Skill

MCP Connector for AutoCAD ships with a free operator skill - a plain text playbook Claude reads before touching your drawing. It teaches Claude to use the connector efficiently: read in bulk instead of one entity at a time, verify answers with counts, batch edits in one call, and say so instead of guessing when something cannot be done. The result is fewer calls, fewer dead chats, and far less of your usage allowance burned on a single question.

Install in Claude Desktop:

  1. Download the skill: autocad-connector.zip
  2. In Claude Desktop, go to Settings > Skills > Add > Upload a skill and select the zip.
  3. That is it - Claude picks the skill up automatically in new chats. If you ever find it has not, mention it in your prompt, for example "Follow the autocad-connector skill".

Using Claude Code or Cursor instead? Install steps for both are in the mcp-connector-skills repository, which also hosts free skills for the rest of the MCP Connector family.

Uploading an operator skill zip in Claude Desktop via Settings, Skills, Add, Upload a skill

Quickstart

1
Open AutoCAD and a drawing
The plug-in auto-loads on startup. MCPCONNECTOR_STATUS confirms it is running.
2
Check the connection
In your AI client, ask it to run the ping tool. You should get back "Connected to AutoCAD."
3
Ask your AI about the drawing
Try: "List the layers in this drawing and tell me which ones have nothing on them." The AI reads the layer table and entity counts and reports back. On Pro, follow up with "Freeze the empty ones."

Tool Reference

MCP Connector for AutoCAD adds its full tool set, grouped by category below, including a read-only free tier that works without a licence. Every tool name shown is the exact identifier exposed to your AI client. The Edition column shows whether a tool is available in the free edition or needs a Pro licence. A tool marked Opt-in does not register at all until you enable it - see raw command execution. Under each description is an example prompt showing how to ask for it in natural language - click any prompt to copy it, paste it into your AI client, and adjust the names and numbers to suit your drawing.

Connectivity

ToolExample promptEdition
Check that the AI client can reach a running AutoCAD session
ping
Ping AutoCAD and tell me if you are connected
Free

Drawing and Document

ToolExample promptEdition
Audit the drawing database and optionally fix errors
audit_drawing
Audit this drawing and fix any database errors you find
Pro
Copy entities and paste them at their original coordinates, within or between drawings
copy_to_original_coordinates
Copy the selected setting-out lines into Site-Plan.dwg at their original coordinates
Pro
Mark a point to roll back to, optionally saving a copy of the drawing first
create_checkpoint
Set a checkpoint and save a backup copy before you start the layer clean-up
Pro
Detect likely drawing units by inspecting extents, entity sizes, and system variables
detect_units
This survey DWG has no units set - work out what the units really are from the extents and entity sizes
Free
Read drawing information: file path, units, extents, layer and entity counts
get_drawing_info
What are the units, extents, and layer and entity counts for this drawing?
Free
Read the value of an AutoCAD system variable
get_system_variable
What is DIMSCALE set to in this drawing?
Free
Create a new blank drawing, optionally from a template
new_drawing
Start a new drawing from our A1 template at C:\Standards\A1-Sheet.dwt
Pro
Open a DWG, DXF or DWT file, or switch to it if already open
open_drawing
Open C:\Project\DWG\Site-Plan.dwg
Pro
Purge unused named objects to reduce file size
purge_drawing
Purge every unused block, layer, and style from this drawing
Pro
Redo changes that were just undone (call it straight after undo)
redo
Actually that was right, redo it
Pro
Revert every change made since the last checkpoint, in one step
rollback_checkpoint
That has gone wrong, roll everything back to the checkpoint
Pro
Save the drawing, optionally to a new DWG or DXF path
save_drawing
Save this drawing as a 2018 format DWG to C:\Project\Issue\Plan-A.dwg
Pro
Set an AutoCAD system variable to a new value
set_system_variable
Set LTSCALE to 0.5 and turn FILEDIA back on
Pro
Set linear and angular units, insertion scale, and display precision
set_units
Set this drawing to millimetres with 2 decimal places and degrees for angles
Pro
Undo the last changes, one tool call per step
undo
Undo the last three things you did
Pro

Entities and Selection

ToolExample promptEdition
Delete a named selection set; the entities themselves are untouched
delete_selection_set
Delete the saved selection set called Fire strategy
Pro
List entities, filtered by type, layer, or bounding box, with pagination
get_entities
List every polyline on the layer A-WALL with its layer and geometry
Free
Read full details of a specific entity by its handle
get_entity_by_handle
Give me the full details of entity 2A7F
Free
Count entities, optionally broken down by type or layer
get_entity_count
How many entities are in this drawing, broken down by layer?
Free
Read the full property set of one or more entities
get_entity_properties
Read the full properties of the selected entities including linetype and lineweight
Free
Read the entities currently selected in AutoCAD
get_selected_entities
What have I got selected right now?
Free
Extract portable geometry data (lines, polylines, arcs, circles, ellipses, splines) from the current selection
get_selected_geometry
Extract the geometry of my selection as coordinates so we can work with it
Pro
Count the entities in the current selection
get_selection_count
How many entities are in my current selection?
Free
List the named selection sets saved in the drawing, with how many of their entities still exist
list_selection_sets
What selection sets are saved in this drawing?
Free
Select the entities of a named selection set so the next tool acts on them
recall_selection_set
Select everything in the saved set called Fire strategy
Pro
Save the current selection, or a list of handles, as a named set stored in the drawing
save_selection_set
Save what I have selected as a set called Fire strategy
Pro

Geometry Creation

ToolExample promptEdition
Create an arc from centre, radius and angles, or from three points
create_arc
Draw an arc through the points 0,0 then 1000,500 then 2000,0
Pro
Trace the closed boundary around a point, with islands, and keep it as a polyline
create_boundary
Trace the outline of the room I am pointing at, at 4200,3100, and keep the boundary
Pro
Create a circle from centre point and radius
create_circle
Draw a 450 radius circle at 2500,3000 on layer S-COLS
Pro
Create an ellipse from centre, major axis endpoint, and axis ratio
create_ellipse
Draw an ellipse at 5000,5000 with a 2000 major axis and a 0.5 axis ratio
Pro
Create a hatch fill inside a closed boundary, including solid and gradient fills
create_hatch
Hatch inside the selected boundary with ANSI31 at scale 25
Pro
List the hatch pattern names create_hatch can use: patterns already carried by hatches in the drawing, plus the predefined names from the pattern file in force
list_hatch_patterns
Which hatch patterns can I use in this drawing?
Free
Create a line between two points
create_line
Draw a line from 0,0 to 5000,0 on the layer A-GRID
Pro
Create multiline text with formatting, width wrapping, and text styles
create_mtext
Add a note at 1000,500 reading All dimensions to be checked on site, wrapped to 3000 wide
Pro
Create a NURBS spline from full B-spline data (degree, control points, knots, weights)
create_nurbs_curve
Create a degree 3 NURBS curve from these control points and knots
Pro
Create a 2D or 3D polyline, with arc segments, widths, and closure
create_polyline
Draw a closed polyline through 0,0 then 6000,0 then 6000,4000 then 0,4000 on layer A-WALL
Pro
Create a rectangle as a closed polyline from two opposite corners
create_rectangle
Draw a rectangle from 0,0 to 10000,6000 on layer A-ROOM
Pro
Create a spline through fit points or from control points
create_spline
Draw a spline through 0,0 then 1000,800 then 2500,400 then 4000,1200
Pro
Create single-line text
create_text
Put the text GA PLAN at 500,200 at 350 high
Pro

3D Solids

ToolExample promptEdition
Keep the common volume of two solids
boolean_intersect
Keep only the volume where those two solids overlap
Pro
Subtract one solid from another
boolean_subtract
Subtract the door opening solid from the wall solid
Pro
Unite two 3D solids into one
boolean_union
Union the two selected solids into one
Pro
Create a solid box from a corner point and dimensions
create_3d_box
Create a solid box at 0,0,0 measuring 6000 by 4000 by 3000
Pro
Create a solid cone from base centre, base radius, and height
create_3d_cone
Create a cone at 0,0 with a 750 base radius and 2000 height
Pro
Create a solid cylinder from centre point, radius, and height
create_3d_cylinder
Create a 300 radius column 3600 tall at 2000,2000
Pro
Create a solid sphere from centre point and radius
create_3d_sphere
Create a 500 radius sphere at 1000,1000,2000
Pro
Create a solid torus from centre, major radius, and minor radius
create_3d_torus
Create a torus at 0,0,1000 with a 1500 major radius and a 100 tube radius
Pro
Create a solid wedge from a corner point and dimensions
create_3d_wedge
Create a wedge at 0,0,0 measuring 2000 by 1000 by 800
Pro
Extrude a closed 2D profile into a solid along a direction or path
create_extrusion
Extrude the selected closed polyline up 3000 to make a wall solid
Pro
Create a cross-section region where a plane intersects a solid
section_solid
Cut a horizontal section region through the solid at 1200 above its base
Pro
Slice a solid with a plane, optionally keeping both halves
slice_solid
Slice the solid vertically at X=3000 and keep both halves
Pro

Modification

ToolExample promptEdition
Align entities by mapping source points to destination points
align_entities
Align the selected detail so its two corner points land on the two points I have picked
Pro
Create a circular array around a centre point
array_polar
Array the selected bolt 8 times around 0,0
Pro
Create a rectangular array with rows, columns, and spacing
array_rectangular
Array the selected column 5 columns by 3 rows at 6000 spacing both ways
Pro
Break an entity at one point or between two points
break_entity
Break the selected line between 2000,0 and 3000,0
Pro
Create an angled corner between two entities with distances
chamfer_entities
Chamfer the corner between those two lines at 25 by 25
Pro
Change common entity properties: layer, colour, linetype, lineweight, transparency
change_entity_properties
Move the selection onto layer A-ANNO and set its colour back to ByLayer
Pro
Convert lines, arcs, or splines into a single polyline
convert_to_polyline
Convert the selected lines and arcs into a single polyline
Pro
Copy entities by a displacement vector
copy_entities
Copy the selected block 1200 along X, four times
Pro
Create a region from closed coplanar curves
create_region
Make a region from the selected closed boundary
Pro
Edit a polyline in place: vertices, bulge, global width, direction, or fillet every corner
edit_polyline
Set the red line boundary to 0.7 wide and round all its corners at 500 radius
Pro
Delete entities from the drawing permanently
erase_entities
Delete the selected entities
Pro
Explode a compound entity (block reference, polyline, dimension, hatch) into its parts
explode_entity
Explode the selected block into its parts
Pro
Extend an entity to meet a boundary edge
extend_entity
Extend that line so it meets the wall line
Pro
Create a rounded corner between two entities with a radius
fillet_entities
Fillet those two lines with a 50 radius
Pro
Join contiguous lines, arcs, or polylines into a single polyline
join_entities
Join the selected lines and arcs into one polyline
Pro
Lengthen or shorten a curve by a delta distance
lengthen_entity
Lengthen the selected line by another 500
Pro
Copy properties from one entity onto others, with per-property control
match_properties
Make the new dimensions match the formatting of the one on grid A
Pro
Mirror entities across a line defined by two points
mirror_entities
Mirror the selected entities about a vertical line at X=5000 and keep the originals
Pro
Move entities by a displacement vector
move_entities
Move the selected entities 2500 in X and nothing in Y
Pro
Create an offset copy of a curve at a specified distance
offset_entity
Offset the selected polyline 100 towards the inside
Pro
Rotate entities around a base point by an angle
rotate_entities
Rotate the selection 90 degrees around 0,0
Pro
Scale entities relative to a base point by a uniform factor
scale_entities
Scale the selection up by 1.5 about the point 0,0
Pro
Bring entities to front or send them to back, or place them above or below another entity
set_draw_order
Send that hatch behind the walls so the linework reads again
Pro
Stretch what a crossing window touches, moving only the vertices inside it
stretch_entities
Widen the kitchen opening by 300 by stretching everything in that window
Pro
Trim an entity at boundary edges defined by other entities
trim_entity
Trim that line back to the two boundary lines I have selected
Pro

Layers

ToolExample promptEdition
Create a new layer with specified properties
create_layer
Create a layer called A-GLAZ in colour 4 with the DASHED linetype
Pro
Delete a saved layer state
delete_layer_state
Delete the old DEMOLITION layer state
Pro
Freeze one or more layers
freeze_layer
Freeze the layers XREF-SITE and XREF-SERV
Pro
List saved layer states with their descriptions and layers
list_layer_states
What layer states are saved in this drawing?
Free
List all layers with colour, linetype, lineweight, state, and description
list_layers
List every layer with its colour, linetype, and whether it is frozen or locked
Free
Lock one or more layers against editing
lock_layer
Lock the survey layers so nobody edits them by accident
Pro
Restore a saved layer state, globally or into one viewport
restore_layer_state
Apply the PROPOSED layer state to the viewport on sheet 03
Pro
Save the current layer settings as a named layer state
save_layer_state
Save these layer settings as EXISTING
Pro
Set the current layer for new entities
set_current_layer
Make A-WALL the current layer
Pro
Modify or rename an existing layer, including on or off, frozen and locked (a viewport on an off layer keeps its view and loses its frame)
set_layer_properties
Change layer A-ANNO to colour 7 and turn its plot flag off
Pro
Thaw one or more layers
thaw_layer
Thaw all the frozen layers
Pro
Unlock one or more layers
unlock_layer
Unlock layer S-GRID
Pro

Blocks

ToolExample promptEdition
Count insertions of a block, optionally grouped by layer
count_block_references
How many door blocks are in this drawing, grouped by layer?
Free
Create a new block definition from existing entities
create_block_definition
Turn the selected entities into a block called DETAIL-01 with its base point at 0,0
Pro
Read attribute definitions and values from a block reference
get_block_attributes
Read the attributes off the selected title block
Free
Read a dynamic block's visibility states, flips, lookups and sizes, with the values each allows
get_dynamic_block_properties
What sizes and swing options does that door block offer?
Free
Import block definitions from another DWG, with the unit scale handled, and place them in the same call
import_blocks
Bring the door and window blocks in from the office library DWG and place a 900 door at 4500,2000
Pro
Insert a block reference with scale, rotation, and attribute values
insert_block
Insert the DOOR-900 block at 4500,2000 rotated 90 degrees
Pro
List block definitions with entity counts, attributes, and xref status
list_blocks
List every block in this drawing with how many entities it has and whether it carries attributes
Free
Rename a block definition, with every reference following it
rename_block
Rename the block DOOR-01 to DOOR-EXTERNAL
Pro
Swap block references from one definition to another, keeping position, rotation and attributes
replace_block
Replace every WINDOW-OLD block with WINDOW-2G and keep the attributes
Pro
Set an attribute value on a block reference by tag name
set_block_attribute
Set the DRAWN_BY attribute on the selected title block to JG
Pro
Set a dynamic block's visibility state, size, flip or lookup value
set_dynamic_block_properties
Change that door to 900 wide with the swing flipped
Pro

Annotation

ToolExample promptEdition
Create an aligned dimension measuring true distance at any angle
create_dimension_aligned
Add an aligned dimension along the sloping wall between those two ends
Pro
Create an angular dimension between two lines or from three points
create_dimension_angular
Dimension the angle between the two selected lines
Pro
Create a horizontal or vertical dimension between two points, or a whole chain along a wall with the overall in one call
create_dimension_linear
Dimension horizontally between 0,0 and 6000,0 with the dimension line at 0,-800
Pro
Create a radius or diameter dimension on a circle or arc
create_dimension_radius
Add a radius dimension to the selected arc
Pro
Create a multileader with an arrow and text annotation
create_leader
Add a leader pointing at 3200,1800 with the text 150mm blockwork
Pro
Draw a revision cloud around a rectangle, a polygon, or an existing closed entity
create_revcloud
Cloud the area around the revised bathroom layout
Pro
Create a table in a table style with rows, columns and cell data, per-table text heights and margins, and a read-back of the laid-out format
create_table
Create a 6 row by 4 column door schedule at 12000,0 with the headers Mark, Width, Height, Type
Pro
Create a wipeout mask so annotation stays legible over hatching
create_wipeout
Put a wipeout behind that note so it reads over the hatch
Pro
List the annotation scales defined in the drawing and which one is current
list_annotation_scales
What annotation scales does this drawing have?
Free
Make text, dimensions and multileaders annotative and give them the scale representations they appear at
set_annotative
Make the room notes annotative at 1:50 and 1:100
Pro

Views and Navigation

ToolExample promptEdition
Capture the current viewport to an image file
capture_screenshot
Capture the current view to C:\Temp\check.png and tell me what you can see
Pro
Delete a named view
delete_view
Delete the saved view called OLD-SITE
Pro
List named views with direction, target, and visual style
list_views
List the named views saved in this drawing
Free
Restore a named view
restore_view
Go back to the SITE-ENTRANCE view
Pro
Save the current view under a name so it can be restored later
save_view
Save this view as SITE-ENTRANCE
Pro
Set the visual style of the current viewport
set_visual_style
Switch the viewport to a shaded visual style
Pro
Zoom the viewport to show everything in the drawing
zoom_extents
Zoom out so I can see the whole drawing
Free
Zoom to specific entities with optional padding
zoom_object
Zoom to the selected entities with a bit of padding around them
Free
Zoom to a rectangular window defined by two corners
zoom_window
Zoom into the area between 0,0 and 10000,8000
Free

Layouts and Plotting

ToolExample promptEdition
Create several sheets from a template layout with viewport scales, view centres, layer states and title texts set, validated first, one undo step
create_sheets_from_layout
Make sheets 01 to 04 from the A3 template, each viewport at 1:100 on its own block, with the titles filled in
Pro
Create a viewport in the current paper space layout
create_viewport
Add a viewport on this layout at 150,100 measuring 250 by 180 at 1:100
Pro
Delete a paper space layout and everything on it
delete_layout
Delete the spare sheet called Layout2
Pro
Copy a layout including its title block, viewports and page setup
duplicate_layout
Copy the A3 template sheet four times for drawings 01 to 04
Pro
Read a layout's plot device, paper size, scale, rotation and plot style table, and where the sheet edge and printable area sit in paper coordinates
get_page_setup
What paper size and plot style is sheet 02 set up for?
Free
List layouts with page setup, paper size, and viewport count
list_layouts
List the layouts in this drawing with their paper sizes and viewport counts
Free
ISO, JIS, ANSI and ARCH sheet sizes with the plotter's media names, and the metric and imperial scale tables
list_paper_sizes
Which media name is ARCH D landscape on this plotter, and what is 1/4 inch to the foot as a ratio?
Free
List the viewports on a layout with scale, position, lock state and frozen layers
list_viewports
List the viewports on sheet 03 with their scales
Free
Plot a layout to a PDF file
plot_to_pdf
Plot the A101 layout to C:\Project\Issue\A101.pdf
Pro
Rename a paper space layout tab
rename_layout
Rename Layout1 to 01 - SITE LOCATION PLAN
Pro
Switch to a layout tab or back to model space
set_current_layout
Switch to the layout called A101
Pro
Set a layout's plot device, paper size and orientation, plot style table with its display and plot flags, scale, rotation and centring; reads back where the paper sits
set_page_setup
Set every sheet to DWG To PDF at A3 with monochrome.ctb
Pro
Set a viewport's scale, the model point it shows, its size on the sheet, twist and lock
set_viewport
Set that viewport to 1:100 centred on the barn, then lock it
Pro
Freeze or thaw layers in one viewport only, leaving other sheets untouched
set_viewport_layers
Freeze the DEMOLITION layer in the proposed sheet viewport only
Pro

Styles

ToolExample promptEdition
Create a new dimension style, refusing a name that already exists
create_dimension_style
Create a dimension style called A3-1-50 with 2.5 mm text, 2 mm arrows and annotative scaling
Pro
Create a new table style: text height, text style and alignment per row type, cell margins and flow direction
create_table_style
Create a compact schedule style with 2 mm text and 0.5 mm margins
Pro
Create a new text style, refusing a name that already exists
create_text_style
Create an annotative text style called Notes using Arial
Pro
List dimension styles with their key settings
list_dimension_styles
List the dimension styles with their text heights and arrow sizes
Free
List loaded linetypes with descriptions and scale factors
list_linetypes
What linetypes are loaded in this drawing?
Free
List table styles with their title, header and data row formatting and margins
list_table_styles
What table styles are in this drawing and what text heights do they use?
Free
List text styles with font, height, and width factor
list_text_styles
List the text styles with their fonts and heights
Free
Load a linetype from a .lin file into the drawing
load_linetype
Load the CENTER and DASHDOT linetypes from acadiso.lin
Pro
Create or modify a dimension style: text height, arrows, decimals, overall scale and more
set_dimension_style
Create a dimension style for 1:100 with 250 text and no decimals
Pro
Change an existing table style; tables using it follow
set_table_style
Make the data rows in the Schedule style 1.8 mm text
Pro
Create or modify a text style: font, height, width factor, oblique angle, bold and italic
set_text_style
Create a text style called NOTES using Arial at 250 high
Pro

External References

ToolExample promptEdition
Attach a raster image such as an OS extract, aerial or scanned survey, sized in drawing units
attach_image
Attach the OS extract at 0,0 and scale it so the site frontage measures 42 m
Pro
Attach a page of a PDF as an underlay to trace or check against
attach_pdf_underlay
Bring in page 2 of the topo survey PDF as an underlay
Pro
Attach an external DWG as a reference (attach or overlay)
attach_xref
Attach C:\Project\DWG\Site.dwg as an overlay at 0,0
Pro
Scale an attached image, and any traced linework, so two picked points are a known distance apart
calibrate_image
Scale the scanned plan so the grid bay I picked measures 6000
Pro
Clip an xref, image or PDF underlay to a rectangle or polygon
clip_underlay
Clip the aerial photo to just the red line boundary
Pro
Detach an external reference completely
detach_xref
Detach the SERVICES xref completely
Pro
Read the clip boundary of an xref, image or PDF underlay in drawing coordinates
get_clip_boundary
Is the aerial photo clipped, and where does its boundary run?
Free
List external references with paths, status, type, and insertion details
list_xrefs
List the xrefs in this drawing and flag any that are not found
Free
Reload external references to pick up source file changes
reload_xref
Reload all the xrefs so I pick up the latest changes
Pro
Adjust fade, contrast, brightness, monochrome and visibility of an image or underlay
set_image_display
Fade the survey underlay to 50 percent so my linework reads over it
Pro
Trace an attached scan, sketch or photograph into polylines, arcs or splines placed over the image
trace_image
Trace the scanned ground floor plan into linework, then trace the facade in the site photo for context
Pro

UCS

ToolExample promptEdition
Read the current UCS origin and axis vectors
get_ucs
What is the current UCS origin and orientation?
Free
List all named UCS entries in the drawing
list_ucs
List the named UCS entries in this drawing
Free
Set the UCS from an origin and optional axis directions
set_ucs
Set the UCS origin to 5000,3000 and rotate it 30 degrees
Pro
ToolExample promptEdition
Count occurrences of one or more text patterns
count_text_patterns
Count how many times FFL and SSL appear in this drawing
Pro
Search text and attribute values across the drawing
find_text
Find every occurrence of PROVISIONAL in the drawing text and block attributes
Pro
Temporarily highlight entities by colour, with restore
highlight_entities
Highlight those entities in red so I can see where they are
Pro
Isolate entities by turning off all other layers
isolate_entities
Isolate the selected entities so everything else is hidden
Pro
Find and replace text in MText, single-line text, and attributes
replace_text
Replace Rev A with Rev B everywhere in this drawing
Pro
Select entities matching property filters
select_by_filter
Select every red polyline on the layer A-WALL
Pro
Restore layer states after an isolate operation
unisolate_layers
Put the layers back how they were before I isolated
Pro

Utility and Measurement

ToolExample promptEdition
Run a raw AutoCAD command string as if typed at the command line (does not register until you opt in). Code-loading and shell verbs are blocked.
execute_command
Run the REGENALL command
ProOpt-in
Evaluate an AutoLISP expression and return the result (disabled by default; see opt-in). Code-loading and shell forms are blocked.
execute_lisp
Evaluate the AutoLISP expression (getvar "DWGNAME") and tell me the result
ProOpt-in
Read the axis-aligned bounding box of one or more entities
get_bounding_box
What is the overall bounding box of the selected entities?
Free
Measure areas and place a label at each one, kept clear of door swings and fittings, with an optional schedule table and total
label_areas
Label each room with its floor area in square metres and add a schedule with the total
Pro
Measure area and perimeter of a closed entity or point polygon
measure_area
What is the area and perimeter of the selected closed polyline?
Free
Measure several closed areas at once, by handle or by a point inside each, converted to square metres or square feet
measure_areas
Give me the floor area of each of these three units in square metres, and the total
Free
Measure the distance and angle between two points
measure_distance
What is the distance and angle between 0,0 and 4500,3200?
Free
Run a list of tool calls in one round trip as one undo step, each result returned in order
run_batch
Draw all twelve wall segments and hatch them in one go
Pro

Management Pack

Folder-batch tools for whole-project maintenance. Each one runs over every drawing in a folder using a side database, so your open drawing is never disturbed. Write operations are safe by default: a dry-run mode previews what would change without modifying any file.

ToolExample promptEdition
Write a revision letter, date and description into title blocks across chosen layouts or a whole folder
add_revision_to_layouts
Stamp revision P02 dated 28.08.26 "Planning issue" on every sheet in C:\Project\DWG - dry run first
Pro
Run a maintenance operation (purge, audit, downsave and more) over every drawing in a folder
batch_process_folder
Purge and audit every drawing in C:\Project\DWG - dry run first
Pro
Bind external references into every drawing, saving bound copies to an output folder
bind_xrefs
Bind the xrefs in every drawing in C:\Project\DWG and save the bound copies to C:\Project\Issue - dry run first
Pro
Extract block attribute values across a folder to Excel or CSV for schedules and bills of materials
block_attribute_extract
Extract every door block attribute across C:\Project\DWG to C:\Project\door-schedule.xlsx, grouped and counted
Pro
Write a per-drawing health report (size, version, counts, broken references) to Excel or CSV
drawing_health_report
Write a health report for every drawing in C:\Project\DWG to C:\Project\health.xlsx
Pro
Plot every layout of every drawing in a folder to PDF
dwg_folder_to_pdf
Plot every layout in C:\Project\DWG to PDF, one file per drawing, into C:\Project\Issue - dry run first
Pro
Build a drawing register from title-block attributes, one row per drawing and layout, to Excel or CSV
export_drawing_register
Build a drawing register from C:\Project\DWG to C:\Project\register.xlsx
Pro
Report proxy objects by class and application across a folder
find_proxy_objects
Report any proxy objects across C:\Project\DWG and write it to C:\Project\proxies.xlsx
Pro
Write a layer inventory across a folder to Excel or CSV for standards auditing
layer_report_to_excel
Write a layer inventory for every drawing in C:\Project\DWG to C:\Project\layer-audit.xlsx
Pro
Merge source layers into a target layer across a folder, then erase the emptied layers
merge_layers
Merge the layers OLD-WALL and WALL-2 into A-WALL across C:\Project\DWG - dry run first
Pro
Erase zero-length and degenerate entities across a folder, with per-file counts
purge_zero_length
Erase the zero length lines and whitespace-only text across C:\Project\DWG - dry run first
Pro
Attach a standard set of external references to every drawing in a folder
reattach_xref_set
Attach the project grid and site base xrefs to every drawing in C:\Project\DWG at 0,0 on layer X-REF - dry run first
Pro
Apply an old-to-new layer mapping from Excel or CSV to every drawing in a folder
remap_layers_from_excel
Apply the layer mapping in C:\Standards\layer-map.xlsx to every drawing in C:\Project\DWG - dry run first
Pro
Fix external reference paths across a folder after a project move
repath_xrefs
The project moved from P:\Old to P:\New - repath the xrefs across C:\Project\DWG by replacing the root, dry run first
Pro
Remove excess annotation scales from every drawing in a folder
scale_list_cleanup
Strip every annotation scale except 1:50 and 1:100 from the drawings in C:\Project\DWG - dry run first
Pro
Update title block attribute values across a folder, from an inline map or an Excel/CSV sheet
title_block_update
Update the title block attributes across C:\Project\DWG from the sheet at C:\Project\Register.xlsx - dry run first
Pro
Update an existing drawing register in place, keeping its formatting, adding an issue column for the revision
update_drawing_register
Add a 28.08.26 issue column to C:\Project\register.xlsx from the drawings in C:\Project\DWG - dry run first
Pro
Audit broken, unloaded, nested, and circular external references project-wide
xref_report
Audit the xrefs across C:\Project\DWG and tell me what is broken, unloaded, or circular
Pro

Troubleshooting

The AI says it is not connected to AutoCAD

  • AutoCAD must be running with a drawing open. The connector talks to a live session; it cannot open AutoCAD for you.
  • In AutoCAD, run MCPCONNECTOR_STATUS to check the plug-in state. If it reports not running, run MCPCONNECTOR_START.
  • Ask your AI to run the ping tool. It reports whether the link is up and, if not, why.

The plug-in did not load

  • The plug-in auto-loads when AutoCAD starts. If the AUTOM8LABS ribbon is missing, restart AutoCAD, then run MCPCONNECTOR_START at the command line.
  • Confirm the bundle exists at C:\Program Files\Autodesk\ApplicationPlugins\AUTOM8LABS.MCPConnectorAutoCAD.bundle. If it is missing, re-run the installer.
  • Check that your AutoCAD release is between 2022 and 2027.

Pro tools are missing after activating

  • The MCP server reads the edition once, when the AI client starts it. Restart the AI client after activating and the full tool list appears.
  • Confirm the licence state in AutoCAD via Manage Licence on the AUTOM8LABS ribbon.

The AI client does not list the server

  • Restart the client completely after installing; a window reload is not always enough.
  • For clients other than Claude Desktop, ChatGPT Desktop, and Cursor, add the manual configuration yourself.

execute_command or execute_lisp is not available

  • Both tools are off by default and do not register at all until you opt in. Set MCP_CONNECTOR_ENABLE_COMMAND_EXEC=1 in the MCP client configuration, then fully quit and reopen the client from the system tray. See Raw command execution.
  • They are Pro tools, so they also need an active licence. If the opt-in is set and they still do not appear, check the licence first.

FAQ

No. AutoCAD LT does not support add-ins, and the connector runs as a plug-in inside AutoCAD. Full AutoCAD 2022 to 2027 is required.
No. The free edition works without any key. It gives you the read-only inspection tools: query the drawing, list its tables, read properties, measure, and zoom.
Buy a Pro subscription on the product page (£10 per seat per month or £100 per seat per year). Your key arrives by email. Activate it in AutoCAD via Manage Licence on the AUTOM8LABS ribbon or the MCPCONNECTOR_LICENCE command, then restart your AI client.
The connector itself runs entirely on your machine: the MCP server and the AutoCAD plug-in talk over a local connection. Tool results are returned to your AI client, which handles them under its own provider's terms, so only the data a tool returns ever leaves the connector.

Changelog

v2.1.9 Latest September 2026

Annotative dimensions at their paper size, honest xref status, a stated closure contract, published batchability (189 tools)

  • Annotative dimensions plot at their paper size. A dimension made through the connector in an annotative style never received its own annotative flag, so its text stayed at the style's paper height in model units - a hundred times too small on a 1:100 sheet - and making it annotative afterwards had AutoCAD preserve that look with shrunken size overrides. The flag is set at creation, the overrides are put back to the style (overridesReset), and viewports the connector creates or rescales carry the matching annotation scale. get_entity_properties reads a dimension's annotative state, scales, effective sizes and overrides; viewports report annotationScale.
  • list_xrefs status is AutoCAD's own. A loaded overlay stored with a relative path read not_found because the saved path was tested from the wrong folder. Status now comes from the xref status, the path is resolved against the host drawing's folder, and the reply separates savedPath, resolvedPath, pathType and fileExists, agreeing with the folder audit.
  • Closure check states what it proves. closureCheck carries closedWithin (the bound closure is proven to), measurementResolution (what a gap length is good to) and undetectedGapBound; a gap fails the tolerance when its length plus the resolution exceeds it, and a tolerance below the detection bound is honoured with a note rather than a claim of exact proof.
  • Batchability published. ping lists every tool run_batch refuses under batch.excluded with a reason; the refusal names it too.
v2.1.8 September 2026

Four fixes from the 2.1.7 acceptance pass: sheet viewports, exact closure, table flow, dynamic status (189 tools)

  • Sheet viewports target the drawing, not the paper. Every layout carries AutoCAD's own paper-space viewport, and the connector told it apart by a number AutoCAD only assigns on the current tab. With the template not current, create_sheets_from_layout set that viewport and reported success while the real one kept its view. The paper-space viewport is now identified from the layout's saved viewport record, so an index means the same viewport whether the layout is current or not, before or after it is opened, and on a copy never opened. list_viewports names it in paperSpaceViewports; the batch reply is the final state of every viewport, layer state included, and sheets land in the order requested.
  • Closure is proven, not sampled. The closure check tests the outline at every curve end and vertex as well as at intervals, then locates each gap's ends by bisection, so an opening between two curve ends is found whatever its size and its length is the length drawn. closureCheck.closure reads closed / open / indeterminate; closed is true only when proven, and indeterminate says why the check could not tell. With gapTolerance, an unproven stretch longer than the tolerance fails the figure.
  • Table flow direction. set_table_style and create_table_style accept flowDirection down and up (both were refused) and read it back the same way. Row-height wording corrected: a row is the font's line box plus two margins.
  • Dynamic status. insert_block and import_blocks placements report isDynamic from the committed reference, agreeing with get_dynamic_block_properties.
v2.1.7 September 2026

Field-test fixes, batching, raster tracing and sheets that know where the paper is - nine new tools (189 tools)

  • One round trip. New run_batch runs a list of tool calls in one trip as one undo step, every result back in order, with the calls that cannot sit in a batch refused by name. create_dimension_linear takes points for a whole chain along a wall with an overall. A plan that took a hundred calls takes twenty.
  • Trace a scan or a photograph. New trace_image reads an attached image back as pixels and traces it into polylines, arcs or splines placed over the picture: dark linework on a light ground, or the edges in a photograph, with a region, squaring for facades, gap joining and corner clean-up. New calibrate_image scales image and linework to a known dimension; paperScale sizes a scan from the DPI in the file.
  • Sheets that know where the paper is. get_page_setup and set_page_setup return the sheet edge and printable area in paper coordinates, so a border lands on the paper rather than the printable corner. set_page_setup takes orientation with the paper size and switches Display plot styles and Plot with plot styles. New free list_paper_sizes covers ISO, JIS, ANSI and ARCH with the plotter's media names and the scale tables; every scale reads imperial notation such as 1/4" = 1'-0". set_layer_properties turns a layer off, which hides a viewport frame and keeps the view.
  • Batch sheets. New create_sheets_from_layout copies a template per sheet and sets viewport scales, view centres, layer states and title texts, validated before anything is written.
  • Table styles. New list_table_styles, create_table_style and set_table_style; create_table honours its style, takes per-table text heights, margins and column widths, and reads back the laid-out format.
  • Import and place. New import_blocks brings block definitions in from a library DWG, unit scale handled, and places them in the same call.
  • Closure check. Every boundary trace samples its outline against the drawn geometry and reports any gap it bridged; gapTolerance makes a longer gap fail the call. label_areas keeps labels clear of door swings and labels at the room's centroid.
  • Fixes. create_block_definition applied the base point twice. create_text ignored justification, the text style and a fixed style height. Annotative dimensions created through the API carried no scale and drew nothing. create_table dropped its headers and style. add_revision_to_layouts adds a row to a revision table instead of writing over it; export_drawing_register is one row per sheet; new_drawing takes a template by name.
v2.1.6 August 2026

Saving the live selection, an honest tool count and a caveat on boundary tracing (180 tools)

  • Selection saved. save_selection_set without handles failed and cleared the selection, because entering a command context clears the pick-first set. It now runs in application context, saves what is selected and leaves it selected.
  • Tool count parity. ping counts the tools actually served to the client, reports command execution as available only when it is callable, and names withheld opt-in tools in gatedTools.
  • Boundary resolution caveat. Point-mode tracing reports the view width it resolved at and warns when that is far wider than the region found, so a bridged opening is flagged rather than silent.
v2.1.5 August 2026

Four fixes from the field (180 tools)

  • Saved paper size on plot. plot_to_pdf and dwg_folder_to_pdf plotted an A3 sheet on the device's default paper on a cold session and cropped it; the layout's saved size is now read before the device is touched, with a warning whenever a different size is used.
  • No dialog hang. A failed boundary trace no longer leaves AutoCAD waiting for someone to click a dialog at the machine.
  • Viewport size and scale. set_viewport no longer lets a size change overwrite the scale asked for in the same call.
  • detect_units reports its candidate score breakdown again.
v2.1.4 August 2026

Area takeoff to the internal face, annotative annotation, the drawing register and the revision workflow - twelve new tools (180 tools)

  • Inward offset for GIA. offset_entity takes direction "inward" or "outward" on a closed loop, resolved by measuring the enclosed area, so it is right whichever way the loop was drawn; the response reports areaBefore and areaAfter, and an offset that would collapse the loop is refused with the reason. create_boundary takes an inset, turning a boundary traced along wall centrelines into the internal face in one call. throughX/throughY, count and eraseOriginal on offset_entity are implemented.
  • Annotative annotation. New set_annotative sets the flag and the scale representations together, because annotation only appears at scales it carries; scales the drawing lacks are added. New free list_annotation_scales.
  • Style creation. New create_text_style and create_dimension_style refuse a name that already exists. Dimension styles gain colours, lineweights, fit behaviour, units format, zero suppression, fixed extension length and the annotative flag; text styles gain annotative, vertical, mirrored and big-font.
  • Drawing register. New export_drawing_register builds a register from title-block attributes, one row per drawing and layout, matching register fields to attribute tags on its own. New update_drawing_register patches an existing register in place, keeping the workbook's formatting, and adds an issue column for the revision.
  • Revision workflow. New add_revision_to_layouts writes revision, date and description into title blocks across chosen layouts or a whole folder, dry run first, and reports plainly which fields it could not write when a title block has no tag for them.
  • Named selection sets. New save_selection_set, recall_selection_set, list_selection_sets and delete_selection_set, stored in the drawing so they survive save and reopen without changing how picking behaves. Erased members are reported, not dropped.
  • Bulk geometry read. get_entities takes format: "compact" - columns and rows with geometry as flat number arrays and a legend - and entities outside the requested page are no longer opened just to be counted. A 13,000-entity model with geometry now comes back in one call.
  • Selection reads fixed and widened. get_selected_geometry returned nothing for any selection because it ran inside a command context, which clears the pick-first set; it now covers blocks with their attributes, hatches with their loops, MText, text, dimensions and wipeouts.
  • Clips report honestly. New free get_clip_boundary reads a clip back in drawing coordinates. clip_underlay takes a boundaryHandle to clip to an existing polyline, and no longer claims to have inverted an image clip, which the API cannot do.
  • ping reports the edition, the tools served and a capability matrix naming the tool that proves each feature, so a tool missing for want of a licence is no longer indistinguishable from one this build never had.
v2.1.3 August 2026

Plotting honours the page setup, and sheet sets from one drawing (168 tools)

  • Plots match the layout. plot_to_pdf now plots at the layout's saved page setup - plot area Layout, saved scale, saved paper size - instead of forcing extents and fit-to-paper, which shifted a finished sheet and let one entity parked off the paper shrink the whole plot. paperSize, scale, plotArea, styleSheet and centered are implemented and echoed back; plotArea: "extents" is computed from the entities at plot time rather than a cached value.
  • Sheet sets. layoutNames or plotAllLayouts plot several layouts of one drawing into a single multi-page PDF. Layouts on different paper sizes cannot share one PDF document, so they are written as one PDF per layout with a note. The tab you were on is restored.
  • Copies land where they came from. copy_to_original_coordinates pastes into the space the source entity occupies rather than whichever tab happened to be current, with a targetSpace override. An in-drawing copy now works at all.
  • Transparency round-trips. set_layer_properties and change_entity_properties write transparency and the layer plot flag as their schemas always said; list_layers and get_entity_properties read them back. change_entity_properties also takes linetype scale and plot style name.
  • detect_units scores from the sampled entity sizes when the drawing extents are implausible, instead of reporting no measurable extents beside a sampler that clearly measured. count_block_references suggests near misses one edit away. get_entity_properties returns viewport geometry.
v2.1.2 August 2026

Tools report truthfully - eleven field-report items closed, one new read tool (168 tools)

  • Areas disclose islands. measure_areas and label_areas in point mode report outerArea, netArea, islandCount and each island beside the net figure; outerLoopOnly measures to the outer boundary.
  • Hatch patterns already in the drawing. create_hatch copies a pattern from a resident hatch when no .pat file provides it; an unknown name says which source failed. New free list_hatch_patterns.
  • Atomic dynamic-block writes. set_dynamic_block_properties validates the whole batch before writing anything and always returns applied and rejected; properties carry an index and can be addressed as "#3" when names repeat.
  • Batch reads survive erased handles. get_entity_properties lists an erased entity in errors and returns the rest; nothing readable is success: true, count: 0.
  • Zoom reads the view back. zoom_extents, zoom_window and zoom_object return the centre, height, width and extents actually shown and fail if the view did not take; a view-target bug that sent surveys hundreds of kilometres off screen is fixed.
  • Display and screenshots. set_draw_order regenerates afterwards; capture_screenshot regenerates first and reports the written file's dimensions.
  • Honest redo, units and counts. redo refuses after an intervening call; detect_units separates the current setting from the guess with a confidence band; count_block_references groups by layer and refuses unknown block names.
  • Boundary detection makes the target space current, retries with the space in view and then in shrinking windows around the point, and restores the previous tab and view; the error names the precondition.
  • dwg_folder_to_pdf writes a drawing whose layouts use different paper sizes as one PDF per layout, with a note, instead of failing on the second sheet.
v2.1.0 August 2026

38 new tools - undo and checkpoints, sheets and viewports, layer states, hatch by pick point, area takeoff, stretch, draw order, clouds and wipeouts, dynamic blocks, underlays, polyline editing, styles - plus paper space for reads and creation, one error envelope, and eleven fixes

  • Undo and checkpoints. create_checkpoint marks a point (optionally saving a copy of the drawing to disk), rollback_checkpoint reverts everything since it in one step and is refused when no mark exists so it can never undo the whole drawing by accident, and undo / redo step through changes one tool call at a time (redo must be the very next call after undo; even a read in between clears AutoCAD's redo stack). Every editing tool call now runs as its own AutoCAD command, so each one is an undo step in the drawing's own history too. Read-only tools no longer take a document lock, so an MCP read no longer cancels a command you are in the middle of typing. Folder and batch tools work on files on disk and are outside this undo
  • Sheets. duplicate_layout, rename_layout, delete_layout, get_page_setup and set_page_setup (device, paper size matched against the device's list, style sheet, plot area, scale, rotation, centring); list_viewports, set_viewport (scale as 1:100, view centre, position, size, twist, lock, on/off) and set_viewport_layers for per-viewport freeze. create_viewport now honours locked, frozenLayers, twist and a 1:100 scale string
  • Layer states. save_layer_state, restore_layer_state (globally or into one viewport), delete_layer_state, list_layer_states
  • Drafting. create_boundary (BOUNDARY around a point, islands included), create_hatch by pick point (seedX / seedY), measure_areas and label_areas (areas converted to m² or ft², labels at each centroid, optional schedule table), stretch_entities, set_draw_order, create_revcloud, create_wipeout, edit_polyline (vertices, bulge, width, reverse, close, fillet every corner)
  • Blocks. get_dynamic_block_properties and set_dynamic_block_properties (visibility states, flips, lookups, distances), insert_block with dynamicProperties, replace_block (attributes carried by tag), rename_block
  • Underlays. attach_image, attach_pdf_underlay, clip_underlay (xref, image and PDF clips, rectangle or polygon) and set_image_display (fade, contrast, brightness, monochrome, show/hide)
  • Styles and text. set_text_style, set_dimension_style, create_mtext with a background mask, match_properties; save_view, restore_view, delete_view; text search and replace can include block attributes, dimension override text and table cells; get_entities accepts an array of entity types
  • Reads see paper space. get_entities, get_entity_count, find_text, replace_text and count_text_patterns take a space parameter: model (default, unchanged), current, all, or a layout name. Every entity and match carries a space field. Title blocks, revision text, sheet notes and viewports were invisible to these tools before; a layout read as empty
  • Creation tools target a layout. Twenty-five creation tools (lines through dimensions, text, hatch, table, leader, block insertion, 3D primitives) take the same space parameter to create on a named layout or the current tab. copy_entities, mirror_entities, offset_entity, the array tools, explode_entity and trim_entity keep their result in the space the source occupies, so a copied sheet note stays on the sheet
  • One error envelope. A tool that could not do what was asked always answers {success: false, error, result}. Some failures used to come back as success: true with the message under result.error, and others as success: false, so a client had to check both. The payload stays under result
  • create_hatch rebuilt. boundaryPoints works (it was advertised and always rejected). Several boundaryHandles are an outer loop plus islands, so a face with openings is one call instead of strips and temporary polylines. Patterns resolve as predefined, then a .pat on the support path, then a pattern an existing hatch in the drawing already carries. An unknown name is refused by name, saying where it was looked for; an open boundary is refused with the reason
  • create_leader creates a multileader. textHeight and arrowSize are applied, style is selectable, and the result is one MLeader rather than a leader plus a detached text. Returns handle (leaderHandle kept as an alias)
  • get_entity_properties: MText height reads the character height (it read the boundary height, 0 on almost every note); a hatch that cannot report an area no longer fails the whole call, and hatches report pattern, scale, angle, style, associativity and boundary handles
  • get_entities: boundingBox is applied (it was advertised and ignored); matched is the total the filters select, with total as an alias
  • select_by_filter: mode chooses crossing (default) or window semantics for withinExtents; space limits the search to one space (default all, as before); results carry layer and space
  • create_block_definition now says what it does (copy, originals left in place) and adds insertReference alongside eraseOriginals for move-and-replace, returning the reference handle
  • Version reporting. ping and get_drawing_info report the connector version, the AutoCAD release and whether a read-only session is active
  • Booleans on AutoCAD 2022 to 2024: boolean_union, boolean_subtract and boolean_intersect now erase the second solid explicitly. AutoCAD 2025 and later consume it inside the operation; 2022 to 2024 left it in the drawing, so a union reported success and a stray solid survived on top of the result
  • capture_screenshot was fixed in v2.0.1 (the PNG is on disk before the tool returns) but not listed in those notes
v2.0.1 August 2026

Security hardening and layer tool fixes

  • Security hardening of the connector's local communication channel and its diagnostics
  • Diagnostic logging is now off by default. Set MCPCONNECTOR_LOG_ENABLED=1 and restart AutoCAD to collect a log for support
  • create_layer now applies description, plot and transparency, and list_layers now honours its filter parameter
v2.0.0 August 2026

Trim and extend rebuilt, text search fixed on non-Latin drawings, honest batch reporting, and four breaking changes

  • trim_entity and extend_entity now work, and no longer remove the cutting edge. Neither tool trimmed or extended anything: both erased the boundary instead and left the target untouched, while reporting success, and both left the command open so later command-driven tools did nothing. AutoCAD 2021 and later default TRIM to Quick mode, in which it does not prompt for cutting edges, so the boundary was consumed as the object to trim. Both tools are rebuilt on the AutoCAD geometry API and never touch the cutting edges. Breaking: trim_entity now takes a point on the portion to remove (removeX, removeY, removeZ, plus extendBoundaries), because trimming has always needed to know which side to cut. The classic trim between two cutting edges still needs no point, and where the answer is ambiguous the tool refuses and says so rather than guessing. extend_entity gains an optional extendStart; omit it and the tool extends whichever end reaches a boundary soonest
  • Text search and replace fixed on Japanese, Chinese, Korean, Cyrillic, Greek and accented drawings. AutoCAD stores characters outside the drawing code page as \U+XXXX escapes, and DWGs exported from Revit carry their text that way. Every search compared against the stored string, so a search for a Japanese word returned nothing on a drawing full of it, while a search for a single Latin letter matched the hex digits inside the escapes. find_text, replace_text and count_text_patterns now decode before matching, and each replacement is written back in the encoding that entity already used. find_text also reports the encoding and the stored text, so an escaped drawing is visible rather than something you have to infer
  • get_entities paging works. offset was never implemented, so anything past the first page was unreachable. It is implemented now, with offset, matched and hasMore in the response
  • Modification tools work outside model space. fillet_entities, chamfer_entities, break_entity, lengthen_entity, join_entities, align_entities and convert_to_polyline drive an AutoCAD command, and a command acts on the current space, while every creation tool writes to model space. With a sheet layout current, which is how most company templates open, none of them found anything to act on. They now switch to the space the target entities are in, run, and put the layout back
  • Breaking: get_entity_properties always returns an entities array. It used to return a flat object for one handle and a wrapped array for several, so code written against result.entities broke on the single-handle case. It is now always {success, count, entities, errors} - read result.entities[0].radius rather than result.radius
  • Breaking: folder tools report success only when every drawing succeeded. Thirteen batch tools returned success no matter how many drawings failed, so a caller checking success was told the job was done while files had been skipped. success is now false if any file failed. The per-file detail is unchanged, so a caller still sees exactly which drawings failed and why
  • New: read-only session. A checkbox in the connection dialog removes every tool that modifies a drawing from the session, and refuses it by name if called. An administrator policy value can force it on machine-wide, so it can be handed to a team as a guarantee rather than a preference
  • Batch failures name the cause. A drawing open in AutoCAD, or locked by a colleague on a network share, used to fail with a bare error code. It now names the file and the reason, keeping the underlying AutoCAD status in brackets for support
  • title_block_update accepts an omitted blockNameFilter, so the schema and the behaviour now agree
  • F1 on the ribbon button opens these docs in the AutoCAD help viewer
  • Folder-wide audits and batch PDF plotting run in a separate process, which keeps large folders reliable
  • The in-product update check is removed. The connector no longer checks for updates and no longer contacts a version endpoint. Outbound network calls are limited to licence activation, deactivation and validation. Check the product page for new releases
v1.0.7 August 2026

Excel tools fixed on AutoCAD 2027, and refreshed components

  • Excel read and write fixed on AutoCAD 2027. AutoCAD 2027 ships its own copy of the spreadsheet library the connector uses, and its copy was winning, so any tool that read or wrote an .xlsx failed. The connector now loads its own copy in isolation. Verified across 2022, 2025 and 2027
  • Fixed a load failure on AutoCAD 2022 to 2024 introduced by the component refresh
  • Runtime and support components updated to current releases
v1.0.5 August 2026

Crash fix on xref reporting, and tools that work before a drawing is open

  • Fixed an AutoCAD crash in xref_report. Reporting on a drawing whose xref graph contained unresolved references could take AutoCAD down on 2025 to 2027. The cycle detection is now done in managed code, so a broken graph is reported rather than fatal
  • 17 tools now run with no drawing open. The folder-batch suite plus open_drawing and new_drawing work from a cold AutoCAD session. Tools that do need a drawing now say so and point you at open_drawing instead of failing obscurely
v1.0.4 August 2026

Reliability and installer update - recommended for everyone

  • Fixed the add-in not loading automatically when AutoCAD starts - it now installs to the plugin location modern AutoCAD trusts. If tools previously appeared only after loading the connector manually, this update resolves that
  • Choose which AutoCAD versions (2022-2027) to install for, with installed versions detected automatically
  • Silent, unattended installation for enterprise deployment, with a matching silent uninstall
v1.0.0 July 2026

First release

  • Drive AutoCAD 2022-2027 from any MCP client with natural language - a free tier plus the full Pro tool set

Need Help?

Not finding what you need? Our support team is here to help.

Contact Support