CAD MCP Server
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
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| dxf_summaryA | Return a high-level overview of a DXF file. Includes DXF version, units, layer count, entity counts per type, block definitions, and drawing extents. |
| dxf_list_layersA | List all layers in a DXF file with their properties. Returns each layer's name, color, linetype, lineweight, and on/frozen state. |
| dxf_get_layer_entitiesB | Return all entities on a specific layer. |
| dxf_get_entities_by_typeB | Return all entities of a given DXF type (e.g. LINE, CIRCLE, TEXT, MTEXT). Optionally filter by layer name. |
| dxf_get_textA | Extract all TEXT and MTEXT entities from the drawing. Useful for reading annotations, labels, title blocks, and notes. |
| dxf_get_dimensionsA | Extract all DIMENSION entities from the drawing. Returns each dimension's measurement text, layer, and geometry points. |
| dxf_get_blocksA | List all named block definitions in the DXF file. Blocks are reusable symbol libraries (e.g. doors, valves, furniture). System blocks starting with * are excluded. |
| dxf_get_block_detailA | Return all entities inside a named block definition. |
| cad_create_editable_copyA | Make an editable .dxf copy of an original DXF or DWG file. The original is never modified. All edit tools then operate on the copy, in place — call them repeatedly to keep building on the same copy. DWG input is converted to DXF automatically (needs the ODA File Converter). |
| cad_add_lineA | Draw a line on the editable copy and save it in place. |
| cad_add_circleB | Draw a circle on the editable copy and save it in place. |
| cad_add_arcA | Draw an arc on the editable copy and save it in place. |
| cad_add_textB | Add a TEXT entity on the editable copy and save it in place. |
| cad_add_polylineB | Draw an LWPOLYLINE (connected line segments) on the copy and save it. |
| cad_add_layerA | Create a new layer on the editable copy and save it in place. |
| cad_delete_entityA | Delete a single entity by its handle from the editable copy. Get handles from any read tool (they include a "handle" field). |
| cad_export_dwgA | Convert an edited .dxf file to .dwg (needs the ODA File Converter). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
The read-only dxf_ tools and editing cad_ tools are cleanly separated, and most tools target a distinct resource (layers, blocks, text, dimensions). However, dxf_get_text and dxf_get_dimensions overlap with dxf_get_entities_by_type, and dxf_get_layer_entities partially overlaps with the layer filter available on dxf_get_entities_by_type.
Tool names consistently use a dxf_ or cad_ prefix to separate reading from editing, which is a clear pattern. Verb usage is a bit mixed—get, list, summary, create, delete, add, export—but the resource nouns are predictable and the pattern remains readable.
17 tools is slightly above the ideal 3-15 range but reasonable for a CAD server that supports both reading and editing. The count is justified by the variety of entity types and file operations, though a few read tools feel redundant.
The server covers core DXF/DWG inspection workflows—layers, blocks, entities, text, dimensions, summary—and basic editing via adding and deleting entities plus layer creation. Notable gaps include modifying existing entities, creating a drawing from scratch, and inserting blocks, but the main read-and-annotate workflow is well supported.