# SolidWorks MCP (pypi · solidworks-mcp-python)

Drive SolidWorks from AI agents: parts, assemblies, drawings and export over the COM API.

- Trust score: 77/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- pypi · `solidworks-mcp-python`: 77/100 (this document), [markdown](https://verifymcp.io/servers/andrewbartels1-solidworks-mcp-python/solidworks-mcp-python.md), [page](https://verifymcp.io/servers/andrewbartels1-solidworks-mcp-python/solidworks-mcp-python)

## Channel facts

- Registry: `pypi`
- Package: `solidworks-mcp-python`
- Version: `1.5.0`
- Transport: `stdio`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 99/100
  - No malware found by supply-chain analysis.
  - Known CVEs were checked across the 65 of 66 dependencies we could resolve, so this covers what we could see, not the whole tree.
  - Runs hatchling.build at install time, a recognised build step with no custom scripting around it.
  - Dependency health was assessed across the 65 of 66 dependencies we could resolve, so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to andrewbartels1/SolidworksMCP-python).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 3 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 64/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 10924 tokens (~70/item across 154 items; 154 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 98% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "delete_feature" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 154 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

**Unverified: 1 category.** A category scored 0 because we could not verify it: 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.

## Install

### How do I install the SolidWorks MCP server?

SolidWorks MCP runs locally as a PyPI package, launched with uvx solidworks-mcp-python. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add andrewbartels1-solidworks-mcp-python -- uvx solidworks-mcp-python
```

### Cursor

```json
{
  "mcpServers": {
    "andrewbartels1-solidworks-mcp-python": {
      "command": "uvx",
      "args": [
        "solidworks-mcp-python"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "andrewbartels1-solidworks-mcp-python": {
      "command": "uvx",
      "args": [
        "solidworks-mcp-python"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add andrewbartels1-solidworks-mcp-python -- uvx solidworks-mcp-python
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "andrewbartels1-solidworks-mcp-python": {
      "type": "local",
      "command": [
        "uvx",
        "solidworks-mcp-python"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add andrewbartels1-solidworks-mcp-python --command uvx --arg solidworks-mcp-python
```

### Hermes

```yaml
mcp_servers:
  andrewbartels1-solidworks-mcp-python:
    command: "uvx"
    args: ["solidworks-mcp-python"]
```

### Netclaw

```json
{
  "McpServers": {
    "andrewbartels1-solidworks-mcp-python": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "solidworks-mcp-python"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add andrewbartels1-solidworks-mcp-python -t stdio -c uvx -a solidworks-mcp-python
```

### Other

```json
{
  "mcpServers": {
    "andrewbartels1-solidworks-mcp-python": {
      "command": "uvx",
      "args": [
        "solidworks-mcp-python"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 77, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-11-04 (score 62, −15)

- [security regression] Malware scan: pass → unverified

### 2026-11-03 (score 77, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-11-02 (score 62)

First indexed and scored.

## MCP tools (154)

### `open_model` (~68 tokens)

Open Model

Open a SolidWorks model (part, assembly, or drawing).

Opens an existing SolidWorks file and makes it the active document for further
operations. Supports all standard SolidWorks file formats and provides detailed model
information upon successful opening.

Input parameters:

- `input_data` (object, required): The input data value.

### `create_part` (~79 tokens)

Create Part

Create a new SolidWorks part document.

Creates a new SolidWorks part document from ``template`` (a .prtdot path) or,
without one, the default part template. The new part becomes the active document
and is ready for modeling operations such as sketch creation and feature addition.

Input parameters:

- `input_data` (object, required): The input data value.

### `create_assembly` (~80 tokens)

Create Assembly

Create a new SolidWorks assembly document.

Creates a new SolidWorks assembly document from ``template`` (a .asmdot path) or,
without one, the default assembly template. The new assembly becomes the active
document and is ready for component insertion, mating, and assembly-level operations.

Input parameters:

- `input_data` (object, required): The input data value.

### `create_drawing` (~68 tokens)

Create Drawing

Create a new SolidWorks drawing document.

This tool creates a new drawing document from ``template`` (a .drwdot path) or,
without one, the default drawing template. The new drawing will become the active
document.

Input parameters:

- `input_data` (object, required): The input data value.

### `close_model` (~59 tokens)

Close Model

Close the current SolidWorks model.

Closes the currently active SolidWorks document with an option to save changes before
closing. This is essential for proper model lifecycle management and preventing data
loss.

Input parameters:

- `input_data` (object, required): The input data value.

### `create_extrusion` (~77 tokens)

Create Extrusion

Create an extrusion feature from the active sketch.

Creates a 3D extrusion feature (boss or cut) from the currently active 2D sketch.
Supports advanced options like draft angles, thin features, bidirectional extrusion, and
various end conditions for professional modeling workflows.

Input parameters:

- `input_data` (object, required): The input data value.

### `create_revolve` (~74 tokens)

Create Revolve

Create a revolve feature from the active sketch.

Creates a 3D revolve feature by rotating the active 2D sketch profile around a specified
axis of revolution. Supports full and partial revolves, thin features, and bidirectional
revolution for comprehensive rotational modeling.

Input parameters:

- `input_data` (object, required): The input data value.

### `get_dimension` (~70 tokens)

Get Dimension

Get the value of a dimension from the current model.

Retrieves the current value of a named dimension from the active SolidWorks model.
Dimensions can be from sketches, features, or global dimensions. Useful for parametric
modeling and design validation.

Input parameters:

- `input_data` (object, required): The input data value.

### `set_dimension` (~58 tokens)

Set Dimension

Set the value of a dimension in the current model.

This tool modifies the value of a named dimension and rebuilds the model. Use this to
parametrically modify your model dimensions.

Input parameters:

- `input_data` (object, required): The input data value.

### `set_units` (~97 tokens)

Set Units

Set the active document's linear unit system.

Accepts ``mm``, ``cm``, ``m``, ``in`` or ``ft`` (plus common aliases
such as ``inch`` or ``millimeters``). The setting is applied and then
read back from the document; if the readback disagrees the tool
reports an error rather than a false success.

Input parameters:

- `input_data` (object, required): The target unit system.

### `create_cut_extrude` (~353 tokens)

Create Cut Extrude

Cut material from a sketch profile in the active model.

Creates a Cut-Extrude feature (Insert > Cut > Extrude). Use this after
exit_sketch when you want to remove material — e.g. to create windows,
holes, slots, or any through/blind cut in an existing solid body.

Sketch selection is never a silent guess: pass ``sketch_name``
explicitly whenever you're not certain which sketch this should act
on (e.g. more than one sketch could be unconsumed, or other tool
calls ran in between). If omitted, only the sketch most recently
created/exited in this same session is used, and only when it still
exists in the model — there is no further fallback. Any ambiguity or
mismatch is reported back as an error naming the sketch(es) actually
found in the model, rather than cutting the wrong profile.

Direction: a one-way cut (Blind or ThroughAll) goes along the sketch
plane's normal. From a sketch on a face, or on a plane that touches
the body only on one side (e.g. a Top Plane sketch under a block
extruded up from it), that can point away from the material. The
tool then cuts the other way and returns
\``cut_extrude.direction_flipped: true``, so you don't need to guess
\``reverse_direction``. For a sketch on a plane through the middle of
the body, use ``ThroughAllBoth`` (or ``ThroughAll`` with
\``both_directions``) to cut both sides.

Input parameters:

- `input_data` (object, required): Depth, direction, draft, and optional sketch_name parameters.

### `add_fillet` (~83 tokens)

Add Fillet

Add a fillet (rounded edge) to selected edges of the current model.

Rounds the specified named edges with the given radius. Edge names use the
SolidWorks convention, e.g. 'Edge<1>', or you can leave edge_names empty to
fillet all edges if the adapter supports it.

Input parameters:

- `input_data` (object, required): Radius and edge names.

### `add_chamfer` (~83 tokens)

Add Chamfer

Add an equal-distance chamfer to selected edges of the current model.

Chamfers the specified named edges with the given distance. Edge names use
the SolidWorks convention, e.g. 'Edge<1>', or you can leave edge_names empty
to chamfer all edges if the adapter supports it.

Input parameters:

- `input_data` (object, required): Distance and edge names.

### `create_sweep` (~119 tokens)

Create Sweep

Sweep the active profile sketch along a named path sketch.

Creates a swept boss/protrusion (Insert > Boss/Base > Sweep). Requires
two sketches in the active part: a closed profile sketch and an open
path sketch named by ``path``. The profile is inferred as the sketch
that is not the path (in the usual "draw profile, draw path, sweep"
flow this is unambiguous). Optionally applies a constant twist along
the path.

Input parameters:

- `input_data` (object, required): Path name and twist/merge options.

### `create_loft` (~84 tokens)

Create Loft

Loft a solid between two or more profile sketches.

Creates a lofted boss/protrusion (Insert > Boss/Base > Loft) blending
the listed profile sketches in order. Each profile must be a closed
contour. Optional guide curves shape the transition between profiles.

Input parameters:

- `input_data` (object, required): Profile names, optional guide curves, and tangency/merge options.

### `insert_component` (~91 tokens)

Insert Component

Insert a part or sub-assembly into the active assembly.

Call ``create_assembly`` first. Position is in millimetres from the
assembly origin.

\**The component file must contain solid geometry** — SolidWorks
silently refuses to insert an empty part, so a missing or empty
component surfaces as an error rather than a fabricated success.

Input parameters:

- `input_data` (object, required): File path and position.

### `add_mate` (~101 tokens)

Add Mate

Mate two components in the active assembly.

Positions components relative to one another — coincident planes to
stack or align them, concentric to line up axes, distance to hold a
gap.

Entities are selected by feature name, so only each component's
reference planes and axes can be mated. Mating to a specific face or
edge needs entity names this adapter cannot enumerate.

Input parameters:

- `input_data` (object, required): Components, entities and mate type.

### `list_components` (~18 tokens)

List Components

List the top-level components of the active assembly.

### `delete_feature` (~64 tokens)

Delete Feature

Delete a feature or sketch from the active model.

Deleting a parent feature also removes everything that depends on it —
SolidWorks' normal cascade — so the response lists every feature that
went, not just the one named.

Input parameters:

- `input_data` (object, required): The feature to delete.

### `suppress_feature` (~66 tokens)

Suppress Feature

Suppress or unsuppress a feature in the active model.

Suppressing rolls a feature and its children out of the model without
deleting it — the reversible way to turn off a feature that is causing
trouble.

Input parameters:

- `input_data` (object, required): The feature and desired state.

### `rename_feature` (~82 tokens)

Rename Feature

Rename a feature on the feature tree.

SolidWorks silently refuses a rename onto a name another feature
already uses, so the new name is read back and a mismatch is reported
as an error rather than a quiet success. Renaming a feature to its
current name is a no-op success.

Input parameters:

- `input_data` (object, required): The feature and its new name.

### `select_feature` (~79 tokens)

Select Feature

Select a named feature, sketch, plane or component.

Replaces the current selection by default; pass ``append: true`` to
add to it (e.g. to select several features in turn). A name that
cannot be selected is an error, never a quiet success.

Input parameters:

- `input_data` (object, required): The feature name and append flag.

### `select_face_edges` (~232 tokens)

Select Face Edges

Select every edge of one face of the active part (multi-select).

Identify the face with exactly one of ``point`` (a point on it, mm),
\``side`` (``top``/``bottom``/``front``/``back``/``right``/``left`` or
\``+X``..``-Z``; top=+Y, front=+Z, right=+X as in SolidWorks' default
views - the furthest flat face facing that way) or ``plane`` (a
reference plane name - the body face lying on it). ``edge_type``
narrows to ``linear`` or ``circular`` edges (e.g. hole rims).

The edges become the live SolidWorks selection, so the next
\``add_chamfer`` / ``add_fillet`` call with an empty ``edge_names``
acts on exactly them. Anything that changes the selection in between
(including the user clicking in SolidWorks) changes what is used.

Input parameters:

- `input_data` (object, required): Face identifier, edge filter and append flag.

### `rebuild_model` (~120 tokens)

Rebuild Model

Force a rebuild of the active model and report what is wrong.

Use after programmatic edits (``set_dimension``, feature edits) to
confirm the model rebuilds cleanly. When features fail, the response
is an error whose ``data.errors`` names each failing feature with its
SolidWorks error code, the features/sketches it depends on, and a
concrete ``hint`` for fixing it. Warnings alone still succeed.

Input parameters:

- `input_data`: ``top_level_only`` for assemblies; omit for a full rebuild.

### `undo` (~59 tokens)

Undo

Undo the last operations in the active model.

SolidWorks accepts an undo with nothing left to undo without
complaining, so the response reports whether the feature tree actually
changed rather than assuming it did.

Input parameters:

- `input_data`: How many steps to undo.

### `create_reference_plane` (~149 tokens)

Create Reference Plane

Create a reference plane offset from an existing plane or planar face.

Adds a new plane to the feature tree, parallel to and offset from the
named reference. The returned plane name can be passed straight to
\``create_sketch`` to sketch anywhere other than the six built-in
planes.

Angled planes are not supported by this tool: an angled plane needs a
second reference (an axis or edge) to rotate about, which this
signature cannot take. Use ``offset`` for parallel planes. An
\``offset`` of zero is rejected — a plane coincident with its
reference is not useful.

Input parameters:

- `input_data` (object, required): Reference name, offset, angle and flip.

### `create_axis` (~69 tokens)

Create Axis

Create a reference axis along a principal direction.

Builds an axis from the intersection of two built-in planes: x from
Top + Front, y from Front + Right, z from Top + Right.

Input parameters:

- `input_data` (object, required): The principal direction ('x', 'y' or 'z').

### `create_reference_point` (~173 tokens)

Create Reference Point

Create a reference point on the active part.

Two modes:

\- ``along_curve`` — a point on the edge under ``(x, y, z)`` mm, placed
  \``distance`` mm from the edge start, or at ``percent`` (0–100) of
  its length. Give exactly one of ``distance`` / ``percent``.
\- ``face_center`` — a point at the centroid of the face under
  \``(x, y, z)`` mm.

The coordinate must lie on the target edge/face; SolidWorks resolves
it with a coordinate pick. ``InsertReferencePoint`` always returns a
feature, so success is confirmed by the feature tree growing.

Input parameters:

- `input_data` (object, required): Mode, coordinate, and the along-curve parameter.

### `mirror_feature` (~97 tokens)

Mirror Feature

Mirror solid bodies or features about a plane.

Selects the named sources and the mirror plane, then mirrors them.
The mirror is verified by comparing model volume before and after:
SolidWorks can report a feature even when it mirrored nothing, so a
volume that did not grow is reported as an error rather than a
false success.

Input parameters:

- `input_data` (object, required): Source names, mirror plane, and merge/mirror_bodies flags.

### `pattern_circular` (~95 tokens)

Pattern Circular

Pattern features around an axis.

Selects the named axis and features, then creates a circular
pattern. The pattern is verified by comparing model volume before
and after: SolidWorks can report a feature even when it patterned
nothing, so a volume that did not grow is reported as an error
rather than a false success.

Input parameters:

- `input_data` (object, required): Feature names, axis, count, angle, and equal_spacing.

### `create_sketch` (~78 tokens)

Create Sketch

Create a new sketch on the specified plane.

Creates a new sketch on a reference plane and enters sketch edit mode. This is the first
step for creating any 2D geometry that will be used for 3D features like extrusions,
revolves, or sweeps.

Input parameters:

- `input_data` (object, required): The input data value.

### `add_line` (~59 tokens)

Add Line

Add a line to the current sketch.

Adds a line segment between two points in the active sketch. Lines are fundamental
sketch entities used for creating profiles, construction geometry, and complex shapes.

Input parameters:

- `input_data` (object, required): The input data value.

### `add_circle` (~28 tokens)

Add Circle

Add a circle to the current sketch.

Input parameters:

- `input_data` (object, required): The input data value.

### `add_rectangle` (~63 tokens)

Add Rectangle

Add a rectangle to the current sketch.

Creates a rectangular profile defined by two opposite corner points, automatically
generating four connected line segments forming a closed rectangle suitable for
extrusion or other 3D operations.

Input parameters:

- `input_data` (object, required): The input data value.

### `exit_sketch` (~56 tokens)

Exit Sketch

Exit sketch editing mode.

Exits the current sketch editing mode and returns to the 3D modeling environment. This
is required after completing sketch geometry before creating 3D features like
extrusions, revolves, or sweeps.

### `check_sketch_fully_defined` (~29 tokens)

Check Sketch Fully Defined

Check whether a sketch is fully defined.

Input parameters:

- `input_data`: Optional sketch selector.

### `add_arc` (~66 tokens)

Add Arc

Add an arc to the current sketch.

Creates a circular arc defined by center point, start point, and end point. Arcs are
essential for creating rounded corners, curved transitions, and complex curved profiles
in mechanical designs.

Input parameters:

- `input_data` (object, required): The input data value.

### `add_spline` (~69 tokens)

Add Spline

Add a spline curve to the current sketch.

Creates a smooth, free-form spline curve that passes through or near the specified
control points. Splines are ideal for creating organic shapes, complex profiles, and
smooth transitions in industrial design.

Input parameters:

- `input_data` (object, required): The input data value.

### `add_centerline` (~66 tokens)

Add Centerline

Add a centerline to the current sketch.

Creates a construction/reference line that serves as a centerline for symmetrical
features, revolution axes, or construction geometry. Centerlines are non-geometric
entities used for reference only.

Input parameters:

- `input_data` (object, required): The input data value.

### `add_polygon` (~71 tokens)

Add Polygon

Add a regular polygon to the current sketch.

Creates a regular polygon with specified number of sides, center point, and
circumscribed radius. Polygons are useful for creating hexagonal nuts, octagonal
features, and other multi-sided geometric shapes.

Input parameters:

- `input_data` (object, required): The input data value.

### `add_ellipse` (~69 tokens)

Add Ellipse

Add an ellipse to the current sketch.

Creates an elliptical entity with specified center and major/minor axes. Ellipses are
useful for creating oval holes, ergonomic profiles, and complex curved features in
mechanical and industrial design.

Input parameters:

- `input_data` (object, required): The input data value.

### `add_sketch_constraint` (~68 tokens)

Add Sketch Constraint

Add a geometric constraint/relation between sketch entities.

Creates geometric relationships between sketch entities such as parallel, perpendicular,
tangent, coincident, etc. Essential for creating fully defined, parametric sketches that
maintain design intent.

Input parameters:

- `input_data` (object, required): The input data value.

### `add_sketch_dimension` (~121 tokens)

Add Sketch Dimension

Add a dimension to sketch entities.

Creates dimensional constraints that control the size of sketch entities. Dimensions are
essential for creating precise, parametric designs that can be easily modified and
maintain manufacturing tolerances.

In live SolidWorks automation, sketch dimensions can otherwise trigger the interactive
\``Modify`` approval dialog. The adapter suppresses the relevant sketch-input preferences
for the automation session and uses the dedicated radial/diameter APIs for circles and
arcs so this tool remains non-interactive.

Input parameters:

- `input_data` (object, required): The input data value.

### `sketch_linear_pattern` (~68 tokens)

Sketch Linear Pattern

Create a linear pattern of sketch entities.

Generates a linear array of selected sketch entities in specified direction(s) with
defined spacing and count. Essential for creating hole patterns, vent grilles, and
repetitive geometric features.

Input parameters:

- `input_data` (object, required): The input data value.

### `sketch_circular_pattern` (~126 tokens)

Sketch Circular Pattern

Create a circular pattern of sketch entities around the sketch origin.

Generates a circular array of selected sketch entities. The
rotation axis is always the **sketch origin** — SOLIDWORKS'
\``CreateCircularSketchStepAndRepeat`` does not expose a
pattern-centre parameter. Position the seed entity at the
desired radius from the origin; the pattern derives its radius
from the seed's centre.

Essential for creating bolt circles, gear teeth, and other
radially symmetric features around the sketch origin.

Input parameters:

- `input_data` (object, required): The input data value.

### `sketch_mirror` (~60 tokens)

Sketch Mirror

Mirror sketch entities about a centerline.

Creates mirrored copies of selected sketch entities about a reference centerline,
maintaining symmetrical design relationships. Essential for creating symmetric parts and
reducing modeling time.

Input parameters:

- `input_data` (object, required): The input data value.

### `sketch_offset` (~65 tokens)

Sketch Offset

Create an offset of sketch entities.

Generates offset copies of selected sketch entities at a specified distance, maintaining
the original entity shape while creating parallel geometry. Essential for wall
thickness, machining allowances, and clearance features.

Input parameters:

- `input_data` (object, required): The input data value.

### `sketch_tutorial_simple_hole` (~63 tokens)

Sketch Tutorial Simple Hole

Tutorial: Create a simple circular hole sketch.

Demonstrates complete workflow for creating a basic hole sketch that can be used for
through-holes, counterbores, or other circular features. This tutorial shows the
fundamental sketch-to-feature process.

### `tutorial_simple_hole` (~74 tokens)

Tutorial Simple Hole

Create a simple hole as a guided tutorial workflow.

Builds a sketch circle on the selected plane, exits the sketch, and creates a cut
feature using the supplied diameter and depth. Useful as an end-to-end example of a
basic subtractive feature.

Input parameters:

- `input_data` (object, required): The input data value.

### `create_drawing_view` (~68 tokens)

Create Drawing View

Create a drawing view of a SolidWorks model.

Creates technical drawing views including orthographic projections, isometric views,
section views, and detail views from 3D models. Essential for generating production
drawings and technical documentation.

Input parameters:

- `input_data` (object, required): The input data value.

### `add_dimension` (~57 tokens)

Add Dimension

Add a dimension to the current drawing.

Creates dimensional annotations on drawing views including linear, radial, angular, and
diameter dimensions. Essential for manufacturing specifications and quality control
documentation.

Input parameters:

- `input_data` (object, required): The input data value.

### `add_note` (~58 tokens)

Add Note

Add a note or annotation to the current drawing.

Creates text annotations, callouts, and notes on drawings for specifications,
instructions, and additional manufacturing information. Essential for comprehensive
technical documentation.

Input parameters:

- `input_data` (object, required): The input data value.

### `create_section_view` (~63 tokens)

Create Section View

Create a section view of the current drawing.

Generates section views that show internal features by cutting through the part along a
specified section line. Essential for revealing hidden geometry, internal structures,
and complex assemblies.

Input parameters:

- `input_data` (object, required): The input data value.

### `create_detail_view` (~63 tokens)

Create Detail View

Create a detail view of a specific area.

Generates magnified detail views of specific regions to show fine features, tight
tolerances, and intricate geometry that requires enhanced visibility for manufacturing
and inspection.

Input parameters:

- `input_data` (object, required): The input data value.

### `update_sheet_format` (~59 tokens)

Update Sheet Format

Update the sheet format and title block information.

Applies drawing templates and updates title block fields with project information,
revision data, and drawing metadata. Essential for standardized documentation and
drawing control.

Input parameters:

- `input_data` (object, required): The input data value.

### `auto_dimension_view` (~65 tokens)

Auto Dimension View

Automatically dimension a drawing view.

Analyzes drawing view geometry and automatically adds common dimensions including
overall sizes, hole diameters, radii, and critical features. Accelerates drawing
completion and ensures comprehensive dimensioning coverage.

Input parameters:

- `input_data` (object, required): The input data value.

### `check_drawing_standards` (~68 tokens)

Check Drawing Standards

Check the current drawing against drafting standards.

Validates drawing compliance with industry drafting standards including ANSI Y14.5, ISO
128, and DIN standards. Identifies non-compliance issues and provides recommendations
for improvement.

Input parameters:

- `input_data` (object, required): The input data value.

### `create_technical_drawing` (~59 tokens)

Create Technical Drawing

Create a technical drawing from a SolidWorks part or assembly.

Supports selecting a template, output path, sheet format, scale, and optional auto-
population of standard views for documentation.

Input parameters:

- `input_data` (object, required): The input data value.

### `add_drawing_view` (~60 tokens)

Add Drawing View

Add, update, or remove a drawing view in an existing drawing.

Supports configuring the target drawing, view type, parent view, scale, and placement
coordinates for common drawing view workflows.

Input parameters:

- `input_data` (object, required): The input data value.

### `add_annotation` (~56 tokens)

Add Annotation

Add an annotation such as a note, balloon, or surface symbol.

Places annotation text in a drawing with optional font size, leader attachment, and
title-block style metadata fields.

Input parameters:

- `input_data` (object, required): The input data value.

### `update_title_block` (~52 tokens)

Update Title Block

Update title block fields for the active drawing.

Applies drawing metadata such as title, drawing number, and approval fields to keep
documentation aligned with standards.

Input parameters:

- `input_data` (object, required): The input data value.

### `list_drawing_views` (~55 tokens)

List Drawing Views

List the views on the active drawing.

Read-only. Use it to find an existing view's name before targeting it
(e.g. with ``auto_center_marks``). Errors when the active document is
not a drawing.

### `auto_center_marks` (~103 tokens)

Auto Center Marks

Auto-insert centre marks on circular features in a drawing view.

Runs SolidWorks' automatic centre-mark insertion for the named view.
The API does not report how many marks it added, so the response
gives the view's centre-mark count before and after and the delta.
A run that added nothing is still a success — the view may have no
un-marked holes.

Input parameters:

- `input_data` (object, required): The view and which feature types to mark.

### `analyze_drawing_comprehensive` (~28 tokens)

Analyze Drawing Comprehensive

Handle analyze drawing comprehensive.

Input parameters:

- `input_data` (object, required): The input data value.

### `analyze_drawing_dimensions` (~53 tokens)

Analyze Drawing Dimensions

Analyze dimensions in a SolidWorks drawing for consistency and completeness.

This tool performs detailed dimensional analysis including precision, tolerances, and
completeness checking.

Input parameters:

- `input_data` (object, required): The input data value.

### `analyze_drawing_annotations` (~29 tokens)

Analyze Drawing Annotations

Analyze drawing annotations and notes quality.

Input parameters:

- `input_data` (object, required): The input data value.

### `check_drawing_compliance` (~30 tokens)

Check Drawing Compliance

Check drawing compliance with company standards.

Input parameters:

- `input_data` (object, required): The input data value.

### `analyze_drawing_views` (~29 tokens)

Analyze Drawing Views

Analyze drawing views arrangement and quality.

Input parameters:

- `input_data` (object, required): The input data value.

### `generate_drawing_report` (~28 tokens)

Generate Drawing Report

Generate comprehensive drawing analysis report.

Input parameters:

- `input_data` (object, required): The input data value.

### `compare_drawing_versions` (~29 tokens)

Compare Drawing Versions

Compare different versions of drawing files.

Input parameters:

- `input_data` (object, required): The input data value.

### `validate_drawing_completeness` (~31 tokens)

Validate Drawing Completeness

Validate drawing completeness for production readiness.

Input parameters:

- `input_data` (object, required): The input data value.

### `insert_model_dimensions` (~135 tokens)

Insert Model Dimensions

Bring the model's dimensions into the active drawing's views.

Imports the model's "marked for drawing" dimensions view by view, each
dimension shown once on the sheet (a repeat in a later view is
deleted). Pictorial views (isometric, dimetric, trimetric) are skipped
unless named. Falls back to SolidWorks AutoDimension only when nothing
could be imported. SolidWorks places imported dimensions inside the
views, so run ``arrange_dimensions`` afterwards.

Input parameters:

- `input_data`: ``view_name`` for one view and ``include_hole_wizard``; omit for every view.

### `arrange_dimensions` (~164 tokens)

Arrange Dimensions

Move drawing dimensions so nothing overlaps, then check the real result.

Dimensions go outside their views in rows (first 8 mm from the
outline, rows 7 mm apart, columns 9 mm apart), shortest span nearest
the view, each on the side its extension lines start from. One with no
room on that side stays put and is listed in ``unplaced``. After moving
them it re-reads every dimension's real text box and lines and checks
the whole sheet: no text on text, no line through text, no line across
another view or across its own view, nothing on a view or outside the
sheet.

Input parameters:

- `input_data`: ``view_name`` to move only one view's dimensions; omit for every view.

### `insert_bom_table` (~75 tokens)

Insert Bom Table

Insert a bill-of-materials table for an assembly view on the active drawing.

Input parameters:

- `input_data`: ``view_name`` (a view of an assembly), optional ``template_path``, ``bom_type`` and table position ``x_mm``/``y_mm`` (the sheet's BOM anchor when omitted).

### `add_gtol` (~153 tokens)

Add Gtol

Add a GD&T feature control frame, e.g. position Ø0.2 (M) to A|B|C.

Input parameters:

- `input_data`: ``characteristic`` (position, flatness, perpendicularity, ...), ``tolerance``, ``diameter_zone``, ``material_condition``, up to three ``datums``, and what it is on: a drawing dimension (``dimension_v…

### `add_datum_tag` (~82 tokens)

Add Datum Tag

Add a datum feature symbol (A, B, C, ...) on a drawing edge.

Input parameters:

- `input_data`: ``label``, a point on the edge it marks (``attach_x_mm``/``attach_y_mm``) and where the tag goes (``x_mm``/``y_mm``), all on the sheet in mm.

### `set_sheet_scale` (~54 tokens)

Set Sheet Scale

Set the active drawing sheet's scale; views using the sheet scale follow.

Input parameters:

- `input_data`: ``numerator`` and ``denominator``, e.g. 1 and 2 for 1:2.

### `generate_drawing_package` (~209 tokens)

Generate Drawing Package

Create a complete A3 drawing of a part or assembly in one call.

A3 ISO frame with a filled title block (title, drawing number, material,
weight, drawn by/date, revision); front, plan, side and isometric views
in cells sized to fill the sheet at one standard scale (never stepped
down); model dimensions shown once and laid out in rows; bold view-name
captions; a NOTES block; nothing overlapping, checked on the read-back
geometry. Saves ``<drawing_number>.SLDDRW`` and a PDF.

The DWG NO. and TITLE are shrunk to fit their title-block boxes. For
smaller title-block text, pass ``title_block_text_height_mm`` (e.g.
\``3``); a field that cannot fit even at 2 mm is reported as an
overlap, with that hint.

Input parameters:

- `input_data`: ``model_path`` plus optional title-block fields, ``notes`` and output folder.

### `list_model_dimensions` (~114 tokens)

List Model Dimensions

List every dimension in the active part or assembly with its full name.

Read-only. Each entry's ``full_name`` (e.g. ``"D1@Sketch1"``) is the
name ``set_dimension`` / ``get_dimension`` accept, so this is how to
find and edit any driving dimension in an existing model. Pass
\``feature_name`` to list one feature's dimensions only.

Input parameters:

- `input_data`: ``feature_name`` to list one feature only; omit for every dimension.

### `measure_entities` (~80 tokens)

Measure Entities

Measure faces, edges or vertices with SolidWorks' Measure tool.

One face gives its area and perimeter; one edge its length (and radius
and diameter for an arc); two entities give the distance and angle
between them. Entity coordinates are in metres. Clears the selection
afterwards.

Input parameters:

- `input_data` (object, required): One or two entity specs.

### `get_material` (~46 tokens)

Get Material

Read the material assigned to the active part.

Read-only. Parts only (``wrong_document_type`` otherwise).

Input parameters:

- `input_data`: ``configuration``; the active one when omitted.

### `set_material` (~99 tokens)

Set Material

Assign a library material to the active part.

The material drives mass properties (``get_mass_properties``) and what
a title block's Material field shows. The name must match the library
exactly; find it with ``list_available_materials``. The material is
read back after assignment, so success means it really applied.

Input parameters:

- `input_data` (object, required): ``material_name``, plus optional ``database`` and ``configuration``.

### `list_available_materials` (~97 tokens)

List Available Materials

List materials in the installed SolidWorks material libraries.

Read-only; parses every ``.sldmat`` library SolidWorks is configured
to use. Filter with ``search`` (name or classification substring, e.g.
\``"steel"`` or ``"6061"``) and pass the exact ``name`` to
\``set_material``.

Input parameters:

- `input_data`: ``search`` to filter; omit for every material.

### `get_custom_properties` (~65 tokens)

Get Custom Properties

Read the active document's custom properties.

Read-only. File-level properties (the default) are what drawing title
blocks and BOMs usually link to; pass ``configuration`` for
configuration-specific ones.

Input parameters:

- `input_data`: ``configuration``; file-level properties when omitted.

### `set_custom_property` (~81 tokens)

Set Custom Property

Create or overwrite one text custom property on the active document.

Typical names: ``PartNo``, ``Description``, ``DrawnBy``, ``Revision``.
The value is read back after writing, so success means it was stored.

Input parameters:

- `input_data` (object, required): ``name`` and ``value``, plus an optional ``configuration``.

### `export_flat_pattern` (~93 tokens)

Export Flat Pattern

Export the active sheet-metal part's flat pattern to DXF or DWG.

Exports the flat-pattern geometry only (no bend lines or sketches),
for laser or waterjet cutting. A part without a sheet-metal body is
refused (``not_found``) and nothing is written.

Input parameters:

- `input_data` (object, required): ``file_path`` ending in ``.dxf`` or ``.dwg``.

### `calculate_mass_properties` (~73 tokens)

Calculate Mass Properties

Get mass properties of the current SolidWorks model.

Calculates and returns comprehensive mass properties for the active model including
volume, surface area, mass, center of mass, and moments of inertia. Essential for
engineering analysis, weight calculations, and structural design.

Input parameters:

- `input_data` (object, required): The input data value.

### `get_mass_properties` (~33 tokens)

Get Mass Properties

Backward-compatible alias for calculate_mass_properties.

Input parameters:

- `input_data`: The input data value.                                                       Defaults to None.

### `check_interference` (~64 tokens)

Check Interference

Check for interference between components in an assembly.

Analyzes specified components for geometric interference (overlapping volumes) and
provides detailed interference detection results. Critical for assembly validation and
identifying design conflicts before manufacturing.

Input parameters:

- `input_data` (object, required): The input data value.

### `analyze_geometry` (~44 tokens)

Analyze Geometry

Handle analyze geometry.

This tool provides various geometry analysis capabilities like curvature analysis, draft
analysis, thickness analysis, etc.

Input parameters:

- `input_data` (object, required): The input data value.

### `get_material_properties` (~38 tokens)

Get Material Properties

Get material properties of the current model.

This tool retrieves the material properties assigned to the model including density,
elastic modulus, yield strength, etc.

### `verify_model` (~332 tokens)

Verify Model

Check the active part or assembly against what you meant to build.

Call this as the last step of a build (and whenever a step looks
suspicious). A modelling tool returning success does not prove the
geometry is right; this reads the model back and compares it with
your expectations. Give only the expectations you know; each becomes
one check. With no expectations it just reports what it measured.

Units: mm, mm³ and kg. ``bounding_box_mm`` is the overall size
\``[x, y, z]`` in model axes (a sketch on the Front Plane extrudes
along z). Widen ``relative_tolerance`` when your hand calculation
ignores fillets or chamfers, and ``length_tolerance_mm`` when
\``measured.bounding_box_method`` is ``assembly_box`` (SolidWorks'
assembly box can be slightly larger than the parts). Mass depends on
the assigned material; without one SolidWorks uses a default density.

Each check reports ``expected``, ``actual``, ``tolerance`` and
\``passed``: ``true``, ``false``, or ``null`` when the value could not
be measured (never counted as a pass). ``verdict`` is ``pass``,
\``fail``, ``inconclusive`` (nothing failed, something unmeasured) or
\``report_only``. ``status`` stays ``success`` when the model does not
match: the tool worked, the model is what failed.

Input parameters:

- `input_data`: Expectations and tolerances. Defaults to None (report only).

### `export_step` (~61 tokens)

Export Step

Export the current model to STEP format.

Exports SolidWorks models to STEP (Standard for the Exchange of Product Data) format,
the preferred neutral CAD format for interoperability between different CAD systems and
manufacturers.

Input parameters:

- `input_data` (object, required): The input data value.

### `export_iges` (~65 tokens)

Export Iges

Export the current model to IGES format.

Exports SolidWorks models to IGES (Initial Graphics Exchange Specification) format, a
legacy neutral CAD format still widely used for surface modeling and older CAD system
compatibility.

Input parameters:

- `input_data` (object, required): The input data value.

### `export_stl` (~63 tokens)

Export Stl

Export the current model to STL format.

Exports SolidWorks models to STL (Stereolithography) format, the standard file format
for 3D printing, rapid prototyping, and additive manufacturing applications.

Input parameters:

- `input_data` (object, required): The input data value.

### `export_pdf` (~62 tokens)

Export Pdf

Export the current model or drawing to PDF format.

Creates PDF documents from SolidWorks drawings, assemblies, or parts for documentation,
sharing, review, and archival purposes. Essential for design review and manufacturing
documentation.

Input parameters:

- `input_data` (object, required): The input data value.

### `export_dwg` (~70 tokens)

Export Dwg

Export the current drawing to DWG format.

Converts SolidWorks drawings to DWG (Drawing) format, the native AutoCAD file format
widely used in architecture, engineering, and construction industries for 2D technical
drawings.

Input parameters:

- `input_data` (object, required): The input data value.

### `export_image` (~55 tokens)

Export Image

Export images of the current model.

Captures high-quality rendered images of SolidWorks models from various view
orientations for documentation, presentations, marketing materials, and web publication.

Input parameters:

- `input_data` (object, required): The input data value.

### `batch_export` (~64 tokens)

Batch Export

Batch export multiple SolidWorks files to a target format.

Processes entire directories of SolidWorks files and converts them to specified target
formats. Essential for project migrations, supplier deliverables, and large-scale format
conversions.

Input parameters:

- `input_data` (object, required): The input data value.

### `generate_vba_code` (~52 tokens)

Generate Vba Code

Generate VBA code for SolidWorks automation.

Analyzes operation description and generates appropriate VBA code with SolidWorks API
calls, error handling, and documentation.

Input parameters:

- `input_data` (object, required): The input data value.

### `automation_start_macro_recording` (~45 tokens)

Automation Start Macro Recording

Start recording a macro in SolidWorks.

Begins macro recording to capture user actions and generate reusable automation scripts.

Input parameters:

- `input_data` (object, required): The input data value.

### `automation_stop_macro_recording` (~47 tokens)

Automation Stop Macro Recording

Stop recording the current macro.

This tool stops the active macro recording and saves the recorded actions as a VBA
macro.

Input parameters:

- `input_data` (object, required): The input data value.

### `batch_process_files` (~49 tokens)

Batch Process Files

Handle batch process files.

This tool processes multiple files in a directory, performing operations like rebuild,
save as, export, or property updates.

Input parameters:

- `input_data` (object, required): The input data value.

### `manage_design_table` (~54 tokens)

Manage Design Table

Create or manage design tables for parametric modeling.

Design tables allow you to create multiple configurations of a part or assembly by
driving parameters from an Excel spreadsheet.

Input parameters:

- `input_data` (object, required): The input data value.

### `execute_workflow` (~46 tokens)

Execute Workflow

Handle execute workflow.

This tool executes a series of automated steps in sequence, with support for parallel
execution and error handling.

Input parameters:

- `input_data` (object, required): The input data value.

### `create_template` (~48 tokens)

Create Template

Create a SolidWorks template file.

This tool creates templates for parts, assemblies, or drawings with standardized
settings, materials, and configurations.

Input parameters:

- `input_data` (object, required): The input data value.

### `optimize_performance` (~44 tokens)

Optimize Performance

Optimize SolidWorks performance settings.

This tool analyzes the current SolidWorks configuration and suggests or applies
performance optimizations.

Input parameters:

- `input_data` (object, required): The input data value.

### `save_file` (~66 tokens)

Save File

Save the current SolidWorks model.

Saves the currently active SolidWorks document to its existing file location. Essential
for preserving work and maintaining document version control. Handles both modified and
unmodified documents based on force_save setting.

Input parameters:

- `input_data` (object, required): The input data value.

### `save_as` (~67 tokens)

Save As

Save the current model to a new location or format.

Saves the currently active SolidWorks document with a new filename, location, or file
format. Supports multiple export formats for interoperability with other CAD systems and
manufacturing workflows.

Input parameters:

- `input_data` (object, required): The input data value.

### `get_file_properties` (~48 tokens)

Get File Properties

Get properties of the current SolidWorks file.

Retrieves comprehensive metadata and properties of the currently active SolidWorks
document. Provides essential file information for document management, version control,
and project organization.

### `get_model_info` (~49 tokens)

Get Model Info

Get metadata for the active SolidWorks document.

Returns a compact summary of the current model context that is useful for read-before-
write LLM flows (document type, active configuration, and feature count).

### `list_features` (~53 tokens)

List Features

List feature-tree entries for the active SolidWorks document.

Useful for read-before-write workflows where the agent must inspect existing model
structure before adding or editing downstream features.

Input parameters:

- `input_data` (object, required): The input data value.

### `get_selected_entities` (~131 tokens)

Get Selected Entities

Report the faces/edges/vertices currently selected in the live SolidWorks UI.

Use this to find out exactly what the user has clicked on in SolidWorks
before applying a feature (e.g. "chamfer the face I selected") instead
of guessing from coordinates or a screenshot. Each entry includes
enough geometry (bounding box, center, area/length, normal where
applicable) to identify which face/edge is which, and the center
coordinates can be fed straight into add_chamfer/add_fillet's
"face:x,y,z" or coordinate edge_names syntax.

### `classify_feature_tree` (~82 tokens)

Classify Feature Tree

Classify the active model into a feature family from model-info and tree data.

This is a read-before-write helper for delegation. It summarizes whether the current
document looks like a direct-MCP solid, sheet metal workflow, advanced VBA-backed part,
assembly, drawing, or an insufficient-evidence case.

Input parameters:

- `input_data` (object, required): The input data value.

### `list_configurations` (~40 tokens)

List Configurations

List configuration names for the active SolidWorks document.

Returns all available configuration names so callers can select a stable target before
invoking feature or export operations.

### `manage_file_properties` (~61 tokens)

Manage File Properties

Read, update, copy, move, rename, or delete file-related properties.

Uses the requested operation and file paths to manage SolidWorks file metadata or
related file lifecycle tasks through the active adapter.

Input parameters:

- `input_data` (object, required): The input data value.

### `convert_file_format` (~58 tokens)

Convert File Format

Convert a SolidWorks file from one format to another.

Supports exporting source files to target formats such as STEP, IGES, STL, PDF, or other
adapter-supported conversion outputs.

Input parameters:

- `input_data` (object, required): The input data value.

### `batch_file_operations` (~59 tokens)

Batch File Operations

Run a file operation across multiple files as a batch workflow.

Intended for repetitive file management tasks such as copying, moving, renaming, or
deleting groups of SolidWorks documents.

Input parameters:

- `input_data` (object, required): The input data value.

### `load_part` (~59 tokens)

Load Part

Load (open) a SolidWorks part file.

Convenience wrapper that opens a .sldprt file and makes it the active document. Provides
a simpler alternative to open_model for parts.

Input parameters:

- `input_data` (object, required): The input data value.

### `load_assembly` (~60 tokens)

Load Assembly

Load (open) a SolidWorks assembly file.

Convenience wrapper that opens a .sldasm file and makes it the active document. Provides
a simpler alternative to open_model for assemblies.

Input parameters:

- `input_data` (object, required): The input data value.

### `save_part` (~62 tokens)

Save Part

Save the active SolidWorks part document.

Convenience wrapper that saves the currently active part. If no file_path is provided,
saves to the existing location. Otherwise, saves as a new file.

Input parameters:

- `input_data`: The input data value. Defaults to None.

### `save_assembly` (~63 tokens)

Save Assembly

Save the active SolidWorks assembly document.

Convenience wrapper that saves the currently active assembly. If no file_path is
provided, saves to the existing location. Otherwise, saves as a new file.

Input parameters:

- `input_data`: The input data value. Defaults to None.

### `pack_and_go_assembly` (~101 tokens)

Pack And Go Assembly

Copy a SolidWorks assembly and all its referenced parts to a self-contained folder.

Enumerates every component referenced by the active assembly, copies the
assembly and each part into ``target_dir``, then rewrites the stored
component paths inside the copied assembly so it opens without any
dependency on the original file locations — equivalent to the SolidWorks
GUI Pack-and-Go operation.

Input parameters:

- `input_data`: The input data value. Defaults to None.

### `list_open_documents` (~60 tokens)

List Open Documents

List every SolidWorks document that is currently open.

Read-only — does not change which document is active. Use it to
discover what is open (an assembly plus its parts, a drawing plus its
model) before switching with ``activate_document``.

### `activate_document` (~70 tokens)

Activate Document

Switch which open document is the active one.

Matches the argument against open documents by title, full path, or
file name (case-insensitive), calls ``ActivateDoc3``, and reads the
active document back to confirm the switch took.

Input parameters:

- `input_data` (object, required): Which document to activate.

### `save_body_as_part` (~108 tokens)

Save Body As Part

Extract one solid body from the active multibody part to a new file.

Runs SolidWorks' Save Bodies on a single named body, writing a
standalone part to ``file_path``. The body is matched by name against
the active part's solid bodies; the response lists every solid body
found, so an unknown name reports the real options. Success is
confirmed by the file existing on disk afterwards.

Input parameters:

- `input_data` (object, required): The body name and target path.

### `generate_vba_extrusion` (~32 tokens)

Generate Vba Extrusion

Generate VBA code for complex extrusion operations.

Input parameters:

- `input_data` (object, required): The input data value.

### `generate_vba_revolve` (~31 tokens)

Generate Vba Revolve

Generate VBA code for complex revolve operations.

Input parameters:

- `input_data` (object, required): The input data value.

### `generate_vba_assembly_insert` (~32 tokens)

Generate Vba Assembly Insert

Generate VBA code for assembly component insertion.

Input parameters:

- `input_data` (object, required): The input data value.

### `generate_vba_drawing_views` (~32 tokens)

Generate Vba Drawing Views

Generate VBA code for drawing view creation.

Input parameters:

- `input_data` (object, required): The input data value.

### `generate_vba_batch_export` (~32 tokens)

Generate Vba Batch Export

Generate VBA code for batch file export operations.

Input parameters:

- `input_data` (object, required): The input data value.

### `generate_vba_part_modeling` (~33 tokens)

Generate Vba Part Modeling

Generate VBA code for complex part modeling operations.

Input parameters:

- `input_data` (object, required): The input data value.

### `generate_vba_assembly_mates` (~33 tokens)

Generate Vba Assembly Mates

Generate VBA code for assembly mate creation.

Input parameters:

- `input_data` (object, required): The input data value.

### `generate_vba_drawing_dimensions` (~41 tokens)

Generate Vba Drawing Dimensions

Generate VBA code for creating drawing dimensions.

Creates macro for various dimension types in drawings.

Input parameters:

- `input_data` (object, required): The input data value.

### `generate_vba_file_operations` (~31 tokens)

Generate Vba File Operations

Generate VBA code for file management operations.

Input parameters:

- `input_data` (object, required): The input data value.

### `generate_vba_macro_recorder` (~32 tokens)

Generate Vba Macro Recorder

Generate VBA code using macro recording patterns.

Input parameters:

- `input_data` (object, required): The input data value.

### `extract_template` (~28 tokens)

Extract Template

Extract template from existing SolidWorks model.

Input parameters:

- `input_data` (object, required): The input data value.

### `apply_template` (~50 tokens)

Apply Template

Apply a template to an existing SolidWorks model.

This tool applies saved template settings including properties, dimensions, and
formatting to the target model.

Input parameters:

- `input_data` (object, required): The input data value.

### `batch_apply_template` (~48 tokens)

Batch Apply Template

Apply template to multiple models in batch.

This tool processes multiple SolidWorks files and applies the same template
configuration to all matching files.

Input parameters:

- `input_data` (object, required): The input data value.

### `compare_templates` (~45 tokens)

Compare Templates

Compare two templates and generate difference report.

This tool analyzes differences between templates to help understand variations in
formatting and properties.

Input parameters:

- `input_data` (object, required): The input data value.

### `save_to_template_library` (~45 tokens)

Save To Template Library

Save template to the organization's template library.

This tool manages a centralized template library with categorization and version
control.

Input parameters:

- `input_data` (object, required): The input data value.

### `list_template_library` (~43 tokens)

List Template Library

List available templates from the template library.

This tool provides browsing and searching capabilities for the organization's template
library.

Input parameters:

- `input_data` (object, required): The input data value.

### `start_macro_recording` (~46 tokens)

Start Macro Recording

Start recording a SolidWorks macro.

This tool initiates macro recording to capture user actions for later playback and
automation.

Input parameters:

- `input_data` (object, required): The input data value.

### `stop_macro_recording` (~49 tokens)

Stop Macro Recording

Stop macro recording and save the recorded macro.

This tool stops the active recording session and saves the generated macro code to a
file.

Input parameters:

- `input_data` (object, required): The input data value.

### `execute_macro` (~103 tokens)

Execute Macro

Run a binary SolidWorks macro (.swp, or legacy .swb).

Calls ``ISldWorks::RunMacro2`` on ``macro_path`` (or ``macro_file``).
Only binary macros run: VBA source (.vb, .bas, plain text) is
rejected as ``invalid_input`` before anything reaches SolidWorks.
The macro must not be interactive (no MsgBox or user forms).

Input parameters:

- `input_data` (object, required): The input data value.

### `analyze_macro` (~49 tokens)

Analyze Macro

Analyze a macro for complexity, dependencies, and optimization opportunities.

This tool provides insights into macro structure and performance to help with
optimization and maintenance.

Input parameters:

- `input_data` (object, required): The input data value.

### `batch_execute_macros` (~44 tokens)

Batch Execute Macros

Handle batch execute macros.

This tool allows running multiple macros in sequence or parallel for complex automated
workflows.

Input parameters:

- `input_data` (object, required): The input data value.

### `optimize_macro` (~41 tokens)

Optimize Macro

Optimize an existing macro for better performance and reliability.

This tool analyzes and suggests improvements to existing macro code.

Input parameters:

- `input_data` (object, required): The input data value.

### `create_macro_library` (~52 tokens)

Create Macro Library

Create a library of organized macros for team sharing and reuse.

This tool sets up a structured macro library with categorization, documentation, and
version control.

Input parameters:

- `input_data` (object, required): The input data value.

### `discover_solidworks_docs` (~75 tokens)

Discover Solidworks Docs

Discover and index SolidWorks COM and VBA documentation.

Creates a searchable index of all available COM objects, methods, properties, and VBA
libraries for the installed SolidWorks version. Useful for building context for
intelligent MCP tool selection and documentation queries.

Input parameters:

- `input_data`: The input data value. Defaults to None.

### `search_solidworks_api_help` (~61 tokens)

Search Solidworks Api Help

Search SolidWorks API help index and return coherent guidance.

This tool helps when the LLM gets stuck by mapping user intent to discovered COM members
and practical MCP workflow guidance.

Input parameters:

- `input_data`: The input data value. Defaults to None.

### `lookup_api_method` (~87 tokens)

Lookup Api Method

Look up one SolidWorks API method or property by interface + name.

Confirms the member is indexed on that interface and returns its
sibling members for context. The local index stores names only, so
full signatures (parameters, return type) are not available here - use
search_solidworks_api_help or help.solidworks.com for those.

Input parameters:

- `input_data`

### `lookup_api_interface` (~29 tokens)

Lookup Api Interface

List every indexed member (methods + properties) of a COM interface.

Input parameters:

- `input_data`

### `find_related_api_members` (~58 tokens)

Find Related Api Members

Find API members related to a known interface or member name.

For an interface: its own members. For a member: the other members of
every interface that also exposes it, plus name-substring matches.

Input parameters:

- `input_data`

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/andrewbartels1-solidworks-mcp-python/solidworks-mcp-python#diagnostics

## Score history

- 2026-11-05: 77
- 2026-11-04: 62
- 2026-11-03: 77
- 2026-11-02: 62

## Common questions

### What is the SolidWorks MCP server?

SolidWorks MCP is listed in the public MCP registry as io.github.andrewbartels1/solidworks-mcp-python. Drive SolidWorks from AI agents: parts, assemblies, drawings and export over the COM API. This page covers its PyPI package (solidworks-mcp-python).

### Is the SolidWorks MCP server safe to use?

SolidWorks MCP scores 77 out of 100 on VerifyMCP. Its build provenance is signed and verified. 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 SolidWorks MCP server expose?

SolidWorks MCP exposes 154 tools: open_model, create_part, create_assembly, create_drawing, close_model, and 149 more. Their descriptions and schemas cost roughly 10,924 tokens of context every time the server is loaded.

### Is the SolidWorks MCP server still maintained?

SolidWorks MCP is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the SolidWorks MCP server under?

SolidWorks 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.

## Links

- PyPI project: https://pypi.org/project/solidworks-mcp-python/
- Socket report: https://socket.dev/pypi/package/solidworks-mcp-python
- Repository: https://github.com/andrewbartels1/SolidworksMCP-python
- Website: https://andrewbartels1.com/SolidworksMCP-python/
- Changelog RSS feed: https://verifymcp.io/servers/andrewbartels1-solidworks-mcp-python/solidworks-mcp-python.xml
- Changelog JSON feed: https://verifymcp.io/servers/andrewbartels1-solidworks-mcp-python/solidworks-mcp-python.json
- HTML version of this page: https://verifymcp.io/servers/andrewbartels1-solidworks-mcp-python/solidworks-mcp-python
