autocad-ai-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_dxf_summaryA | Get a comprehensive high-level summary of a DXF CAD drawing. Returns: DXF version, units, layer count, block count, entity breakdown by type, total entities, and bounding box. |
| list_layersA | List all layers in a DXF drawing with properties (name, color ACI/Hex, linetype, lineweight, status on/frozen/locked, entity count). |
| list_blocksB | List all block definitions and their usage/instance count in modelspace. |
| query_drawing_entitiesA | Query entities in the drawing with optional filtering by type (e.g. 'LINE', 'CIRCLE', 'LWPOLYLINE', 'TEXT', 'INSERT') and/or layer. Returns coordinates, dimensions, layers, and properties for each matched entity. |
| extract_drawing_textsB | Extract all textual annotations, notes, and labels (TEXT & MTEXT) with exact coordinates, heights, rotations, and layers. |
| create_drawingA | Create a new blank DXF CAD drawing file.
|
| add_layerC | Add a new layer or update an existing layer in a DXF drawing.
|
| add_entitiesA | Line", "insert": [x, y], "height": 3.5} - point: {"type": "point", "location": [x, y]} - ellipse: {"type": "ellipse", "center": [x, y], "major_axis": [dx, dy, 0], "ratio": 0.5} - dimension_linear: {"type": "dimension_linear", "base": [x, y], "p1": [x1, y1], "p2": [x2, y2], "text": "100mm"} - block_reference: {"type": "block_reference", "block_name": "DOOR", "insert": [x, y], "scale": 1.0, "rotation": 0.0} |
| delete_entitiesB | Delete entities from a DXF file by handle list, or by layer/entity type filter. |
| execute_ezdxf_scriptB | Execute custom Python code using |
| export_drawing_to_svgC | Render DXF CAD drawing to vector SVG format for crisp browser viewing. |
| export_drawing_to_pngB | Render DXF CAD drawing to a high-resolution PNG image. |
| export_drawing_to_pdfB | Render and export DXF CAD drawing to PDF format. |
| generate_autocad_scrB | Generate an AutoCAD Script file (.scr) for batch automation inside AutoCAD. |
| generate_autocad_lispC | Generate an AutoLISP (.lsp) routine file for AutoCAD users.
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyze_cad_drawing | Prompt template for systematically analyzing a CAD drawing. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Most tools map to a distinct resource/action pair: layers, blocks, entities, texts, exports, and script generation. The main overlaps are query_drawing_entities vs list_blocks/extract_drawing_texts for INSERT/TEXT entities, and execute_ezdxf_script is a catch-all that could replace many tools, but the descriptions make the intended specializations reasonably clear.
Tool names overwhelmingly follow a snake_case verb_noun pattern: list_blocks, create_drawing, add_entities, delete_entities, export_drawing_to_pdf, generate_autocad_scr. Minor deviations like read_dxf_summary vs list_layers and the one-off execute_ezdxf_script keep it from being perfectly consistent.
At 15 tools, the set is at the upper edge of the well-scoped range, but each tool covers a distinct CAD workflow: create, inspect, modify, export, and generate automation scripts. There is no obvious bloat or redundancy.
The surface covers create, read, list, add, delete, and export operations well, but there is no direct entity update/modify tool, no layer deletion, and no block definition creation. execute_ezdxf_script can fill these gaps with custom code, but agents would need to fall back to a generic escape hatch for common editing tasks.