autocad-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": 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