Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

SolidWorks

by hjbaardversion 0.19.0i★ –iRuns on your computer
Registry nameio.github.hjbaard/solidworks-mcp

Install

Overview

Description from the maker (original English)

Model, measure and verify parametric parts and assemblies in a running SolidWorks (Windows).

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

You need

  • PyPIPython’s uv installed (for the uvx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "solidworks": {
      "command": "uvx",
      "args": [
        "solidworks-mcp"
      ]
    }
  }
}

Run this in your terminal

claude mcp add solidworks -- uvx solidworks-mcp

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "solidworks": {
      "command": "uvx",
      "args": [
        "solidworks-mcp"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "solidworks": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "solidworks-mcp"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account hjbaard, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 18476 servers in this category
  • Published to the registry more recently than 89% of the other 18476 servers in this category
  • Basic checks equal to or better than 100% of the other 18476 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is SolidWorks safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.19.0) reached the registry 5 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, UniMCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

by formulahendryEarly↓ 66/wk★ 440Updated 14 months ago

Runs on your computer

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

by desktop-commanderGrowing★ 211Updated 3 days ago

Runs in the cloud✓ desktopcommander.app

UniMCP

Aula virtual (Moodle) y SIU Guaraní de universidades argentinas: cursos, entregas, notas, historia.

by HyNuwaVery new↓ 241/wkUpdated today

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

SolidWorks MCP

Let an AI agent (Claude, or any other MCP client) model real parametric parts and assemblies in your own SolidWorks — and check its own work. Every modelling call returns the measured volume, mass and bounding box, so the agent can compare the result with the spec and correct itself instead of guessing that it "looks about right".

Built by the tools themselves: a mounting bracket (every step checked against a hand calculation), an M10 bolt with a real thread, a revolved + shelled vase, a swept pipe, a lofted + shelled horn.

Why this server

  • It verifies, not just generates. Features report measured geometry; dimensions and mates are measured back after the rebuild.
  • Fully defined sketches. Every sketch is constrained the way a designer would: dimensions from the origin, relations only where the geometry is exactly horizontal, vertical or on the origin. Tools return their dimensions by role (width@Sketch1), so the part stays editable, in SolidWorks or through the agent.
  • Real CAD, not just primitives. Extrude, revolve, sweep, loft and splines; holes, counterbores, slots and pockets on any face; rounded polygon corners; ISO holes from the Hole Wizard; real ISO metric threads; fillets, chamfers, shells, patterns, mirrors, ribs, equations and materials. Assemblies with mates and interference checks. STEP/STL/3MF export and screenshots. Engraved and embossed text. Work on existing parts: list, delete, suppress and reorder features; read, extrude and cut a person's sketches; import STEP. Colours per part or component. Joints with concentric and angle mates, checked over their range. Printability checks and dimensioned drawings. Planes at any offset or angle. Several bodies per part, combined and split. Variable fillets and full rounds. Free sketches with tangent arcs and splines. 88 tools in total.
  • It fails loud. A call that cannot do what was asked returns {ok: false, error} with the cause, never silently wrong geometry.
  • A fixed, typed tool surface. There is no "run arbitrary code" tool; the agent can only do what the tools allow.
  • Tested against real SolidWorks. 733 tests; each feature's integration test compares the result with a hand calculation.
  • Local. It talks to your running SolidWorks over COM; the server itself makes no network calls.

Quickstart

  1. Install uv.
  2. Start SolidWorks and leave it open (the server attaches to the running instance — it does not launch one).
  3. Register the server with your MCP client.

Claude Code:

   claude mcp add solidworks -- uvx solidworks-mcp

Claude Desktop (claude_desktop_config.json) or any other client:

   {

"mcpServers": { "solidworks": { "command": "uvx", "args": ["solidworks-mcp"] } } }

It is also listed in the official MCP Registry as io.github.hjbaard/solidworks-mcp.

  1. Ask for a part, for example:

Design a 100 × 80 × 8 mm mounting plate with a Ø16 mm centre bore, four

counterbored M5 holes 12 mm from the corners and R5 corners. Check the

volume against your own calculation, then export a fine STL.

Guidelines for agents

The server hands every MCP client short modelling guidelines when it connects (conventions, verify each step, known pitfalls). The full guide is the resource solidworks://guide: recipes for holes, ribs, threads and assemblies, 3D-print advice, and how to reverse-engineer a part from a mesh (STL/3MF). The same text is in src/solidworks_mcp/guide.md.

Requirements and compatibility

  • Windows, with SolidWorks installed, licensed and running.
  • Python 3.11+ (uv fetches one if needed).
  • A Y-up part template, SolidWorks' standard. Since SOLIDWORKS 2025 new parts can also be Z-up; the tools build in the Y-up frame and refuse a Z-up part with a message that says so. Choosing Y-up in the New Document dialog is not used for parts made through the API: make a Y-up part, save it as a .prtdot, and set that file as the part template under Tools > Options > System Options > Default Templates.
  • Tested on SOLIDWORKS 2026 (3DEXPERIENCE R2026x). The API calls it uses exist since SOLIDWORKS 2020 SP2, so 2020–2025 should work, but that is untested. To check your installation, run this with SolidWorks open:
  uvx solidworks-mcp --selftest

It builds a few small parts, compares each with a hand calculation and closes them unsaved. Please paste its output in a compatibility report, whether it worked or not.

Status: early (0.x). It works end-to-end, but tool names and conventions may still change. See CHANGELOG.md.

Troubleshooting

  • Start with the selftest: uvx solidworks-mcp --selftest shows your SolidWorks release, language and templates, and which tool areas work. Add its output to a bug report.
  • "No running SolidWorks found" / connection fails — SolidWorks must be *running* before you start the server or run a script; it attaches to the active instance via GetActiveObject and does not launch one.
  • First call is slow or `EnsureModule` errors — the first COM call generates the makepy typelib wrappers under your temp gen_py folder. Let it finish; if it gets into a bad state, delete the gen_py cache and retry. Early binding is mandatory on this build (see Architecture).
  • A feature returns `{ok: false, error: ...}` — that is by design: every tool fails loud with a readable message rather than silently producing wrong geometry. Read the message; it names the likely cause.
  • Only tested against SOLIDWORKS 2026 (3DEXPERIENCE R2026x). On other builds the verified enum values or method signatures may differ — re-run scripts/introspect_api.py to inspect your installed typelib.

Development

Clone the repository, then install it editable into a venv:

python -m venv .venv

.\.venv\Scripts\python.exe -m pip install -e .[dev]

To run the MCP server from this checkout instead of via uvx, point your client at the venv's Python:

{

"mcpServers": { "solidworks": { "command": "C:\\path\\to\\SolidWorks-MCP\\.venv\\Scripts\\python.exe", "args": ["-m", "solidworks_mcp.server"] } } }

Run the verification scripts

With SolidWorks open:

.\.venv\Scripts\python.exe scripts\probe_connection.py     # M0

.\.venv\Scripts\python.exe scripts\m1_block.py # M1 .\.venv\Scripts\python.exe scripts\m2_parametric.py # M2 .\.venv\Scripts\python.exe scripts\test_mcp_server.py # M3 (full MCP loop over stdio) .\.venv\Scripts\python.exe scripts\m5_demo_bracket.py # M5 (3D-print bracket, every step verified)

scripts/introspect_api.py regenerates/inspects the installed typelib and prints verified enum values — run it if SolidWorks is upgraded and signatures change.

Tests
.\.venv\Scripts\python.exe -m pytest                 # all tests

.\.venv\Scripts\python.exe -m pytest -m "not solidworks" # fast unit layer, no SolidWorks

Two layers: pure unit tests (units, selector/direction parsing, polygon cleaning, the component-placement maths, and that every MCP tool forwards its arguments to the right session method) run anywhere; integration tests (solidworks marker) drive a running SolidWorks and verify each feature's volume — or each component's placement — against a hand calc. They auto-skip if SolidWorks isn't reachable.

Tools

The server speaks MCP over stdio.

Part tools
ToolPurpose
get_statusIs SolidWorks reachable? revision, server version, active/current part
new_partCreate a new empty part (becomes current)
add_box(width_mm, height_mm, depth_mm, name)Sketch rectangle + extrude; returns mass properties
add_cylinder(diameter_mm, height_mm, name)Cylinder by revolving a profile 360° about an axis (Y axis)
add_disc(diameter_mm, thickness_mm, name, x_mm, y_mm)Disc/puck/flange: circle extruded along +Z, centred at (x, y) (holes/patterns compose)
add_cone(bottom_diameter_mm, top_diameter_mm, height_mm, name)Cone/frustum by revolve (top Ø = 0 → full cone)
add_revolved_profile(profile_mm, angle_deg, name, corner_radii_mm, axis_mm)Revolve any closed (radius, height) profile about the Y axis (shafts, vases, rings), or [x, y] points about any line axis_mm on the Front plane; corner_radii_mm rounds its edges
add_swept_pipe(path_mm, diameter_mm, bend_radius_mm, name, smooth)Sweep a round profile along a 2D path with rounded bends (pipes, tubes, rods), or along a spline through the points with smooth=True
add_swept_profile(profile_mm, path_mm, bend_radius_mm, name, corner_radii_mm)Sweep any closed cross-section along a 2D path (rails, gaskets, trim, channels); corner_radii_mm rounds the cross-section
add_lofted_solid(profiles_mm, heights_mm, name)Loft/blend 2+ polygon or round profiles on stacked parallel planes (transitions, adapters, a leg thick at the knee)
loft_sketches(sketches, name)Loft through 2+ closed sketches on any planes, in order, so a loft runs in any direction
add_rib(start_mm, end_mm, toward_mm, thickness_mm, z_mm, name)Straight rib / gusset in a plane parallel to Front at z_mm, grown toward toward_mm until it meets the part (L-bracket gussets)
add_extruded_profile(points_mm, depth_mm, name, corner_radii_mm, rotate_deg, about_mm, draft_deg, merge)Extrude any closed polygon [[x,y],…] (brackets, sections); corner_radii_mm rounds its corners with real sketch fillets, each radius a dimension; rotate_deg turns it about a pivot; draft_deg tapers its walls; merge=False keeps a separate body
add_plane(base, offset_mm, angle_deg, about, name)A reference plane offset from a plane, or turned about a model axis; its offset or angle a dimension; gives its origin and axes
add_extruded_profile_on_plane(points_mm, plane, depth_mm, reverse, name, corner_radii_mm, draft_deg, merge)Extrude a polygon drawn on any plane (3D points on it), merged with the part
list_bodies()The part's solid bodies: name, volume, bounding box

| combine_bodies(operation, main, tools, name) | Add, su

Only the beginning is shown; read the rest in the repo

Ask PopNx