Skip to main content
Glama
khs0927

Power CAD MCP

by khs0927

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
POWER_CAD_LAUNCHNoIf 1, launch AutoCAD when it is not running0
POWER_CAD_PROGIDNoCOM ProgID list (comma-separated). Default order: AutoCAD.Application, .26 (2027), .25, .24
POWER_CAD_BACKENDNoBackend to use: autocad / dxf / auto (AutoCAD on Windows, otherwise DXF)auto
POWER_CAD_DXF_PATHNoFile to open/save at startup for the DXF backend
POWER_CAD_WORKSPACENoBase folder for relative paths. Defaults to current folder.
POWER_CAD_ALLOW_LISPNoIf 1, allow AutoLISP expressions in run_command (dangerous functions remain blocked)0
POWER_CAD_ALLOW_COMMANDSNoIf 0, disable run_command1

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
cad_statusA

Report the active backend (AutoCAD over COM, or headless DXF), connection and open drawing.

new_drawingA

Create a new, empty drawing and make it active.

open_drawingB

Open an existing drawing and make it active.

save_drawingA

Save the active drawing (optionally under a new name).

get_drawing_infoB

Name, path, units, current layer, entity count and extents of the active drawing.

list_layersA

List layers with color, linetype and on/frozen/locked/current state.

create_layerB

Create a layer (or update it if it exists) and optionally make it current.

update_layerA

Change a layer's color/linetype, turn it on/off, freeze/thaw, lock/unlock or rename it.

set_current_layerA

Make a layer current; new entities without an explicit layer go there.

delete_layerC

Delete an unused layer.

draw_lineC

Draw a straight line segment.

draw_polylineB

Draw a polyline through the points (2D lightweight polyline; 3D if Z varies).

draw_rectangleA

Draw an axis-aligned rectangle (closed polyline) from two opposite corners.

draw_polygonA

Draw a regular polygon as a closed polyline.

draw_circleC

Draw a circle.

draw_arcB

Draw a circular arc counter-clockwise from start_angle to end_angle.

draw_ellipseC

Draw a full ellipse.

draw_pointC

Place a POINT entity.

add_textB

Add single-line text at the insertion point (left baseline).

add_mtextB

Add multiline text (MTEXT) with its top-left corner at the insertion point.

add_dimensionC

Dimension the distance between p1 and p2 (aligned, or linear/horizontal/vertical).

add_hatchC

Fill a closed boundary with a hatch pattern or solid fill.

draw_batchB

Create many entities in one call. Returns the created entity (or error) for every operation.

list_blocksA

List block definitions available for insert_block.

create_blockC

Define a new block from existing model-space entities.

insert_blockC

Insert a block reference.

list_entitiesB

List model-space entities with their geometry (filtered, up to limit).

get_entityB

Get one entity's type, layer, color and geometry by handle.

delete_entitiesC

Erase entities.

move_entitiesB

Move entities by a displacement vector [dx, dy(, dz)].

copy_entitiesB

Copy entities, offsetting the copies by a displacement vector. Returns the new entities.

rotate_entitiesB

Rotate entities about a base point.

scale_entitiesB

Scale entities uniformly about a base point.

mirror_entitiesA

Mirror entities across the line p1-p2 (keeps the originals unless delete_source).

offset_entityB

Create a parallel copy (OFFSET) of a line, arc, circle or polyline.

set_entity_propertiesB

Change an entity's layer, color, linetype or lineweight.

zoom_extentsB

Zoom the view to show the whole drawing.

zoom_windowA

Zoom the view to the window spanned by two corners.

run_commandA

Send raw input to the AutoCAD command line (AutoCAD backend only). Shell/script/loader commands are blocked; AutoLISP needs POWER_CAD_ALLOW_LISP=1.

export_drawingB

Export the drawing: AutoCAD → pdf/dwg/dxf/png/bmp/wmf; headless → dxf/png/pdf/svg.

render_previewA

Render the current drawing to a PNG image so you can check the result visually.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 41 tools

Disambiguation4/5

Each tool targets a distinct action+resource: drawing primitives, entity edits (move/copy/rotate/scale/mirror), and layer operations are cleanly separated. Minor overlap between create_layer (which also updates) and update_layer, and draw_batch vs individual draw_* tools, but boundaries remain readable.

Naming Consistency4/5

Overwhelmingly consistent verb_noun pattern (draw_line, list_entities, create_layer, zoom_extents). Only minor deviations like cad_status (noun-first) and get_drawing_info break the otherwise predictable scheme.

Tool Count3/5

41 tools is heavy for a single server, though CAD genuinely spans drawing, layers, blocks, entity editing, views and export so most tools earn their place. Still, the surface could be trimmed or further consolidated (e.g. more batch variants).

Completeness4/5

Strong lifecycle coverage: drawing setup, primitives, layer management, blocks, entity CRUD and transforms, viewing and export. Gaps like trim/extend/fillet and undo are notable but not blocking for core workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues