Skip to main content
Glama
NejcDvorsek

SolidWorks MCP

by NejcDvorsek

add_hole

Cuts round holes in SolidWorks parts, including through, blind, counterbored, countersunk, and ISO-tapped holes for fasteners, inserts, and mounting features.

Instructions

Cut a round hole. Which one follows from the arguments:

  • diameter_mm at (x, y): straight through the thickness (the add_box extrude direction); coordinates share add_box's system (the centre of a 40x20 profile is x=20, y=10).

    • face='+z' (or '-x', ...) and z_mm: on ANY planar face, centred at 3D point (x, y, z), the face facing that way through the point (a pocket floor or a step works too). Through all, or depth_mm deep (blind: heat-set inserts, screw pilots). Returns dimensions (diameter, x, y, depth).

    • cbore_diameter_mm and cbore_depth_mm: a counterbored screw hole from the +Z face, a flat-bottom pocket over the clearance shank so a cap-head screw or heat-set insert sits flush.

  • iso='clearance' (ISO 273), 'counterbore' (socket head cap screw), 'countersink' (socket countersunk screw) or 'tapped', with size='M6', face and z_mm: SolidWorks' Hole Wizard, sized by the standard's tables and carried into drawing callouts. fit 'close' / 'normal' / 'loose'; thread='modeled' cuts a real, printable ISO thread in a tapped hole instead of the cosmetic one. Returns the standard's sizes in hole.

Prefer iso= for standard fasteners. Returns mass properties.

Input Schema

NameRequiredDescriptionDefault
fitNonormal
isoNo
faceNo
nameNo
sizeNo
x_mmYes
y_mmYes
z_mmNo
threadNocosmetic
depth_mmNo
diameter_mmNo
cbore_depth_mmNo
cbore_diameter_mmNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.16.3

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the load well: it discloses the return payloads (`dimensions`, `hole`, mass properties) and the non-obvious side effect that thread='modeled' produces a real printable thread rather than a cosmetic one. It omits that the operation mutates/removes material from the active body and any preconditions (e.g. requires an existing part), which for a cut feature is a meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the verb, then organized as scannable bullets each keyed to an argument pattern. It is long, but justified for a 13-parameter, three-mode tool; the density of the first bullet (coordinate aside plus hole spec) costs a little readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-param tool with zero schema coverage and no output schema, this covers the modes, geometry semantics and return shapes that an agent actually needs. Missing pieces are the destructive/mutating nature of the cut, the unexplained `name` parameter, and any failure conditions — minor but real for a modeling operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and 13 parameters exist, so the description must compensate — and it does: it explains 12 of 13 parameters with real semantics, including the shared coordinate system (40x20 profile centre = x=20,y=10), face string values ('+z', '-x'), depth semantics (through vs blind), the fit/thread/iso enumerations and their effects. Only `name` is left unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ("Cut a round hole") and immediately partitions the tool into three distinct operating modes. It also anchors the coordinate system to a named sibling (add_box), so an agent can tell exactly what geometry this produces versus cut_slot, cut_profile or cut_offset_pocket.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Strong intra-tool routing: each bullet names the argument combination that selects it (diameter+xy = through hole, face+z_mm = face-anchored, cbore_* = counterbore, iso= = Hole Wizard), plus an explicit preference rule ("Prefer iso= for standard fasteners"). It never states when to choose this over sibling cut tools (cut_slot, cut_profile), so it stops short of full when/when-not coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.