autocad-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| drawingA | Drawing file management. Operations: create — Create a new empty drawing. data: {name?} open — Open an existing drawing. data: {path} info — Get drawing extents, entity count, layers, blocks. save — Save current drawing. data: {path?} (saves to path if given, else QSAVE) save_as_dxf — Export as DXF. data: {path} plot_pdf — Plot to PDF. data: {path} purge — Purge unused objects. get_variables — Get system variables. data: {names: [...]} undo — Undo last operation. redo — Redo last undone operation. |
| entity | Entity creation, querying, and modification. Create operations: create_line — x1, y1, x2, y2, layer? create_circle — data: {cx, cy, radius}, layer? create_polyline — points: [[x,y],...], data: {closed?}, layer? create_rectangle — x1, y1, x2, y2, layer? create_arc — data: {cx, cy, radius, start_angle, end_angle}, layer? create_ellipse — data: {cx, cy, major_x, major_y, ratio}, layer? create_mtext — data: {x, y, width, text, height?}, layer? create_hatch — entity_id, data: {pattern?} Read operations: list — layer? → list entities count — layer? → count entities get — entity_id → entity details Modify operations: copy — entity_id, data: {dx, dy} move — entity_id, data: {dx, dy} rotate — entity_id, data: {cx, cy, angle} scale — entity_id, data: {cx, cy, factor} mirror — entity_id, x1, y1, x2, y2 offset — entity_id, data: {distance} array — entity_id, data: {rows, cols, row_dist, col_dist} fillet — data: {id1, id2, radius} chamfer — data: {id1, id2, dist1, dist2} erase — entity_id |
| layer | Layer creation and management. Operations: list — List all layers with properties. create — data: {name, color?, linetype?} set_current — data: {name} set_properties — data: {name, color?, linetype?, lineweight?} freeze — data: {name} thaw — data: {name} lock — data: {name} unlock — data: {name} |
| block | Block definition, insertion, and attribute management. Operations: list — List all block definitions. insert — data: {name, x, y, scale?, rotation?, block_id?} insert_with_attributes — data: {name, x, y, scale?, rotation?, attributes: {tag: value}} get_attributes — data: {entity_id} update_attribute — data: {entity_id, tag, value} define — data: {name, entities: [{type, ...}]} |
| annotationA | Annotation: text, dimensions, leaders, and automatic dimension workflows. Operations: create_text — data: {x, y, text, height?, rotation?, layer?} create_dimension_linear — data: {x1, y1, x2, y2, dim_x, dim_y} create_dimension_aligned — data: {x1, y1, x2, y2, offset} create_dimension_angular — data: {cx, cy, x1, y1, x2, y2} create_dimension_radius — data: {cx, cy, radius, angle} create_leader — data: {points: [[x,y],...], text} detect_parts — read-only geometry clustering; data: {source_layers?, gap_tolerance?, include_screenshot?} plan_dimensions — preview a plan without editing; data: {target_part_id?, entity_ids?, region?, region_mode?, selection?, use_current_selection?, source_layers?, profile?, dimension_layer?, include_overall?, include_features?, include_holes?, include_arcs?, include_centers?, clear_existing?} commit_dimension_plan — commit an approved plan; data: {plan_id, expected_revision, ...} auto_dimension — detect, plan, and commit in one request. It accepts target_part_id, entity_ids, region, region_mode, selection='current' or use_current_selection, source_layers, dimension_layer, profile, include_overall, include_features, include_holes, include_arcs, include_centers, clear_existing, include_screenshot. batch_create_dimensions — commit data.dimensions in one request, one Undo group, and one final Regen where the backend supports it. dimension_profiles — data: {action: list|get|save|delete, ...} audit_dimensions — read-only dimension quality audit; data: {profile?, dimension_layer?, include_screenshot?} repair_dimension_layout — apply a fresh audit's safe repairs; data: {audit_id, issue_ids?, spacing?} Automatic-dimension selectors are mutually exclusive: target_part_id, entity_ids, region, or selection='current'. Dimension results include created_count, dimension_types, selection_scope, scan counters, commit_engine, regen_count, and timings_ms when the backend can provide those values. Performance rule: when two or more dimensions are needed, use annotation_batch_create_dimensions or annotation_auto_dimension once. Do not call create_dimension_* repeatedly. Performance rule: pass region, entity_ids, or selection='current' whenever possible. After annotation_detect_parts, reuse geometry_cache_token together with target_part_id so the same full drawing is not exported twice. |
| pidB | P&ID drawing with CTO symbol library. Operations: setup_layers — Create standard P&ID layers. insert_symbol — data: {category, symbol, x, y, scale?, rotation?} list_symbols — data: {category} draw_process_line — data: {x1, y1, x2, y2} connect_equipment — data: {x1, y1, x2, y2} add_flow_arrow — data: {x, y, rotation?} add_equipment_tag — data: {x, y, tag, description?} add_line_number — data: {x, y, line_num, spec} insert_valve — data: {x, y, valve_type, rotation?, attributes?} insert_instrument — data: {x, y, instrument_type, rotation?, tag_id?, range_value?} insert_pump — data: {x, y, pump_type, rotation?, attributes?} insert_tank — data: {x, y, tank_type, scale?, attributes?} |
| view | Viewport control and screenshot capture. Operations: zoom_extents — Zoom to show all entities. zoom_window — Zoom to window: x1, y1, x2, y2 get_screenshot — Capture current view as PNG image. |
| system | Server status and management. Operations: status — Backend info, capabilities, health check. health — Quick health check (ping backend). get_backend — Return current backend name and capabilities. runtime — Return process/runtime details for spawn diagnostics. tool_manifest — Read-only registration, entrypoint, phase, and backend diagnostics. init — Re-initialize the backend. execute_lisp — Execute AutoLISP code (File IPC only). data: {code}. Remote profiles deny this unless AUTOCAD_MCP_ALLOW_EXECUTE_LISP=1 (and OAuth write scope when auth_mode=oauth). |
| annotation_detect_partsA | Cluster Model Space geometry and return part_1, part_2... with an indexed preview. Performance rule: pass region, entity_ids, or selection='current' whenever possible. After annotation_detect_parts, reuse geometry_cache_token together with target_part_id so the same full drawing is not exported twice. |
| annotation_plan_dimensionsD | Create or revise a D1/D2... plan; no AutoCAD entity is created. |
| annotation_commit_dimension_plan | Commit one approved plan exactly once; File IPC uses one AutoCAD UNDO group. |
| annotation_auto_dimensionA | Plan and immediately commit dimensions for one selected part/region/entity set. Performance rule: when two or more dimensions are needed, use annotation_batch_create_dimensions or annotation_auto_dimension once. Do not call create_dimension_* repeatedly. Performance rule: pass region, entity_ids, or selection='current' whenever possible. After annotation_detect_parts, reuse geometry_cache_token together with target_part_id so the same full drawing is not exported twice. |
| annotation_dimension_profiles | List/get/save/delete mechanical_mm, mechanical_inch, iso_simple or custom profiles. |
| annotation_audit_dimensionsA | Find duplicates, overlap, crossings, missing intent, detached refs and style errors. |
| annotation_repair_dimension_layoutC | Remove duplicates and fix safe layer/style/lane issues from a fresh audit. |
| annotation_batch_create_dimensionsA | Create two or more dimensions in one request and one Undo group. Use this instead of repeatedly calling annotation.create_dimension_*. data.dimensions accepts linear, diameter, radius, center, and text items in either plan-shaped form (geometry/placement) or compact coordinate form. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sontakmtp-cell/autocad-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server