Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

AutoCAD MCP

MCPB · AUTOCAD-MCP-1.2.0.MCPB

Let AI draw in AutoCAD: plans from images, KT/KC/NT sets, TCVN calc, quantities, sheets, PDF.

28 Trust /100

Last scanned (45 minutes ago)

Scores higher than 70% of MCPB servers

Deprecated

This server is marked deprecated in the MCP registry. The registry records this reason: Renamed to Construction AutoCAD MCP, io.github.2ez4gcx/construction-autocad-mcp.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency19
Schema Quality & AI Usability48
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 15270 tokens (~288/item across 53 items; 53 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage73
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 20% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 54 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 2 categories

Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1
    • Maintenance: unverified → pass ▲ functional
  • 3 Nov 26 27

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed mcpb/https://github.com/2ez4gcx/autocad-mcp/releases/download/v1.2.0/autocad-mcp-1.2.0.mcpb@1.2.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 53 exposed · ~14,526 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
attach_image ~231

Attach an image (scan/photo of a plan, a render, a SketchUp export) as a faded underlay to draw over, on layer X-IMAGE (not plotted), sent to the back. Scale: calibrate {p1:[px,py], p2:[px,py], distance} = two pixels of a known dimension and its real length in drawing units (best), or width (drawing units of the whole image width), or units_per_pixel. Position: anchor {pixel:[px,py], at:[x,y]} puts a pixel (e.g. grid A-1) on a drawing point, else the bottom-left corner at "at". Returns pixel_to_drawing (x = x0 + x1*px + x2*py, y likewise), used by draw_entities image_handle.

NameTypeReqDescription
anchor–––
at–––
calibrate–––
fadeinteger––
layerstring––
pathstringyes–
rotationnumber––
units_per_pixel–––
width–––

No output schema declared.

No examples provided.

check_drawing ~160

Drawing QA: stacked duplicates (they double quantities), polylines that look closed but are not, open polylines on area layers, Vietnamese/non-ASCII text in SHX styles (shows "?"), missing fonts, unresolved xrefs and images, objects on Defpoints (never plot), dimensions whose value was typed over, objects far from the rest (blow up zoom extents), tiny/empty objects, objects on layer 0, color/linetype/lineweight not ByLayer, objects on hidden layers, unitless drawing; plus layers outside the standard. Each issue has handles (first 20) to fix with set_properties/delete_entities.

NameTypeReqDescription
spacestring|null–all (default), model, paper or a layout name

No output schema declared.

No examples provided.

create_layout ~396

Create a sheet: a layout on ISO paper (A0-A4) for "DWG To PDF.pc3" with monochrome.ctb, a frame and title block (TCVN/ISO margins, 180 mm title block: company, project, client, drawing title, scale, date, drawn/checked by, drawing no., revision, sheet) and a locked viewport showing a model window at a standard scale (auto-fitted if scale is omitted). replace=true rebuilds a layout of the same name. Export with export_pdf.

NameTypeReqDescription
activateboolean–Leave the new layout open in AutoCAD (default: back to Model)
language–––
namestringyes–
orientationstring––
paperstring––
replaceboolean––
scale––100 = 1:100; default: largest standard scale that fits
title_block––{style: strip (vertical strip on the right, default on landscape A3-A0) | bottom, company, company_address, project, location, item, client, client_address, title, number (default: a field of the lay…
views––Several viewports on the sheet instead of window/scale, each a model window at its own scale (a plan at 1:50 and its details at 1:20): packed in rows left to right, bottoms aligned, the block centred…
window––Model area to show; default: drawing extents

No output schema declared.

No examples provided.

define_block ~138

Define (or with replace=true redefine) a block from entity specs (same format as draw_entities, relative to base). Contents go on layer 0 unless a layer is given, so each insert takes its own layer. attributes: [{tag, prompt?, default?, at, height, align?: center|middle_center, invisible?}]. Use blocks for repeated items (doors, furniture, fixtures, title marks); insert with draw_entities type=block.

NameTypeReqDescription
attributes–––
base–––
descriptionstring|null––
entitiesarrayyes–
namestringyes–
replaceboolean––

No output schema declared.

No examples provided.

delete_entities ~50

Delete entities by explicit handle (never by selection). One Undo step.

NameTypeReqDescription
handlesarrayyesEntity handles (hex strings like "2A7") from tool results; valid while the drawing is open.

No output schema declared.

No examples provided.

draw_beam_schedule ~199

Beam schedule (bảng mặt cắt dầm) of the structural set: for every beam type its section at the support (GỐI) and at midspan (NHỊP) with the slab flange, the slab level (FL), bars, stirrups and b/h dimensions, titled "DẦM D2.1 (220x400) - SL: 03". beams default to those of the draw_structure_plan calls of this session; or give beams [{name, b, h, count, level, slab, bars: {support: [{face, d, n}], span: [...]}, stirrup: {d, support, span}}]. Bars not given are preliminary (by depth) and reported as assumed.

NameTypeReqDescription
at–––
beams–––
dry_runboolean––
language–––
per_rowinteger––
scalenumber––

No output schema declared.

No examples provided.

draw_ceiling_plan ~591

Reflected ceiling plan (mặt bằng trần đèn): a copy of the plan at 1:50 without door leaves; per room the drop band along the walls (step line, LED cove dashed), downlights in the band about every spacing (a grid on flat ceilings), a ceiling lamp in the middle or a pendant over each dining table of draw_furniture_plan, level tags (code over level) for the band and the field, the room name; then the light legend with counts (remembered for material_schedule). Defaults by room name (reported in assumed): dry rooms FL-01 porcelain 600x600 centred, SK-01 skirting 100, WL-01 white paint, CL-01 suspended gypsum +3.000 (floors of 3.3 m: +2.800) with a 600 wide, 150 deep drop band and LED cove (flat in rooms narrower than 2.4 m); stairs FL-04 granite treads, no ceiling (stairwell); kitchens the same plus WL-03 backsplash tiles between the base and wall cabinets; WC/bathrooms FL-02 anti-slip 300x300, WL-02 wall tiles 300x600 to the ceiling, CL-02 moisture-resistant gypsum +3.000 flat; yards/balconies FL-03 outdoor tiles, no ceiling.

NameTypeReqDescription
dry_runboolean–List the ceilings it would assume per room, without drawing
floor––Floor of a building (name or number from 1)
language–––
legendboolean––
modestring–finish = ceiling finish plan (materials, levels, step widths; no lights), lighting = lighting layout (lights and legend; no level tags), both = one reflected ceiling plan
notes––General notes of the sheet (GHI CHÚ): true = the standard ones for this kind of plan, a list = these, false = none
offset–––
plan–––
rooms––[{room: "PHÒNG NGỦ 1", floor: {code, description, pattern: tile|plank|none|<hatch>, size: [600, 600], start: center|corner|[x,y], angle}, skirting: {code, description, height} | null, wall: {code, de…
scalenumber––
spacingnumber––
titlestring|null––

No output schema declared.

No examples provided.

draw_cover_sheet ~180

Cover sheet of a set (tờ bìa): "HỒ SƠ BẢN VẼ <set>" large, the phase, then project, item, client, design consultant, contractor, location and date, framed. set: KIẾN TRÚC, KẾT CẤU, NỘI THẤT... Put it on its own sheet before the drawing list.

NameTypeReqDescription
at–––
clientstring|null––
companystring|null––
contractorstring|null––
datestring|null––
itemstring|null––
language–––
locationstring|null––
phasestring|null––
projectstring|null––
scalenumber––
setstringyes–

No output schema declared.

No examples provided.

draw_door_schedule ~156

Door and window schedule of the architectural set (bảng thống kê cửa đi, cửa sổ) from the plan of draw_plan: every type (by tag, kind and size, on every floor) drawn in elevation with its frame, leaves and opening direction (dashed lines meet on the hinge side), glazing, width / height / sill dimensions, its tag and count, then the table: tag, kind, W x H, sill, count by floor, description. materials {tag: description} replaces the default descriptions (listed as assumed).

NameTypeReqDescription
at–––
dry_runboolean––
language–––
materials–––
plan–––
scalenumber––

No output schema declared.

No examples provided.

draw_drawing_list ~144

Drawing list (danh mục bản vẽ) of the set in this drawing: a table of its sheets (number, title, scale, paper). sheets default to the layouts create_layout made in this drawing in this session; or give sheets [{number, title, scale, paper, note}]. item names the set (KIẾN TRÚC, KẾT CẤU, NỘI THẤT). Put it on the first sheet of the set (e.g. KT-00).

NameTypeReqDescription
at–––
itemstring|null––
language–––
scalenumber––
sheets–––

No output schema declared.

No examples provided.

draw_elevation ~480

Draw elevations derived from the plan of draw_plan (same walls, openings, columns, grids), so they always agree: the nearest walls and columns win, roofs and columns hide what is behind them, doors and windows with frames, plinth line, ground line with earth hatch, roofs (gable end or eaves side), level marks, height dimensions, grid bubbles with spacing, title "MẶT ĐỨNG TRỤC 1-3". sides: plan sides the viewer stands on (bottom = front at the bottom of the plan). Several sides are placed side by side to the right of the drawing unless at is given (left end of the facade at ±0.000). Decorative details seen in a photo (mouldings, gable ornaments) can be added with draw_entities. heights {ground: -450 (outside ground, mm from the finished floor ±0.000), top: 3600 (top of walls / eaves), door_head: 2400, window_sill: 900, window_head: 2400, slab: 100, foundation: {depth: 1500, width: 900, height: 350, lean: 100}, walls_to_roof: end|all (walls across the ridge rise to the roof: gable ends only, or every one = tường thu hồi)}; per opening: sill, head; per wall: height. roofs [{type: gable|flat, ridge: x|y (direction of the ridge in plan), pitch (deg), overhang, thickness, base (eaves level, default heights.top), parapet (flat), region [[x0,y0],[x1,y1]] (default: the whole building)}] - several parts for e.g. a porch gable in front of the main roof.

NameTypeReqDescription
at–––
dry_runboolean–List the heights/roof defaults it would assume, without drawing
heights–––
language–––
plan––Plan description (as draw_plan); default: the last one drawn
roofs–––
scale–––
sidesarray––
titles––{bottom: "MẶT ĐỨNG CHÍNH", ...} to replace the automatic titles

No output schema declared.

No examples provided.

draw_entities ~650

Draw a batch of entities in one Undo step (if one spec is invalid nothing is drawn and the error names it). Missing layers are created (standard layers with their standard properties). Returns each entity's handle and the bounds. Each entity: {type, layer, color?, linetype?, lineweight?, ...}. Types and fields (points [x,y], angles in degrees): - line {from, to} or {points:[...]} (one line per segment) - polyline {points, closed?, bulges? (per vertex, arc segments), width? (symbols only, never for walls)} - rectangle {from, to} or {corner, width, height, rotation?} - circle {center, radius|diameter}; arc {center, radius, start_angle, end_angle} or {start, mid, end} - ellipse {center, major_axis:[dx,dy], ratio, start_angle?, end_angle?}; spline {points, closed?}; point {at} - text {at, text, height, rotation?, align (left|center|right|middle|top_left|...|bottom_right), style?} - mtext {at, text (\n = new line), height, width?, align (default top_left), style?} - hatch {boundary:[pts] | boundaries:[[pts],[island]...] | boundary_handles, pattern (SOLID, ANSI31, ANSI37, AR-CONC, AR-SAND, AR-BRSTD, AR-PARQ1, AR-B816, NET, DOTS, GRAVEL, EARTH...), scale, angle} - dimension {kind: linear|aligned|angular|radius|diameter, from, to, at (point on the dimension line) or offset, direction (horizontal|vertical|aligned|angle, linear), text? ("<>" = measured), style?}; angular {center, from, to, at}; radius/diameter {center, radius, angle} - dim_chain {points (measured points), direction, at or offset, total? (adds the overall dimension), style?} - leader {points (arrow first, text last), text, height?} - block {name, at or points:[...] (several copies), scale?, rotation?, attributes?:{TAG: value}, file? (.dwg to load the block from), redefine?} - table {at (top-left), rows:[[...],...], title?, col_widths?, row_height?, height?} Text heights are in drawing units: paper height x scale (2.5 mm at 1:100 = 250). Use style "MCP-ARIAL" for Vietnamese text. image_handle: points (and radi…

NameTypeReqDescription
entitiesarrayyes–
image_handlestring|number|null––
language–––
spacestring–model (default) or the current space (a layout when one is active)

No output schema declared.

No examples provided.

draw_finish_quantities ~291

Architectural finish quantities (bảng khối lượng hoàn thiện kiến trúc) of the building of draw_plan, floor by floor, for the architectural set: floor tiles by finish, wall tiles (toilets, kitchen backsplash), skirting; skim coat and paint of the inner walls, the outer walls (faces with no room on their side, the plinth, parapets) and the ceilings (gypsum, concrete soffits); gypsum ceilings; waterproofing of toilets, balconies and the roof terrace (300 up the walls), screed to falls, the tower roof; stair granite (treads, landings, risers), stair and balcony railings; doors and windows by type (sets and m²). The rooms and finishes are those of the interior tools (material_schedule, the same defaults by room name, the finishes given there in this session). Drawn as a table with the quantity of every floor (diễn giải); csv_path writes it for Excel. Masonry and plaster are in the structural bill (draw_quantity_schedule).

NameTypeReqDescription
at–––
csv_formatstring––
csv_pathstring|null––
drawboolean––
language–––
plan–––
scalenumber––
xlsx_pathstring|null–Excel workbook: the quantity of every floor, the total as their sum

No output schema declared.

No examples provided.

draw_floor_finish_plan ~519

Floor finish plan (mặt bằng lát sàn): a copy of the plan at 1:50 with the real tile or plank joints of each room (tiles centred in the room by default, or from a start point; planks staggered by a third), kept clear of the room names, a code tag under each name and the legend (finish, swatch at the real size, area m² and rooms). Defaults by room name (reported in assumed): dry rooms FL-01 porcelain 600x600 centred, SK-01 skirting 100, WL-01 white paint, CL-01 suspended gypsum +3.000 (floors of 3.3 m: +2.800) with a 600 wide, 150 deep drop band and LED cove (flat in rooms narrower than 2.4 m); stairs FL-04 granite treads, no ceiling (stairwell); kitchens the same plus WL-03 backsplash tiles between the base and wall cabinets; WC/bathrooms FL-02 anti-slip 300x300, WL-02 wall tiles 300x600 to the ceiling, CL-02 moisture-resistant gypsum +3.000 flat; yards/balconies FL-03 outdoor tiles, no ceiling.

NameTypeReqDescription
dry_runboolean–List the finishes it would assume per room, without drawing
floor––Floor of a building (name or number from 1)
language–––
legendboolean––
notes––General notes of the sheet (GHI CHÚ): true = the standard ones for this kind of plan, a list = these, false = none
offset–––
plan–––
rooms––[{room: "PHÒNG NGỦ 1", floor: {code, description, pattern: tile|plank|none|<hatch>, size: [600, 600], start: center|corner|[x,y], angle}, skirting: {code, description, height} | null, wall: {code, de…
scalenumber––
titlestring|null––

No output schema declared.

No examples provided.

draw_furniture_plan ~645

Furniture layout plan (mặt bằng bố trí nội thất): a copy of the plan of draw_plan at 1:50 (walls, doors, windows, grids, dimensions, room names) to the right of the drawing (or at offset), with the furniture and joinery from the library and their code tags, and elevation keys (A top, B right, C bottom, D left) for the interior elevations. copy=false draws the items on the plan itself. Place an item with room + wall (A/B/C/D or top/right/bottom/left: its back against that wall) + offset from the left end of the wall seen from inside (default centred) + gap, or at (middle of its back edge) + facing (degrees the front faces), or center + facing (freestanding, e.g. a dining table). width/depth/height override the type size; code (default per type, e.g. FN-01 bed), description; kitchen_base takes sink and hob (x from its left end) and modules [{w, type: door|doors|drawers|sink|open|appliance}]; kitchen_wall/hood take z0 (underside). The items are remembered for draw_interior_elevation, draw_ceiling_plan (pendants over tables), draw_joinery_detail and material_schedule. Types (w x d x h): bed (1600x2000x450), nightstand (450x400x500), wardrobe (1600x600x2400), sofa (2100x850x800), armchair (850x850x800), coffee_table (1100x600x420), tv_cabinet (1800x400x450), dining_table (1600x900x750), chair (450x450x850), desk (1200x600x750), kitchen_base (2400x600x850), kitchen_wall (2400x350x700), hood (700x480x650), fridge (700x700x1800), washer (600x600x850), toilet (400x700x400), vanity (800x500x850), shower (900x900x2000), bathtub (1600x750x550), shoe_cabinet (1000x350x1000), altar (1530x610x1270), bookshelf (800x300x2000).

NameTypeReqDescription
copyboolean––
dry_runboolean–Resolve the items and list the sizes/codes/positions it would assume, without drawing
elevation_keys––Rooms that get an elevation key: names, or {room, at}
floor––Floor of a building (name or number from 1)
itemsarrayyes–
language–––
notes––General notes of the sheet (GHI CHÚ): true = the standard ones for this kind of plan, a list = these, false = none
offset–––
plan–––
scalenumber––
tagsboolean––
titlestring|null––

No output schema declared.

No examples provided.

draw_interior_elevation ~570

Interior elevations (triển khai mặt đứng nội thất) of the walls of one room, seen from inside, side by side: cut end walls, floor slab and ceiling (the drop band cut at the ends), the doors and windows of the wall (from the plan), the furniture and joinery of draw_furniture_plan backed on it (front view) and along the side walls (side view), wall finish joints (tiles, panels), kitchen backsplash between base and wall cabinets, skirting, width and height dimension chains, material notes with leaders (codes + descriptions), title "MẶT ĐỨNG A - <room>". walls: A top, B right, C bottom, D left (as in plan). Defaults by room name (reported in assumed): dry rooms FL-01 porcelain 600x600 centred, SK-01 skirting 100, WL-01 white paint, CL-01 suspended gypsum +3.000 (floors of 3.3 m: +2.800) with a 600 wide, 150 deep drop band and LED cove (flat in rooms narrower than 2.4 m); stairs FL-04 granite treads, no ceiling (stairwell); kitchens the same plus WL-03 backsplash tiles between the base and wall cabinets; WC/bathrooms FL-02 anti-slip 300x300, WL-02 wall tiles 300x600 to the ceiling, CL-02 moisture-resistant gypsum +3.000 flat; yards/balconies FL-03 outdoor tiles, no ceiling.

NameTypeReqDescription
at–––
dry_runboolean–List the finishes and items it would show per wall, without drawing
floor––Floor of a building (name or number from 1)
items––Furniture as in draw_furniture_plan; default: the items of the last draw_furniture_plan
language–––
plan–––
roomstringyes–
rooms––[{room: "PHÒNG NGỦ 1", floor: {code, description, pattern: tile|plank|none|<hatch>, size: [600, 600], start: center|corner|[x,y], angle}, skirting: {code, description, height} | null, wall: {code, de…
scalenumber––
wallsarray––

No output schema declared.

No examples provided.

draw_joinery_detail ~367

Joinery shop drawing (chi tiết đồ gỗ) at 1:10: kind kitchen (base cabinets with plinth, carcass, doors/drawers, stone top; backsplash; wall cabinets) or wardrobe (plinth, doors, top boxes): front elevation with the modules, hinge side dashed, handles, module and height dimension chains and section mark 1-1; section 1-1 through the carcass (panels 17 mm, back 8 mm, shelves, door, plinth, countertop, wall cabinet) with dimensions and material notes. item: the code of a kitchen_base or wardrobe of draw_furniture_plan takes its width, modules, sink and hob (and the kitchen_wall of the same room). materials {carcass, door, back, top, plinth, backsplash, rod, handle} replace the default specifications (reported in assumed).

NameTypeReqDescription
at–––
base–––
depth–––
dry_runboolean–List the sizes and materials it would assume, without drawing
height–––
hobnumber|null––
hood––{x, w: 700, h: 650, z0: 1600} cooker hood between the wall cabinets
itemstring|null––
kindstring––
language–––
materials–––
modules–––
namestring|null––
panel–––
scalenumber––
sinknumber|null––
wall–––
wall_runs––[{x (from the left of the base run), w, modules}] wall cabinet runs; default one over the whole run
width–––

No output schema declared.

No examples provided.

draw_plan ~1,206

Draw a complete floor plan in one Undo step from a plan description in mm (read from an image, a sketch or a 3D model): - walls: [{id?, points:[[x,y],...] (wall AXIS), thickness (200), justify: center|left|right (side of the axis, looking along it), closed?, material: brick|concrete|block|light|stone|solid|none}] -> clean L/T/X junctions (wall pieces are unioned), cut outline on A-WALL 0.5, material hatch on A-WALL-PATT - openings: [{wall (id or index), segment (0 = first axis segment), offset (from the segment start to the opening edge) or at (centre point), width, type: door|double_door|sliding|window|opening, toward:[x,y] (point the door swings to, e.g. inside the room) or side: left|right, hinge: start|end, tag? ("D1"), tag_at? (tag position when the automatic one collides)}] -> wall cut, leaf + swing arc, window lines; door tags go opposite the swing, window tags outside - columns: [{at, size:[w,h] or diameter, rotation?, pattern?}] and/or grid_columns {size} (a column at every grid intersection): cut out of the walls, solid hatch - grids: {x:[0, 6000, ...] or [{at, label}], y:[...], bubbles: both|start|end} -> axes 1,2,3 (x) and A,B,C (y) - rooms: [{name, at (point inside), number?, hatch?:{pattern, scale}}] -> area MEASURED from the walls, label "name / xx,xx m²" on A-ANNO-ROOM, closed boundary on A-AREA (not plotted). A room not closed by walls gets a warning; unlabelled_spaces lists closed spaces without a room. - stairs: [{start (middle of the first tread edge), direction (deg, 90 = up the page), width, treads, going, label?}] or U stairs [{type: "u", region: [[x0,y0],[x1,y1]] (stairwell), direction: up|down|left|right (flight 1 going up), turn: left|right (side of flight 2), gap: 100, risers?}] -> two flights, half landing, treads, LÊN/XUỐNG walking lines, cut line - balconies: [{region (slab outside the walls), railing: 1100}] -> slab edge and railing - floors (a building of several storeys): [{name, height (3600 ground floor, 3300 above), level?, walls…

NameTypeReqDescription
balconies–––
columns–––
dimensions–––
dry_runboolean–Check the description and list the defaults it would assume, without drawing
entities–––
floors––Several storeys: see floors above
grid_columns–––
grids–––
hatch_wallsboolean––
heights––For draw_elevation/draw_section, see there
interior_dimensionsboolean–Interior chains through every room (not the stairwells): wall face to wall face across the building, one each way, clear of the room name and moved aside from openings
language–––
layers–––
levels–––
north–––
openings–––
roofs––For draw_elevation/draw_section, see there
room_options––{decimals: 2, decimal_separator: "," (vi) or ".", boundary: true, text_height: 2.5 (paper mm)}
rooms–––
scalenumber––
sections–––
stairs–––
wall_materialstring|null––
wall_thickness–––
walls–––

No output schema declared.

No examples provided.

draw_quantity_schedule ~328

Bar schedule of the whole structural set (bảng thống kê cốt thép: footings, columns, ground beams and the beams of every slab with the bars and stirrups of structural_calc, slabs and stairs by the detailing rules; bars, lengths with laps and anchorage, weights by d²/162 as table formulas, totals per diameter) and the bill of quantities (bảng tổng hợp khối lượng vật tư: lean concrete, concrete and formwork of the footings, column stubs, ground beams, columns storey by storey, beams, slabs and stairs; steel by grade; brick walls by thickness in m² (and m³) less the openings; plaster inside, outside and of the soffits), each with how it is made up (diễn giải). Uses the last structural_calc of this session, else runs it with its defaults. The bar schedule flows in columns over pages (page_height mm, per_page columns), each page and the bill drawn apart for their own sheets (returned bounds); csv_path writes both for Excel. For estimating: the quantity surveyor checks them against the final drawings.

NameTypeReqDescription
csv_formatstring––
csv_pathstring|null––
language–––
page_heightnumber––
per_pageinteger––
plan–––
scalenumber––
xlsx_pathstring|null–Excel workbook with live formulas: the calculation (parameters, loads, beams, columns and footings), the bar schedule and the bill of quantities

No output schema declared.

No examples provided.

draw_roof_plan ~191

Roof plan of the architectural set (mặt bằng mái) from the plan of draw_plan, for flat roofs: a copy of the top floor plan with its walls (the parapets and the stair tower) at the plan scale with its grids and dimensions, the roof of the stair tower hatched, the roof terrace, floor drains with falls (i=2%) and rainwater pipes, the levels of the terrace, the parapet top and the tower roof, names and notes (waterproofing, screed to falls, pipes).

NameTypeReqDescription
fallnumber––
language–––
notes––General notes of the sheet (GHI CHÚ): true = the standard ones for this kind of plan, a list = these, false = none
offset–––
plan–––
scalenumber––
titlestring|null––

No output schema declared.

No examples provided.

draw_section ~508

Draw a section derived from the plan of draw_plan along a cut line (from/to, looking to its left or right like the plan's section mark, or mark: the label of a section drawn by draw_plan): walls cut (heavy outline + brick hatch) with the openings they cross and concrete lintels, footings with lean concrete, floor slab and fill, the roof cut (gable profile, eaves band or flat slab with parapets), walls/doors/windows seen beyond in thin lines, room names, level marks, height dimensions, grid bubbles, title "MẶT CẮT A-A". Footings are drawn as a typical section (sizes from heights.foundation), not a design. heights {ground: -450 (outside ground, mm from the finished floor ±0.000), top: 3600 (top of walls / eaves), door_head: 2400, window_sill: 900, window_head: 2400, slab: 100, foundation: {depth: 1500, width: 900, height: 350, lean: 100}, walls_to_roof: end|all (walls across the ridge rise to the roof: gable ends only, or every one = tường thu hồi)}; per opening: sill, head; per wall: height. roofs [{type: gable|flat, ridge: x|y (direction of the ridge in plan), pitch (deg), overhang, thickness, base (eaves level, default heights.top), parapet (flat), region [[x0,y0],[x1,y1]] (default: the whole building)}] - several parts for e.g. a porch gable in front of the main roof.

NameTypeReqDescription
at–––
beam_depth––Depth of the beams drawn under the slabs on the cut walls (default heights.beam or 300; 0 = none)
dry_runboolean–List the heights/roof/foundation defaults it would assume, without drawing
from–––
heights–––
labelstring|null––
language–––
lookstring––
markstring|null–Label of a section mark of the plan (e.g. "A"): its from/to/look are used
plan–––
roofs–––
scale–––
titlestring|null––
to–––

No output schema declared.

No examples provided.

draw_stair_detail ~305

Stair detail sheet of the architectural set (chi tiết cầu thang) for a U stair of the plan of draw_plan: the stair plan on each kind of floor (start, typical floors grouped, arrival) with the walls around it, the treads numbered, run / landing / width dimensions (n x going), floor and landing levels, grids and the section mark 1-1; section 1-1 along the flights (cut flight with its RC waist slab and landing, the flight beyond, floor slabs and walls cut, handrails with balusters, riser dimensions n x riser per flight, floor heights, levels); the build-up notes of treads and landing with 2h + b; and the tread and handrail detail (granite, mortar, brick steps, waist slab, plaster, handrail, balusters) at detail_scale, drawn apart: put the two parts on one sheet with create_layout views [{window: main, scale}, {window: detail, scale: detail_scale}].

NameTypeReqDescription
at–––
detail_scalenumber––
dry_runboolean––
finishnumber––
landingnumber––
language–––
plan–––
railnumber––
scalenumber––
stairinteger–which U stair of the floor where stairs start (0 = the first)
waistnumber––

No output schema declared.

No examples provided.

draw_structure_detail ~643

Draw a reinforced-concrete detail at a detail scale (default 1:20 sections, 1:25 beams/footings) on the structural layers (S-CONC, S-REBR, S-REBR-STIR, S-ANNO-*): concrete outline, bars and stirrups with 135° hooks, bar marks with leaders, dimensions, levels, title. Sizes and reinforcement must come from the user or the structural design (this tool computes no strength: draw what the engineer specifies, or label values as typical/to be checked). Returns the bar schedule rows (length, count) for rebar_schedule; schedule=true also draws the table next to the detail. Warns when bars in one row do not fit the clear spacing. kind=section: rectangular RC cross-section {b, h, cover: 25, groups: [{face: bottom|top|bottom2|top2|corners|sides|left|right, d, n, mark}], stirrup: {d, spacing, mark} (null = none), label: "1-1"}; kind=beam: beam along its spans {spans: [axis-to-axis], support: column width, b, h, cover, bottom {d, n, mark}, top {d, n, mark}, extra_top {d, n, mark, ratio: 0.25} (support bars over ratio x span), stirrup {d, end: 100, mid: 200, zone: 0.25, mark}, axes: labels, name, count: identical members} with sections 1-1 / 2-2; kind=footing: pad footing section {B, L, H, edge (sloped when < H), cover: 50, lean: 100, depth (bottom below ±0.000), ground, mesh {d, spacing, mark}, column {b, top, bars {d, n, mark}, ties {d, spacing, mark}}, name, count}.

NameTypeReqDescription
Bnumber|null––
Hnumber|null––
Lnumber|null––
at–––
axes–––
bnumber|null––
bottom–––
column–––
count–––
covernumber|null––
depthnumber|null––
dry_runboolean–List the sizes/bars it would assume and the schedule rows, without drawing
edgenumber|null––
extra_top–––
groundnumber|null––
groups–––
hnumber|null––
kindstringyes–
labelstring|null––
language–––
leannumber|null––
mesh–––
namestring|null––
scale–––
scheduleboolean––
spans–––
stirrup–––
supportnumber|null––
titlestring|null––
top–––

No output schema declared.

No examples provided.

draw_structure_notes ~216

Structural general notes (ghi chú chung kết cấu) as tables: materials (concrete B20/B15/B7.5, steel CB240-T / CB300-V), concrete cover by member, anchorage and lap lengths by diameter, typical lintels by span, and numbered notes (codes, laps, formwork, preliminary sizes). TCVN 5574:2018 defaults, every value can be given: concrete {main, minor, lean, steel_small, steel_large}, cover {footing, ground_beam, column, beam, slab, lintel}, laps {anchor_tension, anchor_compression, lap_tension, lap_compression} (multiples of d), lintels (rows), notes (lines). Defaults are listed as assumed.

NameTypeReqDescription
at–––
concrete–––
cover–––
dry_runboolean––
language–––
laps–––
lintels–––
notes–––
scalenumber––

No output schema declared.

No examples provided.

draw_structure_plan ~410

Structural framing plan of one slab (mặt bằng kết cấu dầm sàn) from the plan of draw_plan, for the structural set (its own drawing: new_drawing first): beams along the load-bearing walls of the floor below (walls of 150 mm and more; thinner partitions stand on the slab), named per slab (D2.1, D2.2 ... for the slab of floor 2, DM.1 ... for the roof) with b x h and their count, columns at the wall nodes, the slab thickness, lowered slabs (wet rooms, balconies -50) hatched, stair openings crossed, grids with bubbles and dimensions, title "MẶT BẰNG KẾT CẤU SÀN <floor> (+level)". Sizes are preliminary (h = span/12 rounded up to 50, 300-700; b = wall thickness) and reported as assumed: the structural engineer designs them; give beam {b, h} and column {size} to use theirs. The beams are remembered for draw_beam_schedule.

NameTypeReqDescription
at–––
beam––{b, h, min_wall: 150}
column––{size: [b, h]}
dry_runboolean–List the beams, columns and sizes it would assume, without drawing
floor––The slab: floor number from 2 or name (its floor slab), "roof" (over the top floor; default for a one-floor plan), or "foundation" (pad footings under the columns, ground beams GM under the ground fl…
footing––Foundation plan: {B, L, depth} of the pad footings M1 (default 1200 x 1200, depth heights.foundation.depth or 1500)
language–––
plan–––
prefixstring|null––
scalenumber––
slab–––

No output schema declared.

No examples provided.

draw_wall_finish_plan ~541

Wall finish plan (mặt bằng hoàn thiện tường): a copy of the plan at 1:50; along the inside face of every wall of a room a band of its finish (one line for paint, two lines with the tile joints for tiles), broken at the doors and windows, the kitchen splashback behind the base cabinets of draw_furniture_plan, a code tag per room with the tiling height, the legend with the area of each wall finish (openings and splashback deducted) and the general notes. Defaults by room name (reported in assumed): dry rooms FL-01 porcelain 600x600 centred, SK-01 skirting 100, WL-01 white paint, CL-01 suspended gypsum +3.000 (floors of 3.3 m: +2.800) with a 600 wide, 150 deep drop band and LED cove (flat in rooms narrower than 2.4 m); stairs FL-04 granite treads, no ceiling (stairwell); kitchens the same plus WL-03 backsplash tiles between the base and wall cabinets; WC/bathrooms FL-02 anti-slip 300x300, WL-02 wall tiles 300x600 to the ceiling, CL-02 moisture-resistant gypsum +3.000 flat; yards/balconies FL-03 outdoor tiles, no ceiling.

NameTypeReqDescription
dry_runboolean–List the wall finishes it would assume per room, without drawing
floor––Floor of a building (name or number from 1)
language–––
legendboolean––
notes––General notes of the sheet (GHI CHÚ): true = the standard ones for this kind of plan, a list = these, false = none
offset–––
plan–––
rooms––[{room: "PHÒNG NGỦ 1", floor: {code, description, pattern: tile|plank|none|<hatch>, size: [600, 600], start: center|corner|[x,y], angle}, skirting: {code, description, height} | null, wall: {code, de…
scalenumber––
titlestring|null––

No output schema declared.

No examples provided.

drawing_info ~58

Overview of the open drawing: file, units (INSUNITS), extents, current layer/text style/dimension style/DIMSCALE, model-space entity counts by type, number of layers/blocks/xrefs, layouts, text and dimension styles.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

export_pdf ~164

Plot to PDF with DWG To PDF.pc3: layouts (names, ["all"], or default the current one) become pages of one PDF; layouts on different paper sizes give one PDF per size (<name>_A1.pdf, <name>_A3-portrait.pdf: see pdfs). For "Model": paper, orientation, window (default extents) and scale (default fit). monochrome.ctb unless plot_style is given. Plotting can take ~30 s on machines whose default Windows printer is an unreachable network printer.

NameTypeReqDescription
layouts–––
orientationstring––
paperstring––
pathstringyes–
plot_stylestring|null––
scale–––
window–––

No output schema declared.

No examples provided.

import_drawing ~154

Insert a DWG/DXF file into the drawing as a block (or exploded): e.g. a 2D export of a SketchUp/Revit plan, section or elevation to clean up and annotate, a standard detail, a site plan. layer_prefix renames the file's layers (e.g. "X-SU-") so they do not mix with yours. Check the size afterwards (units of the source).

NameTypeReqDescription
at–––
block_namestring|null––
explodeboolean––
layerstring|null––
layer_prefixstring|null––
pathstringyes–
rotationnumber––
scalenumber––

No output schema declared.

No examples provided.

install_autocad_bridge ~99

Install (or update) the "ACAD MCP Bridge" add-in so the other tools can connect: copies AcadMcpBridge.bundle into %APPDATA%/Autodesk/ApplicationPlugins, which AutoCAD 2021-2024 loads at startup (restart AutoCAD afterwards; the first time AutoCAD may ask to load an unsigned file: choose "Always load"). dry_run=true only reports.

NameTypeReqDescription
dry_runboolean––

No output schema declared.

No examples provided.

list_blocks ~39

List block definitions with their reference counts (dynamic blocks included), attribute tags, xref paths. Sorted by count.

NameTypeReqDescription
include_unusedboolean––

No output schema declared.

No examples provided.

list_layers ~39

List layers: name, color, linetype, lineweight, on/frozen/locked/plot, description and number of entities (all spaces).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

material_schedule ~499

Finish and material schedule (bảng thống kê vật liệu hoàn thiện): floors and ceilings in m² from the room outlines, skirting in m (door widths deducted), walls in m² (perimeter x height to the ceiling, openings deducted), kitchen backsplash, furniture/joinery/sanitary/equipment by count (draw_furniture_plan) and lights (draw_ceiling_plan); one row per code with its rooms. Draws a table (default right of the drawing) and csv_path saves it for Excel. Defaults by room name (reported in assumed): dry rooms FL-01 porcelain 600x600 centred, SK-01 skirting 100, WL-01 white paint, CL-01 suspended gypsum +3.000 (floors of 3.3 m: +2.800) with a 600 wide, 150 deep drop band and LED cove (flat in rooms narrower than 2.4 m); stairs FL-04 granite treads, no ceiling (stairwell); kitchens the same plus WL-03 backsplash tiles between the base and wall cabinets; WC/bathrooms FL-02 anti-slip 300x300, WL-02 wall tiles 300x600 to the ceiling, CL-02 moisture-resistant gypsum +3.000 flat; yards/balconies FL-03 outdoor tiles, no ceiling.

NameTypeReqDescription
at–––
csv_formatstring––
csv_pathstring|null––
drawboolean––
floor––One floor of a building; default: every floor (rooms listed as "<floor>: <room>")
language–––
plan–––
rooms––[{room: "PHÒNG NGỦ 1", floor: {code, description, pattern: tile|plank|none|<hatch>, size: [600, 600], start: center|corner|[x,y], angle}, skirting: {code, description, height} | null, wall: {code, de…
scalenumber––

No output schema declared.

No examples provided.

new_drawing ~38

Create a new drawing from a template (default acadiso.dwt, metric) and make it current.

NameTypeReqDescription
templatestring|null––

No output schema declared.

No examples provided.

open_drawing ~54

Open a .dwg/.dxf file in AutoCAD (or switch to it if already open). Handles from another drawing are not valid there.

NameTypeReqDescription
pathstringyes–
read_onlyboolean––

No output schema declared.

No examples provided.

ping ~26

Check the connection to AutoCAD: AutoCAD version, open drawing, bridge and server versions.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

purge_drawing ~79

Purge unused layers, blocks, linetypes, text and dimension styles, registered apps (repeats for nested items). Standard layers are kept even when empty (keep_standard_layers). dry_run=true only lists what would go.

NameTypeReqDescription
dry_runboolean––
keep_layers–––
keep_standard_layersboolean––

No output schema declared.

No examples provided.

quantity_takeoff ~327

Quantity takeoff of the drawing (QS): per layer (or per block / type): count, length in m (lines, arcs, polylines, circles, splines), area in m² of closed polylines/circles/regions, hatch area in m² (separate, never add both), block counts, and for group_by=block the tally of attribute values. Filters as query_entities; selection_only uses the user's selection. csv_path saves the table for Excel (UTF-8).

NameTypeReqDescription
block_names––Block names (wildcards) for INSERTs
csv_formatstring–semicolon = ";" separators and decimal commas, for Excel with Vietnamese/European regional settings
csv_pathstring|null–Optional CSV file, e.g. 'D:/QS/plan_takeoff.csv'
group_bystring––
handles–––
language–––
layers––Layer names, * and ? wildcards (e.g. ["A-WALL*"])
selection_onlyboolean––
spacestring|null–model (default), paper, all, current, or a layout name
text_containsstring|null––
types––DXF types: LINE, LWPOLYLINE (or polyline), CIRCLE, ARC, TEXT, MTEXT, INSERT (or block), HATCH, DIMENSION, MULTILEADER, IMAGE...
window––[[x1,y1],[x2,y2]]
window_modestring––

No output schema declared.

No examples provided.

query_entities ~263

Find entities and read their geometry: handle, type, layer, and per type: line from/to/length, polyline points/closed/length/area, circle/arc center/radius, text/mtext content/position/height, block name/position/rotation/scale/attributes, hatch pattern/area, dimension measurement. Filters combine (AND). detail=true adds polyline points, styles and bounds. Paged by limit/offset.

NameTypeReqDescription
block_names––Block names (wildcards) for INSERTs
detailboolean––
handles–––
layers––Layer names, * and ? wildcards (e.g. ["A-WALL*"])
limitinteger––
offsetinteger––
spacestring|null–model (default), paper, all, current, or a layout name
text_containsstring|null––
types––DXF types: LINE, LWPOLYLINE (or polyline), CIRCLE, ARC, TEXT, MTEXT, INSERT (or block), HATCH, DIMENSION, MULTILEADER, IMAGE...
window––[[x1,y1],[x2,y2]]
window_modestring––

No output schema declared.

No examples provided.

rebar_schedule ~168

Bar schedule (bảng thống kê cốt thép): rows [{mark, shape, d (mm), length (mm per bar), n (bars per member), members}] (e.g. the schedule_rows of draw_structure_detail, several details combined) -> total bars, total length (m) and weight (d²/162 kg/m) per row, per diameter and overall. Draws it as a table at "at" (top-left, default right of the drawing) unless draw=false; csv_path also saves it for Excel.

NameTypeReqDescription
at–––
csv_formatstring––
csv_pathstring|null––
drawboolean––
language–––
rowsarrayyes–
scalenumber––

No output schema declared.

No examples provided.

run_lisp ~139

Run AutoLISP in AutoCAD and return the value of the last expression (lists come back as JSON arrays, entities as "<entity handle>"). The code runs as one Undo group; errors come back as "LISP error: ...". (command ...) works. Use it only when no tool fits (e.g. AutoCAD commands such as OVERKILL, BOUNDARY, FLATSHOT, specific system variables). Never wait for user input (getpoint etc.).

NameTypeReqDescription
codestringyesAutoLISP code, one or more expressions, e.g. (getvar "INSUNITS")
undo_groupboolean––

No output schema declared.

No examples provided.

save_drawing ~147

Save the drawing (DWG, or DXF by extension/format). Empty path = save in place; a new path = Save As (the open drawing takes that name), overwrite=true to replace an existing file. version: 2018 (default), 2013, 2010, 2007, 2004, 2000. copy=true writes a copy and leaves the open drawing as it is (the default for DXF and older versions: an export for someone else).

NameTypeReqDescription
copyboolean|null––
format–––
overwriteboolean|null––
pathstring|null––
versionstring|null––

No output schema declared.

No examples provided.

screenshot ~193

Render the drawing to an image Claude sees (off-screen: the user's view is not changed), white background like a plot. view=extents (default) frames all of model space, window/handles frame that area, current = exactly what the user sees, or a direction (top, front, iso...) for 3D. space=current renders the active layout instead of model space. Use after every larger edit and compare with the source image. save_path also writes the PNG to a file (an image export, up to 4096 px with max_size).

NameTypeReqDescription
handles–––
marginnumber––
max_sizeinteger––
save_pathstring|null–Optional PNG file, e.g. 'D:/Export/plan.png'
spacestring––
view––Default: extents (or the window/handles area)
window–––

No output schema declared.

No examples provided.

select_entities ~35

Select entities in AutoCAD (grips) so the user can see them; empty handles clears the selection.

NameTypeReqDescription
handles–––

No output schema declared.

No examples provided.

selection_info ~51

The objects the user has selected in AutoCAD (PICKFIRST): counts by type and layer, bounds and each entity (as query_entities).

NameTypeReqDescription
detailboolean––
limitinteger––

No output schema declared.

No examples provided.

Install

How do I install the AutoCAD MCP server?

AutoCAD MCP ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, f808ae1c5dc3a07a63823bc5e11c8b4dcd245db0e26b644159ed899e14c7ecbb; the commands to do that are on this page. If it does not match, do not open it.

mcpb · autocad-mcp-1.2.0.mcpb

Download bundle

Check the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.

SHA-256

f808ae1c5dc3a07a63823bc5e11c8b4dcd245db0e26b644159ed899e14c7ecbb

macOS / Linux

echo "f808ae1c5dc3a07a63823bc5e11c8b4dcd245db0e26b644159ed899e14c7ecbb  autocad-mcp-1.2.0.mcpb" | shasum -a 256 -c

Windows (PowerShell)

(Get-FileHash -Algorithm SHA256 .\autocad-mcp-1.2.0.mcpb).Hash -eq "f808ae1c5dc3a07a63823bc5e11c8b4dcd245db0e26b644159ed899e14c7ecbb"

Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.

Common questions

What is the AutoCAD MCP server?

AutoCAD MCP is listed in the public MCP registry as io.github.2ez4gcx/autocad-mcp. Let AI draw in AutoCAD: plans from images, KT/KC/NT sets, TCVN calc, quantities, sheets, PDF. This page covers its MCPB bundle (https://github.com/2ez4gcx/autocad-mcp/releases/download/v1.2.0/autocad-mcp-1.2.0.mcpb).

Is the AutoCAD MCP server safe to use?

AutoCAD MCP scores 28 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the AutoCAD MCP server expose?

AutoCAD MCP exposes 53 tools: ping, drawing_info, list_layers, list_blocks, query_entities, and 48 more. Their descriptions and schemas cost roughly 14,526 tokens of context every time the server is loaded.

Is the AutoCAD MCP server still maintained?

AutoCAD MCP is marked deprecated in the MCP registry. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the AutoCAD MCP server under?

AutoCAD MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.