Skip to main content
Glama
CDT AutoCAD Provider

CDT AutoCAD Provider

CDT-AutoCAD

License: MIT Python 3.11 | 3.12 MCP Protocol Platform: Windows Tools

Generic AutoCAD execution provider for Model Context Protocol (MCP) clients. It owns native CAD execution, state verification and recovery; engineering design rules belong to CDT_Engineer.

Provider 0.4.3 · Contract autocad-generic-v1 · 87 public tools. Native acceptance is scoped to AutoCAD 2027 full on Windows x64. The headless DXF lane has separate capabilities; other AutoCAD versions need their own acceptance.


Quickstart / MCP Client Configuration

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "cdt-autocad": {
      "command": "uvx",
      "args": ["cdt-autocad-provider"],
      "env": {
        "CDT_AUTOCAD_BACKEND": "com",
        "CDT_AUTOCAD_COM_PROGID": "AutoCAD.Application.26",
        "CDT_AUTOCAD_COM_ATTACH_POLICY": "attach_only"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "cdt-autocad": {
      "command": "uvx",
      "args": ["cdt-autocad-provider"]
    }
  }
}

Related MCP server: AutoCAD 2024 MCP

Install and run

Use Python 3.12 and the platform lock from this checkout. On Windows:

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install pip==26.1.2
.\.venv\Scripts\python.exe -m pip install -r pylock.windows.toml
.\.venv\Scripts\python.exe -m pip install --no-deps --no-build-isolation .
$env:CDT_AUTOCAD_BACKEND = 'com'
$env:CDT_AUTOCAD_COM_PROGID = 'AutoCAD.Application.26'
$env:CDT_AUTOCAD_COM_ATTACH_POLICY = 'attach_only'
.\.venv\Scripts\cdt-autocad.exe --transport stdio

Start AutoCAD in the same interactive user/session first. attach_only refuses when the application is unavailable. For headless use, install the Linux lock where applicable and select CDT_AUTOCAD_BACKEND=ezdxf. See reproducible installation.

Use safely

  1. Discover help, system_status and system_capabilities.

  2. Bind native writes to document_pid and expected_parent_fp.

  3. Execute bounded semantic features, then inspect/query/measure the result.

  4. Continue only after verified commit or rollback. Reconcile uncertain completion before retrying; timeout does not prove native cancellation.

Tool presence does not imply native strong-integrity support for every route. Configure allowed file roots; HTTP requires deployment-managed authentication. No arbitrary shell, AutoLISP, macro or caller-supplied C# execution is exposed.

Reference

License

Distributed under the open-source MIT License. See LICENSE, copyright, third-party notices and source provenance.

Available Tools

87 tools
artifact_sealA

Save the active drawing, require a clean persisted state, copy it to a content-addressed accepted artifact, and write a SHA-256 manifest for stable handoff provenance.

Side-effects: Saves document, writes artifact file and provenance manifest to disk. Disambiguation: Use at completion of milestone or deliverable handoff.

Inputs: destination_dir. Returns: object

batch_create_entitiesA

Create 1..10000 generic typed CAD primitives through the managed native bridge using caller-supplied document PID and predecessor fingerprint binding.

Side-effects: Creates multiple entities in active space with idle yields. Disambiguation: Use for high-throughput batch primitive creation; for single entities use entity_create_*.

Inputs: entities (required), document_pid (required), expected_parent_fp (required). Returns: object

batch_insert_blocksA

Insert 1..10000 persistent-PID-bound block references through the managed native bridge only when caller document PID and predecessor fingerprint still match.

Side-effects: Inserts block references across the drawing. Disambiguation: Use for bulk component placement; for single placement use block_insert.

Inputs: inserts (required), document_pid (required), expected_parent_fp (required). Returns: object

batch_transform_entitiesA

Transform 1..10000 persistent semantic PIDs with typed translate, rotate-Z, or uniform scale after caller document PID and predecessor fingerprint binding.

Side-effects: Mutates entity transforms in active drawing. Disambiguation: Use for bulk updates to existing entities; for single objects use object_move, object_rotate, or object_scale.

Inputs: transform (required), document_pid (required), semantic_pids (required), expected_parent_fp (required). Returns: object

block_createA

Create a named block definition by copying the specified existing objects around a WCS base point; source objects remain in their original space.

Side-effects: Creates BLOCK definition; original objects remain in space. Disambiguation: Creates reusable definition; does not insert an instance.

Inputs: name (required), object_ids (required), base_x, base_y. Returns: object

block_insertA

Insert an existing named block at a WCS point with XY scale and rotation in degrees, optionally assigning the new reference to a layer.

Side-effects: Adds INSERT entity to active space. Disambiguation: Inserts instance of existing block; use batch_insert_blocks for bulk placement.

Inputs: x (required), y (required), name (required), layer, +3 more. Returns: object

block_listA
Read-only

List named block definitions, excluding anonymous blocks, with base point, entity count, attribute-definition count, and xref status.

Side-effects: None. Read-only block definition query. Disambiguation: Use to discover available blocks before inserting.

Inputs: limit, offset, name_filter, include_xrefs, +1 more. Returns: result

dimension_alignedA

Create an aligned dimension from WCS extension points and a WCS dimension-line point, using the active drawing's dimension style.

Side-effects: Adds aligned DIMENSION entity. Disambiguation: Dimension line stays parallel to extension points regardless of angle.

Inputs: x1 (required), x2 (required), y1 (required), y2 (required), +3 more. Returns: object

dimension_angularA

Create a typed angular dimension from one vertex, two WCS ray points, and a text point; invalid collinear rays are rejected before mutation.

Side-effects: Adds angular DIMENSION entity. Disambiguation: Use to dimension angles in degrees; rays must not be collinear.

Inputs: text_x (required), text_y (required), first_x (required), first_y (required), +5 more. Returns: object

dimension_diametricA

Create a typed diametric dimension from center/chord geometry and positive leader length using the active drawing dimension style.

Side-effects: Adds diametric DIMENSION entity. Disambiguation: Displays diameter; for arc radii use dimension_radial.

Inputs: chord_x (required), chord_y (required), center_x (required), center_y (required), +2 more. Returns: object

dimension_linearA

Create a linear dimension from WCS extension points and dimension-line point; rotation is degrees and placement uses drawing units.

Side-effects: Adds linear DIMENSION entity. Disambiguation: Use for orthogonal (0 or 90 deg) dimensions; for angled geometry use dimension_aligned.

Inputs: x1 (required), x2 (required), y1 (required), y2 (required), +4 more. Returns: object

dimension_ordinateA

Create an X- or Y-ordinate dimension from a WCS definition point and leader endpoint with strict axis validation.

Side-effects: Adds ordinate DIMENSION entity. Disambiguation: Measures absolute distance from drawing origin or datum.

Inputs: leader_x (required), leader_y (required), definition_x (required), definition_y (required), +2 more. Returns: object

dimension_radialA

Create a typed radial dimension from center/chord geometry and positive leader length using the active drawing dimension style.

Side-effects: Adds radial DIMENSION entity. Disambiguation: Displays radius (R); for full circles prefer dimension_diametric.

Inputs: chord_x (required), chord_y (required), center_x (required), center_y (required), +2 more. Returns: object

document_configure_unitsA

Configure drawing insertion units, measurement system, linear format, and precision using a bounded typed schema.

Side-effects: Updates drawing system variables (INSUNITS, MEASUREMENT, LUNITS, LUPREC). Disambiguation: Use during drawing setup to guarantee unit consistency (e.g. millimeters).

Inputs: measurement, linear_format, insertion_units, linear_precision. Returns: object

document_dependenciesA
Read-only

Inspect external-reference dependencies for the active drawing and report contained, resolved, loaded, and completeness state.

Side-effects: None. Read-only dependency audit. Disambiguation: Use to audit required file dependencies (XREFs, images) before archiving or sealing.

Inputs: no named parameters. Returns: object

document_export_pdfA

Export the active document or selected layout to an allowed PDF path; this writes an artifact and may require live AutoCAD plotting capability.

Side-effects: Writes PDF artifact to disk. Disambiguation: Use for vector deliverable export; use view_screenshot for quick raster inspection.

Inputs: path (required), layout. Returns: object

document_infoA
Read-only

Read verified metadata for the active document, including path, units, counts, current space, backend, and detected AutoCAD release when available.

Side-effects: None. Read-only document query. Disambiguation: Primary document query tool for inspecting active file state.

Inputs: no named parameters. Returns: object

document_newA

Create a new active CAD document in the current backend session; refuses unsafe transaction state.

Side-effects: Changes active document session, creates unsaved drawing. Disambiguation: Use to start a clean drawing; use document_open to load existing DWG/DXF files.

Inputs: no named parameters. Returns: object

document_openA

Open an existing allowed DWG/DXF path as the active document; changes session state.

Side-effects: Changes active document session. Disambiguation: Use to load an existing drawing; use document_new to create a blank drawing.

Inputs: path (required). Returns: object

document_saveA

Save the currently bound document to its verified existing path, or delegate to SaveAs when path is supplied; success requires immediate persisted-clean readback.

Side-effects: Persists unsaved drawing changes to disk and clears dirty state. Disambiguation: Use document_save to persist changes in-place; use document_save_as to write to a new destination path.

Inputs: path. Returns: object

document_save_asA

Save the active document to an allowed DWG/DXF destination, verify the same bound path and immediate persisted-clean state, then update its document scope.

Side-effects: Writes drawing to new file path, updates document binding. Disambiguation: Use to fork or save drawing under a new name; use document_save for in-place save.

Inputs: path (required). Returns: object

drawing_auditA

Run the backend drawing-audit operation on the active document; live AutoCAD AUDIT may repair content and does not expose a machine-readable repair count.

Side-effects: Runs AutoCAD AUDIT command, fixes corrupted entity pointers. Disambiguation: Use after heavy edits or imports; use drawing_purge to remove unused definitions.

Inputs: no named parameters. Returns: object

drawing_extentsA
Read-only

Measure the current drawing-space WCS extents using the backend geometry engine without changing document objects.

Side-effects: None. Read-only bounding box query. Disambiguation: Returns WCS coordinates [min_x, min_y, max_x, max_y]; does not change view.

Inputs: no named parameters. Returns: object

drawing_purgeA

Purge unused drawing resources from the active document; this mutates document state and should be used only when removal is intended.

Side-effects: Deletes unreferenced layers, blocks, and styles from document database. Disambiguation: Use to clean up drawing before export; destructive to unused resources.

Inputs: no named parameters. Returns: object

entity_create_arcA

Create an ARC at a WCS center with positive radius; start_angle and end_angle are degrees and the result is a new drawing object.

Side-effects: Adds ARC entity to active space. Disambiguation: Use for circular arcs in degrees; for full circles use entity_create_circle.

Inputs: cx (required), cy (required), radius (required), end_angle (required), +3 more. Returns: object

entity_create_circleA

Create a CIRCLE at a WCS center with positive radius in drawing units, optionally on a layer/color, and return the new object identifier.

Side-effects: Adds CIRCLE entity to active space. Disambiguation: Use for full 360-degree circles; for circular segments use entity_create_arc.

Inputs: cx (required), cy (required), radius (required), color, +1 more. Returns: object

entity_create_lineA

Create a LINE from two WCS endpoints in drawing units, optionally on a layer/color, and return the new backend object identifier.

Side-effects: Mutates active drawing state, advances document fingerprint. Disambiguation: Use entity_create_line for discrete linear segments in WCS; use entity_create_polyline for joined multi-segment paths.

Inputs: x1 (required), x2 (required), y1 (required), y2 (required), +4 more. Returns: object

entity_create_polylineA

Create a 2D lightweight polyline from WCS XY points in drawing units, optionally closed/layered/colored, and return the new object identifier.

Side-effects: Adds LWPOLYLINE entity to active space. Disambiguation: Use for continuous multi-segment paths, contours, or closed boundaries.

Inputs: points (required), color, layer, bulges, +3 more. Returns: object

entity_create_textA

Create TEXT at a WCS insertion point with drawing-unit height and rotation in degrees, optionally on a layer/color, and return its identifier.

Side-effects: Adds TEXT entity to active space. Disambiguation: Use for labels, callouts, and notes.

Inputs: x (required), y (required), text (required), color, +3 more. Returns: object

feature_executeA

Execute one complete generic feature as a feature-local logical transaction bound to caller-supplied document PID and predecessor fingerprint.

Side-effects: Mutates active drawing state atomically; rolls back on failure. Disambiguation: Preferred route for multi-step feature creation; rolls back cleanly if any action fails.

Inputs: actions (required), feature_id (required), document_pid (required), correlation_id (required), +2 more. Returns: object

hatch_createA

Create a hatch from a closed WCS XY boundary using pattern, scale, and angle in degrees; invalid or unsupported boundaries are refused.

Side-effects: Adds HATCH entity to active space. Disambiguation: Use to fill closed contours; boundary must be closed and coplanar.

Inputs: boundary_points (required), angle, color, layer, +2 more. Returns: object

helpA
Read-only

Return provider contract guidance, workflow rules, capability map, and refusal notes.

Side-effects: None. Read-only guidance query. Disambiguation: Use help for human/agent operating guidance; use system_capabilities for machine-readable JSON capability flags.

Inputs: no named parameters. Returns: object

layer_createA

Create a new layer with the requested AutoCAD color index; existing names are refused and the active layer is not changed.

Side-effects: Adds layer record to drawing layer table. Disambiguation: Refuses if layer already exists; use layer_update_state to modify existing layers.

Inputs: name (required), color. Returns: object

layer_listA
Read-only

List drawing layers with normalized names, colors, linetypes, visibility/frozen/locked state, and whether each layer is current.

Side-effects: None. Read-only layer query. Disambiguation: Use to inspect existing layers before placing entities.

Inputs: no named parameters. Returns: result

layer_set_currentA

Set an existing layer as the active document layer; this changes session drawing state but does not move existing objects between layers.

Side-effects: Changes current working layer for subsequent entity creation. Disambiguation: Does not modify existing entities; only sets active context.

Inputs: name (required). Returns: object

layer_update_stateA

Update allowlisted layer state such as on/off, frozen, locked, color, linetype, or lineweight; unsafe changes to the current layer are refused before mutation.

Side-effects: Modifies layer table properties. Disambiguation: Use to change layer visibility or styling across all entities on that layer.

Inputs: name (required), color, is_on, linetype, +3 more. Returns: object

layout_createA

Create a new paper-space layout by name; duplicate or empty names are refused and existing layouts are preserved.

Side-effects: Adds layout to drawing. Disambiguation: Creates blank sheet; viewports must be added separately with viewport_create.

Inputs: name (required). Returns: object

layout_listA
Read-only

List document layouts and identify the current layout; this is read-only and does not change active model/paper space.

Side-effects: None. Read-only layout query. Disambiguation: Use to discover printable sheets.

Inputs: no named parameters. Returns: object

layout_set_currentA

Switch the active document to an existing layout; this changes the operator's current model/paper-space context.

Side-effects: Changes operator active space context. Disambiguation: Switch between Model and paper layouts.

Inputs: name (required). Returns: object

metadata_getB
Read-only

Read one schema-agnostic metadata namespace from a persistent semantic PID through the native bridge.

Side-effects: None. Read-only metadata query. Disambiguation: Use to retrieve engineering attributes attached to entities.

Inputs: namespace (required), semantic_pid (required). Returns: object

metadata_queryA
Read-only

Query a bounded schema-agnostic metadata namespace across the active native document, optionally matching one dotted JSON path to an exact JSON value.

Side-effects: None. Read-only metadata query. Disambiguation: Use to locate entities by engineering metadata rather than visual layers.

Inputs: namespace (required), path, limit, equals, +1 more. Returns: object

metadata_setA

Set one bounded schema-agnostic JSON metadata namespace only when caller document PID and predecessor fingerprint still match.

Side-effects: Attaches XData/extension dictionary metadata to entity. Disambiguation: Use to store engineering properties (part numbers, materials) on entities.

Inputs: value (required), namespace (required), document_pid (required), semantic_pid (required), +1 more. Returns: object

native_document_identity_initializeA

Explicitly initialize provider-owned persistent document lineage on the active empty drawing space, returning verified document PID and semantic fingerprint.

Side-effects: Writes persistent dictionary lineage to drawing, advances document fingerprint. Disambiguation: Use once on an empty drawing to bootstrap native tracking; refuses non-empty drawings.

Inputs: no named parameters. Returns: object

native_integrity_statusA
Read-only

Inspect the same-session managed native bridge and the exact active AutoCAD document binding, including persistent document PID and semantic fingerprint.

Side-effects: None. Read-only integrity query. Disambiguation: Use native_integrity_status to verify native C# bridge liveness and optimistic lock state; use system_status for overall provider status.

Inputs: no named parameters. Returns: object

object_copyA

Copy one object by WCS delta dx/dy/dz using drawing units and return the new entity identifier without deleting the source.

Side-effects: Creates a duplicate entity at the offset location. Disambiguation: Creates new object; use object_move to translate without duplication.

Inputs: dx (required), dy (required), object_id (required), dz. Returns: object

object_countA
Read-only

Count objects in the backend's current supported space with optional type and layer filters; no document geometry is modified.

Side-effects: None. Read-only entity count query. Disambiguation: Lightweight count check before fetching full object lists.

Inputs: type_filter, layer_filter. Returns: result

object_deleteA

Delete one object by backend object identifier from the active document; this is destructive and timeout uncertainty must be reconciled before retry.

Side-effects: Destructive deletion of entity from active drawing. Disambiguation: Destructive removal; use object_set_properties(visible=False) if temporary hiding is preferred.

Inputs: object_id (required). Returns: object

object_getA
Read-only

Read one object by backend object identifier and return normalized type, layer, color, visibility, geometry properties, and current-space metadata.

Side-effects: None. Read-only entity query. Disambiguation: Use for single entity inspection; use object_measure for calculated metrics.

Inputs: object_id (required). Returns: object

object_intersectionsA
Read-only

Compute exact supported intersections between two distinct objects with an explicit extension mode; unsupported solvers fail closed rather than approximate silently.

Side-effects: None. Read-only intersection solver. Disambiguation: Computes geometric intersection points with extend options.

Inputs: first_id (required), second_id (required), extend_mode. Returns: object

object_listA
Read-only

List objects from the backend's current supported space with optional type/layer filters and bounded pagination; returned IDs are backend object identifiers.

Side-effects: None. Read-only entity query. Disambiguation: Use for sequential browsing of objects; use object_query when spatial filtering or bounding box measurements are needed.

Inputs: limit, offset, type_filter, layer_filter. Returns: result

object_measureA
Read-only

Measure one object using the active backend's exact supported geometry API and return type-specific metrics plus WCS bounding box for deterministic verification.

Side-effects: None. Read-only measurement query. Disambiguation: Returns deterministic type-specific mathematical metrics.

Inputs: object_id (required). Returns: object

object_moveA

Move one object by WCS delta dx/dy/dz using drawing units and return the normalized updated entity; this mutates geometry.

Side-effects: Shifts entity coordinates in active drawing. Disambiguation: Use for translation; use object_rotate or object_scale for other transforms.

Inputs: dx (required), dy (required), object_id (required), dz. Returns: object

object_queryA
Read-only

Query a bounded object set by type/layer and optional WCS bounding window, returning normalized objects plus measured bounds so source-registration workflows do not need side-channel DXF export.

Side-effects: None. Read-only spatial query. Disambiguation: Preferred spatial query tool to find objects inside a bounding box.

Inputs: limit, max_x, max_y, min_x, +4 more. Returns: object

object_rotateA

Rotate one object around the supplied WCS base point by angle_deg in degrees; this mutates geometry in the active document.

Side-effects: Mutates entity geometry in active drawing. Disambiguation: Rotates geometry counter-clockwise in degrees; use object_scale to resize or object_move to translate.

Inputs: base_x (required), base_y (required), angle_deg (required), object_id (required). Returns: object

object_scaleA

Scale one object uniformly about the supplied WCS base point by a positive factor; this mutates geometry in the active document.

Side-effects: Mutates entity scale in active drawing. Disambiguation: Modifies entity size; use object_move to reposition.

Inputs: base_x (required), base_y (required), factor (required), object_id (required). Returns: object

object_set_propertiesA

Update selected properties of one object—layer, color, linetype, or visibility—while leaving unspecified properties unchanged.

Side-effects: Modifies entity visual properties. Disambiguation: Use to style entities; for spatial changes use object_move, object_rotate, or object_scale.

Inputs: object_id (required), color, layer, visible, +1 more. Returns: object

redoA

Redo the most recent reverted backend/document operation according to backend history semantics; refuses when no redoable state is available.

Side-effects: Re-applies reverted modification. Disambiguation: Single-step forward history navigation.

Inputs: no named parameters. Returns: object

solid_booleanA

Apply UNION, SUBTRACT, or INTERSECT between two distinct ACIS 3DSOLIDs and return post-operation volume, centroid, bounding box, and tool-consumption state.

Side-effects: Combines or cuts solids; consumes tool body. Disambiguation: Constructive solid geometry operation.

Inputs: operation (required), tool_handle (required), target_handle (required). Returns: object

solid_create_primitiveA

Create a native ACIS BOX, CYLINDER, SPHERE, CONE, TORUS, or WEDGE from typed numeric parameters; the live AutoCAD backend is required and an optional output layer is applied explicitly.

Side-effects: Adds 3DSOLID entity to drawing. Disambiguation: Primary tool for baseline solid shapes; use boolean operations to combine.

Inputs: kind (required), parameters (required), layer. Returns: object

solid_exportA

Export selected native ACIS solids to a contained SAT artifact using AutoCAD's typed Export API and return SHA-256 provenance; unsupported STEP/STL requests are refused rather than emulated unsafely.

Side-effects: Writes SAT file to disk. Disambiguation: CAD interchange for solid geometry.

Inputs: path (required), handles (required), format. Returns: object

solid_extrudeA

Create an ACIS 3DSOLID by extruding a closed planar profile by non-zero height and bounded taper angle; temporary regions are cleaned deterministically.

Side-effects: Creates 3DSOLID from profile; removes temp region. Disambiguation: Linear extrusion; use solid_revolve for rotational solids.

Inputs: height (required), profile_object_id (required), layer, taper_angle. Returns: object

solid_inspectA
Read-only

Inspect an ACIS 3DSOLID by handle and return layer, visibility, volume, centroid, and WCS bounding box; face-level topology is reported as unsupported when it cannot be proven through ActiveX.

Side-effects: None. Read-only solid inspection. Disambiguation: Physical and spatial verification of solids.

Inputs: handle (required). Returns: object

solid_revolveA

Create an ACIS 3DSOLID by revolving a closed planar profile around a non-degenerate WCS 3D axis by a non-zero angle within plus/minus 360 degrees.

Side-effects: Creates 3DSOLID by rotation. Disambiguation: Use for axisymmetric shapes (shafts, pulleys).

Inputs: axis_x1 (required), axis_x2 (required), axis_y1 (required), axis_y2 (required), +5 more. Returns: object

solid_sweepA

Create an ACIS 3DSOLID by sweeping a closed profile along a supported typed CAD curve path; unsupported path types are refused before opaque AutoCAD failures.

Side-effects: Creates 3DSOLID along trajectory. Disambiguation: Path-driven extrusion for pipes, ducts, rails.

Inputs: path_object_id (required), profile_object_id (required), layer. Returns: object

solid_transformA

Apply one typed 3D move, rotate, uniform-scale, or mirror operation to an ACIS solid; free-form matrices and arbitrary commands are not accepted.

Side-effects: Modifies solid position/orientation. Disambiguation: 3D spatial transformation for ACIS bodies.

Inputs: handle (required), operation (required), parameters (required). Returns: object

system_capabilitiesA
Read-only

Return the backend capability map used to plan calls before side effects; this tool has no CAD side effects.

Side-effects: None. Read-only capability query. Disambiguation: Use system_capabilities before calling mutations to check supported CAD operations.

Inputs: no named parameters. Returns: object

system_statusA
Read-only

Report provider runtime status, AutoCAD version/progid, transport, and generation metadata.

Side-effects: None. Read-only status query. Disambiguation: Use system_status to verify CAD connection and process health; use system_capabilities to inspect supported operations.

Inputs: no named parameters. Returns: object

transaction_beginA

Begin a backend-tracked transaction or undo scope on the bound document; nested depth is limited and document switching is blocked while active.

Side-effects: Starts undo group; blocks document switching. Disambiguation: Group multiple modifications into a single undoable unit.

Inputs: no named parameters. Returns: object

transaction_commitA

Commit the current backend-tracked transaction or undo scope for the bound document; refuses when no tracked transaction is active.

Side-effects: Finalizes undo group. Disambiguation: Completes transaction started by transaction_begin.

Inputs: no named parameters. Returns: object

transaction_rollbackA

Rollback the current backend-tracked transaction or undo scope for the bound document; this intentionally reverts mutations in that scope.

Side-effects: Destructive reversal of mutations within active transaction. Disambiguation: Reverts state back to transaction_begin.

Inputs: no named parameters. Returns: object

undoA

Undo the most recent available backend/document operation according to backend history semantics; refuses when no undoable state is available.

Side-effects: Reverts last modification. Disambiguation: Single-step backward history navigation.

Inputs: no named parameters. Returns: object

viewport_createA

Create a paper-space viewport on a named layout with center/size in paper units, WCS view target, and positive custom scale.

Side-effects: Adds VIEWPORT entity to active layout. Disambiguation: Requires active paper-space layout.

Inputs: width (required), height (required), layout (required), center_x (required), +4 more. Returns: object

viewport_deleteA

Delete a paper-space viewport by handle; pre-existing or unknown viewports require force=true because ActiveX cannot reliably identify the main viewport.

Side-effects: Destructive deletion of viewport from paper space. Disambiguation: Deletes viewport layout frame; pass force=True for unmanaged or preexisting viewports.

Inputs: handle (required), force. Returns: object

viewport_listA
Read-only

List paper-space viewports for one or all layouts with handle, geometry, target, scale, lock state, and backend-created ownership hint.

Side-effects: None. Read-only viewport query. Disambiguation: Inspect viewport handles, scales, and bounding boxes.

Inputs: layout. Returns: object

viewport_lockA

Set or clear DisplayLocked for a paper-space viewport by handle and return the verified lock state.

Side-effects: Sets DisplayLocked property on viewport. Disambiguation: Lock viewports to prevent accidental zoom changes during drafting.

Inputs: handle (required), locked. Returns: object

viewport_set_scaleA

Set a paper-space viewport's positive custom scale by handle and return the verified scale and derived view height.

Side-effects: Updates viewport magnification and view height. Disambiguation: Adjusts architectural/engineering scale (e.g. 1:50, 1:100).

Inputs: scale (required), handle (required). Returns: object

view_screenshotA
Read-only

Capture the live AutoCAD application window as PNG bytes; this is read-only and requires the live COM screenshot capability.

Side-effects: None. Returns raster PNG bytes. Disambiguation: Quick visual verification; use document_export_pdf for vector deliverables.

Inputs: no named parameters.

view_set_directionA

Set a normalized 3D model-space view direction from a WCS vector and zoom to extents; this may alter persisted view state even though it does not modify CAD geometry.

Side-effects: Rotates 3D viewpoint; drawing geometry unmodified. Disambiguation: Arbitrary 3D view angle; use view_set_preset for standard orthogonal/isometric views.

Inputs: dx (required), dy (required), dz (required). Returns: object

view_set_presetA

Apply an allowlisted orthographic or isometric 3D view preset such as se_isometric using typed direction vectors rather than free-text AutoCAD commands.

Side-effects: Changes viewpoint camera to preset angle. Disambiguation: Fast standard view alignment.

Inputs: preset. Returns: object

view_set_visual_styleA

Apply an allowlisted model-space visual style such as shades_of_gray through a bounded internal AutoCAD command mapping; arbitrary command text is never accepted from callers.

Side-effects: Modifies viewport rendering mode. Disambiguation: Changes shading and display mode.

Inputs: style. Returns: object

view_zoom_extentsA

Zoom the live AutoCAD view to drawing extents; this changes only the operator view and does not modify drawing geometry.

Side-effects: Changes current display camera; drawing geometry unmodified. Disambiguation: Frames full drawing; use view_zoom_window to zoom to a specific area.

Inputs: no named parameters. Returns: object

view_zoom_windowA

Zoom the live AutoCAD view to the supplied WCS XY window bounds; zero-area windows are refused and drawing geometry is unchanged.

Side-effects: Changes display window; drawing geometry unmodified. Disambiguation: Zooms to specific bounding area.

Inputs: x1 (required), x2 (required), y1 (required), y2 (required). Returns: object

xref_attachA

Attach or overlay one allowed DWG/DXF external reference with a bounded WCS transform and optional layer; source paths are canonicalized before AutoCAD side effects.

Side-effects: Attaches external drawing file to active document. Disambiguation: Use to reference external drawings; use block_insert for internal blocks.

Inputs: path (required), x, y, z, +7 more. Returns: object

xref_detachA

Detach one existing XREF definition from the active document; this is destructive to reference state.

Side-effects: Destructive removal of XREF definition and references. Disambiguation: Destructive; removes dependency from drawing.

Inputs: name (required). Returns: object

xref_listA
Read-only

List live AutoCAD external references with contained/resolved/loaded state while redacting paths that fall outside configured allowed roots.

Side-effects: None. Read-only XREF query. Disambiguation: Use to inspect external DWG attachments.

Inputs: no named parameters. Returns: result

xref_reloadA

Reload one existing XREF only when its resolved source remains inside configured allowed roots.

Side-effects: Updates referenced geometry from disk. Disambiguation: Use when an external file has been updated on disk.

Inputs: name (required). Returns: object

xref_unloadA

Unload one existing XREF definition without deleting it, preserving a reversible reference state.

Side-effects: Unloads XREF memory representation. Disambiguation: Reversible; use xref_detach for permanent removal.

Inputs: name (required). Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 87 tools

    Disambiguation4/5

    Most tools have distinct resource/action scopes, and descriptions include explicit cross-references for close neighbors such as document_save vs document_save_as and xref_unload vs xref_detach. Some overlap remains between generic object transforms, solid_transform, batch_transform_entities, and feature_execute vs transaction tools, so an agent still needs careful selection.

    Naming Consistency4/5

    Tools are overwhelmingly snake_case with resource-first naming such as object_move, layer_create, and solid_boolean, which is predictable across major groups. Minor deviations like help/undo/redo and mixed action ordering in names such as native_integrity_status or drawing_extents keep it from perfect consistency.

    Tool Count1/5

    87 tools is far above the recommended 3-15 range and crosses the 50+ extreme-mismatch threshold. Although the tools are largely non-redundant, the surface is too large for efficient agent selection and would benefit from consolidation into higher-level operations.

    Completeness4/5

    The surface covers document lifecycle, layers, blocks, xrefs, layouts, viewports, objects, entity creation, dimensions, solids, metadata, transactions, and undo/redo, so core AutoCAD workflows are well covered. Gaps remain for deleting layers/blocks/layouts, closing documents, block attributes, and several common entity types, but agents can mostly work around them.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables automation of AutoCAD LT and headless DXF creation through two backends (File IPC for Windows AutoCAD LT and ezdxf for cross-platform) with tools for drawing, entity, layer, block, annotation, PID, view, and system operations.
      8
      13
      MIT
    • F
      license
      B
      quality
      B
      maintenance
      Natural-language MCP bridge for AutoCAD 2024. Enables users to inspect and edit DWG drawings, manage layers, entities, layouts, styles, and system variables; draw 2D geometry and 3D solids; perform measurements and transactional edits; and export to DWG, STL, PDF, DWF, SVG, or raster formats through a local named-pipe connection.
      21
      1
      -
    • A
      license
      C
      quality
      C
      maintenance
      Enables MCP clients to create and edit technical drawings, manage layers and geometry, process GIS/research mapping data, generate previews and layouts, and automate AutoCAD documents on Windows through COM.
      225
      578 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables MCP clients to drive AutoCAD LT or headless DXF generation through natural-language requests, exposing consolidated tools for drawings, entities, layers, blocks, annotations, P&ID symbols, viewport screenshots, and AutoLISP execution.
      1
      MIT