SOLIDWORKS Bridge
Public Made by Adomby adom
Launch, model and quit SOLIDWORKS from any Adom container. Nothing is ever lost.
Where swx stands in the ecosystem
swx v0.3.0 measured against the Adom Fusion 360 bridge v1.9.341 (the gold standard we mirror) and against every public SOLIDWORKS MCP server we could find · written 2026-09-03
Executive summary
- swx is the only SOLIDWORKS implementation here with a published live-run record. Three runs against a real SOLIDWORKS Design Professional for Makers 2026 install (22-aborted, 120/9, then 125 passed / 5 failed), 19 verbs proven end to end, with measured p90 timings. One competitor (SolidPilot) also claims live validation and is credible about it; the other three are explicit that most or all of their tools are unvalidated, mock, or hobby-grade.
- On raw modeling breadth we are behind SolidPilot — its sketch/feature/assembly/drawing surface is deeper than ours and it is the most mature project in this space by a wide margin.
- On safety we are ahead of all five, and alone. No other project has a write gate. swx writes are deny-by-default at a single choke point, enforced independently at two layers, hardened over eight adversarial review rounds, and the posture held through every live run — three times the bridge failed CLOSED rather than touch the wrong document.
- Our other unique strengths: BOM-first and configuration-aware design (BOM aggregates per
(file, configuration) pair — nobody else models this); native GLB with no optimisation service;
an action ledger plus measured per-verb timings; census-not-dismiss dialog etiquette with
neverAutoAnswerclasses; and real host-ecosystem integration (Adom Bridge verbs, the user's Activity Log, a shipped skill) where every competitor is a bare MCP server for Claude Desktop. - Our real gaps, stated plainly: no cloud/3DEXPERIENCE document access (21 Fusion verbs; a separate OAuth project of roughly the size of the Fusion bridge's APS work); assemblies-with-components, drawings and 2D exports are mock-only because the Makers edition would not let an assembly be populated; and there is no in-process scripting host — a typed JSON DSL stands in.
- Launch was our headline "cannot", and that changed today.
CoCreateInstancereturnsCO_E_SERVER_EXEC_FAILUREon the Connected editions, but a sanctioned launch path via the 3DEXPERIENCE shortcut chain (CATSTART.exe→SWXDesktopLauncher) was discovered 2026-09-03. Implementation is in progress and not yet live-proven. - Scripting has a second route now too: SOLIDWORKS
RunMacro2for.swpVBA macros, VSTA, and C# add-ins are under investigation — with the caveat that the Makers edition restricts third-party add-ins while still running macros. Four of the five competitors already lean on VBA; we do not yet. - Licensing is simple and decision-relevant: exactly one copyleft player — SolidPilot is AGPL-3.0 with a paid commercial option — and everything else, ours included, is MIT. We can read and learn from SolidPilot; we must not vendor its code.
- Electronics is not a gap. 51 of the Fusion bridge's 132 verbs are Fusion Electronics, EAGLE libraries, or Autodesk-specific plumbing. SOLIDWORKS has no concept to bridge to, and no competitor attempts it either.
How to read the cells
| Mark | Means |
|---|---|
| ✓ live | Executed against a real, licensed CAD install and observed to do what it claims. |
| ✓ | Built and shipped, or claimed by the project's own README. Evidence level is stated per row. |
| ⚠ mock | Built and mock-tested only; never executed live in any form. |
| partial | Some of the capability, materially incomplete. |
| ✗ | Absent. |
| n/a | No concept exists to bridge to in that product. |
| WIP | Route identified, implementation in progress, not yet proven. |
| ? | Could not be determined from the repository. |
Evidence discipline: for Fusion bridge and swx, cells come from source we hold — the Fusion
bridge's own describe.py catalog (133 entries, 132 real verbs) and docs/FUSION-PARITY-REPORT.md.
For every competitor column, cells are read-from-README unless the row note says otherwise. Nobody
in the competitor set was installed or run. Licences and star counts were verified against the GitHub
API on 2026-09-03, not read off a badge.
The master table
35 capability rows × 7 implementations. Verb counts: Fusion bridge 132, swx 60, SolidPilot ~46 tools, vespo92 ~30+, bartels 122, Schildkraut ~16 tools + 100+ VBA templates, alisamsam 22.
| # | Capability | Fusion bridge | swx v0.3 | SolidPilot (AGPL-3.0!) | vespo92 (MIT) | bartels (MIT) | Schildkraut (MIT) | alisamsam (MIT) |
|---|---|---|---|---|---|---|---|---|
| 1 | Session lifecycle — attach, stop, kill | ✓ | ✓ live attach · ⚠ mock stop/kill | ✓ attach | ? | ✓ attach | ? | ✓ attach |
| 2 | Launch the CAD application (and install it) | ✓ launch + silent install | WIP — refused by SOLIDWORKS; 3DEXPERIENCE chain found 2026-09-03 | ✓ claims COM launch | ✗ | ✗ needs SW already open | ? | ✗ needs running instance |
| 3 | Requires an in-app add-in | yes (3 verbs to manage it) | no — out-of-process COM | no (C# COM server) | no | no | no | no |
| 4 | Open a local file · disk discovery | ✓ open · ✗ discovery (cloud-native) | ✓ live open · ✓ find_files |
✓ open · ✗ | ✓ (untested) | ✓ | ✓ | ✓ open · ✗ |
| 5 | Create a new document | ✗ (docs arrive from cloud/import) | ✓ live | ✓ part + assembly | ✓ (untested) | ✓ | ✓ | ✓ part + assembly |
| 6 | Save / Save As with overwrite protection | ✓ cloud save · ✗ overwrite guard | ✓ live save_as · ✓ overwrite guard (unique) | ✓ save · ✗ guard | ✓ (untested) · ✗ guard | ✓ · ✗ guard | ✓ · ✗ guard | ✓ · ✗ guard |
| 7 | Cloud document store — search, list, open, up/download | ✓ 21 verbs (APS Data Management) | ✗ lacking — swx_cloud_status returns the honest probe |
✗ | ✗ | ✗ | ✗ | ✗ |
| 8 | Cloud / vendor sign-in + OAuth | ✓ 9 verbs (incl. 2FA, web sign-in) | ✗ lacking | ✗ | ✗ | ✗ | ✗ | ✗ |
| 9 | Parametric modeling — sketch → feature | ✓ (Python script in-process) | ✓ live typed DSL (50×30×20 solid, p90 10.2s) | ✓ live — deepest surface here | partial (basic ops only) | ✓ claimed | ✓ via VBA templates | ✓ basic |
| 10 | In-process scripting host (arbitrary code) | ✓ Python eval inside Fusion |
adapted — typed JSON DSL, validated pre-COM; swx_com_eval escape hatch |
✗ by design (deterministic compiler) | ✗ | ✗ | ✗ | ✓ execute_python in SW context |
| 11 | Macros / VBA — generate, record, execute | n/a (Fusion has no VBA) | WIP — RunMacro2 / VSTA / C# add-in under investigation |
✗ explicitly unsupported | partial (gen works, exec untested) | ✓ | ✓ strongest (record/export/execute + 100+ templates) | ✗ |
| 12 | Assemblies — insert components, mates | ✓ via script | ⚠ mock — AddComponent5 returned Nothing on this edition |
✓ live insert + mate + diff | ✗ | ✓ claimed | ✓ via VBA | partial (create doc only) |
| 13 | Drawings — create, views, dimensions | ✗ no drawing verbs | partial — creation ✓ live, views/dims not built | ✓ live 9 tools; 9 real drawings reconstructed | ✓ (untested) | ✓ claimed | ✓ via VBA | ✗ |
| 14 | Import neutral CAD (STEP etc.) | ✓ | ✓ live (p90 7.8s) | ✓ via 3D Interconnect | ? | ? | ? | ✗ |
| 15 | Export 3D — STEP/IGES/STL/3MF/SAT/Parasolid | ✓ 8 formats | ✓ live 6 proven; 17 formats in table; OBJ refused by SOLIDWORKS | ✓ STEP/IGES/STL | ✓ (untested) | ✓ | ✓ | ✗ none |
| 16 | Export native GLB (web 3D) | ✓ but needs an optimisation service | ✓ live, direct — unique | ✗ | ✗ | ✗ | ✗ | ✗ |
| 17 | Export 2D / document — PDF, DXF, DWG | ✓ DXF/DWG · ✗ PDF | ⚠ mock all three (refused for a part; untested from a drawing) | ✓ PDF/DWG/DXF | ✓ (untested) | ✓ | ✗ | |
| 18 | BOM | ✓ assembly + electronics BOM | ⚠ mock — *but per (file, configuration), the richest design here* | ✗ on the roadmap | ✗ | ✗ | ✓ table insertion | ✗ |
| 19 | Mass / physical properties | ✓ | ✓ live (aluminium, 81 g agreeing) | ✓ live (verified ≤1%) | ✓ (untested) | ✓ claimed | ✓ claimed | ✗ |
| 20 | Design-health — interference detection, rebuild census | ✗ neither | partial — interference ⚠ mock (object confirmed live), rebuild_check built |
partial (analyze_model/verify_state; no interference) |
✓ (untested) | ✗ explicitly not yet | ✓ via VBA | ✗ |
| 21 | Parameters / dimensions — read and drive | ✓ read | ✓ live — drove a dimension to 25 mm, model moved | ✓ modify_dimension |
✓ (untested) | ✓ claimed | ✓ equations | ✗ |
| 22 | Custom properties (file and per-configuration) | partial (buried in the attribute model) | ✓ props_get/props_set |
✗ | ✗ | ? | ✓ | ✗ |
| 23 | Configurations / design tables | ✗ no equivalent concept | ✓ configuration-aware (BOM, properties) · ✗ design tables | ✗ | partial (vba_configurations, untested) |
partial | ✓ strongest (design tables + SQL) | ✗ |
| 24 | Pack and Go — collect a design + all references | ✗ | ✓ built (gated), ⚠ mock | ✗ | ✗ | ✗ | partial (batch ops) | ✗ |
| 25 | PDM / vault integration | n/a | ✗ not built | ✗ | ✗ | ✗ | ✓ only one (5 tools) | ✗ |
| 26 | Application preferences — read and write | ✓ incl. driving the settings modal | ✓ live (written, then read back) · modal driving declined by design | ✗ | ✗ | ✗ | ✗ | partial (set_units) |
| 27 | Screenshots + window management | ✓ | ⚠ mock (delegated to ab; SKIPPED in live runs) | ✗ | ✗ | ✗ | ✗ | ✗ |
| 28 | Blocking-dialog handling | ✓ dismisses them | adapted — censuses by default; neverAutoAnswer classes never closed |
✗ | ✗ | ✗ | ✗ | ✗ |
| 29 | Electronics — schematic, PCB, Gerbers, CPL, design rules | ✓ 15 verbs | n/a | n/a | n/a | n/a | n/a | n/a |
| 30 | Component libraries / 3D packages (EAGLE .lbr) |
✓ 23 verbs | n/a | ✗ | ✗ | ✗ | ✗ | ✗ |
| 31 | Vendor MCP-server proxy | ✓ 6 verbs (Autodesk ships one) | n/a — Dassault ships none | n/a (is itself an MCP server) | n/a | n/a | n/a | n/a |
| 32 | Bridge infrastructure — self-describe, shipped docs, guided demo, uninstall | ✓ all four | ✓ describe/docs/uninstall · ✗ demo (deferred v0.4) | partial (13 MCP resources) | ✗ | partial (docs audit) | partial (resource registry) | ✗ |
| 33 | Action ledger + measured per-verb timings | ✓ ledger, verb times, live feed, alerts | ✓ ledger + timings recorded live | ✗ (dev log only) | ✗ | ✗ logging only | partial ("enhanced logging") | ✗ |
| 34 | Deny-by-default write gate | ✗ no gate, no confirm/reason in its catalog | ✓ live — unique. Two independent layers, 8 adversarial rounds, held in all 3 live runs | ✗ | ✗ | partial ("adapter safety wrappers") | partial (macro exec needs permission) | ✗ |
| 35 | Host-ecosystem integration (Adom Bridge, Activity Log, skill) | ✓ native | ✓ native | ✗ MCP clients only | ✗ | ✗ | ✗ | ✗ |
(35 numbered rows; rows 29–31 are the N/A block that accounts for most of the Fusion verb-count gap.)
Per-competitor notes
SolidPilot — eyfel/mcp-server-solidworks · AGPL-3.0 + paid commercial · 265★ · C# + Python
The one to take seriously. Four-layer architecture: an AI planner emits a CAD-neutral Feature Graph
IR, a deterministic Python compiler lowers it to ordered tool calls, and a single C# .NET 4.8
execution layer on one STA thread is the only code that touches COM. ~46 tools, 13 MCP resources.
Its README makes verifiable-shaped claims — production parts round-tripped analyze_model → IR →
rebuild_from_ir → compare_parts to a verified match on exact topology and mass properties, nine
real manufacturing drawings reconstructed to ≤0.02% weight match. Deeper than us on modeling,
assemblies, sheet metal and drawings. Has no BOM (on the roadmap), no configurations, no custom
properties, no preferences, no screenshots, no macros (deliberately — the compiler replaces scripting),
no write gate, and no ecosystem beyond Claude Desktop. Its ensure_ready claims to launch SOLIDWORKS
via COM, which is plausible on a classic desktop install and would fail exactly as ours does on
Connected/Makers. Evidence: README only. Not installed, not run.
vespo92/SolidworksMCP-TS — MIT · 222★ · TypeScript + winax
Second-most-starred and the most candid: labelled "Alpha / Experimental", with the README stating
that "most tools have not been validated against a live SolidWorks instance" and that no real
integration tests exist. Its own coverage table grades Modeling "Partially tested" and Drawing, Export,
Analysis and Macro all "Untested". Broad tool surface on paper (modeling, sketch, drawing, export,
analysis with check_interference and get_mass_properties, VBA generation, macro recording); no
assemblies, no BOM. Last pushed 2026-05. Useful as a naming/API reference, not as evidence that
anything works.
andrewbartels1/SolidworksMCP-python — MIT · 67★ · Python
122 tools per today's README (the figure was 109 earlier — it is moving; pushed 2026-09-02), across
modeling, sketching, drawing, analysis, export, automation, templates and macros. Self-described
"hobby/research product" and "under active construction", and it ships an explicit mock warning:
"Mock adapter output is simulated and should not be treated as engineering truth." Runs in mock mode
unless started with --real, and --real requires SOLIDWORKS to already be open — the same
attach-only constraint we have, arrived at without comment. Explicitly does not do checkpoint-level
interference validation. Highest tool count in the field, lowest evidence-per-tool.
Adam-Schildkraut/solidworks-mcp — MIT · 1★ · TypeScript · last push 2025-08
Small but oddly complementary: it is the only project with PDM tools (configure, check-in,
check-out, workflow, folder structure), the only one with SQL-driven design tables for
configurations, and it leans hardest on VBA — macro record/stop/export/execute plus a claimed 100+
VBA generation templates covering part features, assembly mates and interference, drawing views and
tables, custom properties and batch/PDM operations. No validation statement of any kind, one star,
and its README's support links point at a different org (vinnieespo/solidworks-mcp-server), so treat
it as derived work of uncertain provenance. The template library is the interesting artefact here,
not the server.
alisamsam/Solidworks-MCP — MIT (verified) · 108★ · Python · 22 tools
Task brief listed its licence as unknown; the GitHub API confirms MIT, 108★, last pushed 2026-03.
Deliberately minimal and honest about it: connect to a running instance, part/assembly documents,
six sketch primitives, extrude/cut/fillet/chamfer, list features, set units — and execute_python,
which makes it the only project besides ours to offer a scripting escape hatch into a live SOLIDWORKS
session. It has no export tools at all, no drawings, no assembly mates, no BOM, no properties. It
is a clean starter kit, not a competitor for real work.
Licensing
This is the section with a decision in it.
SolidPilot (eyfel/mcp-server-solidworks) — AGPL-3.0, dual-licensed commercially. Verified from the repository's own licence metadata, not a badge. AGPL-3.0 is the strongest common copyleft: it extends GPL's obligations to network use, so anything we distribute that links or incorporates AGPL code must itself be released under AGPL, source included — and under the network clause, even offering it as a hosted service to users triggers the same obligation. For a bridge that ships inside Adom Bridge to customers, that is not a licence we can absorb. The author offers a paid commercial licence as the escape hatch. Conclusion: read it, learn from its architecture — the Feature Graph IR and the single-STA-thread C# COM boundary are both good ideas — and copy neither its code nor its files. Any IR-shaped work of ours must be independently written. If we ever want its code proper, that is a procurement conversation, not an engineering one.
vespo92/SolidworksMCP-TS — MIT. Verified. Permissive; we could vendor or adapt code with attribution. Given the project's own "most tools not validated" disclaimer there is little worth vendoring, but its tool naming is a fair reference.
andrewbartels1/SolidworksMCP-python — MIT. Verified. Permissive. Same caveat: mock-simulated output by default, so its value is as a map of the COM surface rather than as working code.
Adam-Schildkraut/solidworks-mcp — MIT. Verified. Permissive, and the VBA template library is the
one asset in the whole survey that MIT actually makes attractive to us — if the macros route
(RunMacro2) proves out, 100+ MIT-licensed VBA templates are a legitimate head start. Provenance is
murky enough that we should check the templates' own headers before reusing them.
alisamsam/Solidworks-MCP — MIT. Verified (previously unknown to us).
swx — MIT (bridge.json, LICENSE). We are on the permissive side of the field with everyone
except SolidPilot. Exactly one copyleft player; everything else MIT.
Additional items we can pull off
Capabilities nobody in this field has, which swx could add at low cost, roughly in order of value-per-effort:
- Drawing-sheet outputs — PDF + BOM tables from a
.slddrw. Our DXF/DWG/PDF exports are already built and refused for a part, which is the expected behaviour; the drawing is their real story and it is untested. SolidPilot builds drawings but does not ship a BOM; Schildkraut inserts BOM tables but has no evidence. A live-proven drawing → PDF-with-BOM path would be unique in this field. - Sanctioned launch via the 3DEXPERIENCE chain (
CATSTART.exe→SWXDesktopLauncher, found 2026-09-03). Closes our loudest documented "cannot", and no competitor has solved launch on a Connected edition — bartels and alisamsam simply require the app to be open already. - A macros bridge (
RunMacro2for.swp, then VSTA / C# add-ins). Buys back most of the in-process-scripting gap and would let us reuse an MIT template corpus. Caveat to settle first: the Makers edition restricts third-party add-ins but does run macros — which is precisely why macros, not add-ins, are the first move. - Configurations as a first-class surface. We are already configuration-aware in BOM and properties; enumerating, activating and diffing configurations is a small step, and Fusion has no equivalent concept at all. Design tables (Schildkraut's SQL trick) are the stretch goal.
- Pack and Go, proven live. Built and gated already; it needs an assembly with references to exercise. Nobody else has it.
- The action ledger and measured verb timings as a product feature, not plumbing. We have p90s from
real hardware (
run_script10.2s,new_document9.2s,import7.8s,save_as2.7s, all far inside budget). No competitor can tell a user what an operation will cost. - Wiki / molecule integration. Native GLB export already works live; the pipeline from a SOLIDWORKS part to a published molecule is ours to connect and is not even conceivable for a bare MCP server.
- Ship the deny-by-default posture as the marketed differentiator. It is the single strongest claim we have and it is evidenced: eight adversarial rounds, two independently-enforcing layers, and three live runs in which the bridge refused to touch the user's own open document — including one abort where it removed every file it had written. Every competitor in this survey will, on request, write to a path the user owns with no confirmation and no record.
- Per-component mass properties — small, and blocked only on being able to populate an assembly.
What is still unproven, and where
Nothing above changes the standing recommendation: run tools/live-smoke.py once SOLIDWORKS is
back up, started from the 3DEXPERIENCE Platform. It is what converts the ⚠ mock cells in column B into
✓ live — or finds the next bug, which is what happened all three previous times. The assembly verbs
(swx_bom, swx_interference, per-component mass properties) need a real multi-component assembly or a
classic desktop install; the 2D exports need a real .slddrw. And no competitor cell in this table is
better than read-from-README, because none of them was installed or run.
# Where swx stands in the ecosystem
**swx v0.3.0** measured against the Adom **Fusion 360 bridge v1.9.341** (the gold standard we mirror)
and against every public SOLIDWORKS MCP server we could find · written 2026-09-03
## Executive summary
- **swx is the only SOLIDWORKS implementation here with a published live-run record.** Three runs
against a real *SOLIDWORKS Design Professional for Makers 2026* install (22-aborted, 120/9, then
**125 passed / 5 failed**), 19 verbs proven end to end, with measured p90 timings. One competitor
(SolidPilot) also claims live validation and is credible about it; the other three are explicit that
most or all of their tools are unvalidated, mock, or hobby-grade.
- **On raw modeling breadth we are behind SolidPilot** — its sketch/feature/assembly/drawing surface is
deeper than ours and it is the most mature project in this space by a wide margin.
- **On safety we are ahead of all five, and alone.** No other project has a write gate. swx writes are
deny-by-default at a single choke point, enforced *independently* at two layers, hardened over eight
adversarial review rounds, and the posture held through every live run — three times the bridge failed
CLOSED rather than touch the wrong document.
- **Our other unique strengths:** BOM-first and configuration-aware design (BOM aggregates per
*(file, configuration)* pair — nobody else models this); native GLB with no optimisation service;
an action ledger plus measured per-verb timings; census-not-dismiss dialog etiquette with
`neverAutoAnswer` classes; and real host-ecosystem integration (Adom Bridge verbs, the user's
Activity Log, a shipped skill) where every competitor is a bare MCP server for Claude Desktop.
- **Our real gaps, stated plainly:** no cloud/3DEXPERIENCE document access (21 Fusion verbs; a separate
OAuth project of roughly the size of the Fusion bridge's APS work); assemblies-with-components,
drawings and 2D exports are mock-only because the Makers edition would not let an assembly be
populated; and there is no in-process scripting host — a typed JSON DSL stands in.
- **Launch was our headline "cannot", and that changed today.** `CoCreateInstance` returns
`CO_E_SERVER_EXEC_FAILURE` on the Connected editions, but a sanctioned launch path via the
3DEXPERIENCE shortcut chain (`CATSTART.exe` → `SWXDesktopLauncher`) was discovered 2026-09-03.
Implementation is in progress and **not yet live-proven**.
- **Scripting has a second route now too:** SOLIDWORKS `RunMacro2` for `.swp` VBA macros, VSTA, and C#
add-ins are **under investigation** — with the caveat that the Makers edition restricts third-party
add-ins while still running macros. Four of the five competitors already lean on VBA; we do not yet.
- **Licensing is simple and decision-relevant:** exactly **one** copyleft player — SolidPilot is
**AGPL-3.0** with a paid commercial option — and everything else, ours included, is **MIT**. We can
read and learn from SolidPilot; we must not vendor its code.
- **Electronics is not a gap.** 51 of the Fusion bridge's 132 verbs are Fusion Electronics, EAGLE
libraries, or Autodesk-specific plumbing. SOLIDWORKS has no concept to bridge to, and no competitor
attempts it either.
## How to read the cells
| Mark | Means |
|---|---|
| **✓ live** | Executed against a real, licensed CAD install and observed to do what it claims. |
| **✓** | Built and shipped, or claimed by the project's own README. Evidence level is stated per row. |
| **⚠ mock** | Built and mock-tested only; never executed live in any form. |
| **partial** | Some of the capability, materially incomplete. |
| **✗** | Absent. |
| **n/a** | No concept exists to bridge to in that product. |
| **WIP** | Route identified, implementation in progress, not yet proven. |
| **?** | Could not be determined from the repository. |
Evidence discipline: for **Fusion bridge** and **swx**, cells come from source we hold — the Fusion
bridge's own `describe.py` catalog (133 entries, 132 real verbs) and `docs/FUSION-PARITY-REPORT.md`.
For every competitor column, cells are **read-from-README** unless the row note says otherwise. Nobody
in the competitor set was installed or run. Licences and star counts were verified against the GitHub
API on 2026-09-03, not read off a badge.
## The master table
35 capability rows × 7 implementations. Verb counts: Fusion bridge **132**, swx **60**,
SolidPilot ~**46 tools**, vespo92 ~**30+**, bartels **122**, Schildkraut **~16 tools + 100+ VBA
templates**, alisamsam **22**.
| # | Capability | Fusion bridge | **swx v0.3** | SolidPilot **(AGPL-3.0!)** | vespo92 (MIT) | bartels (MIT) | Schildkraut (MIT) | alisamsam (MIT) |
|---:|---|---|---|---|---|---|---|---|
| 1 | Session lifecycle — attach, stop, kill | ✓ | **✓ live** attach · ⚠ mock stop/kill | ✓ attach | ? | ✓ attach | ? | ✓ attach |
| 2 | Launch the CAD application (and install it) | ✓ launch + silent install | **WIP** — refused by SOLIDWORKS; 3DEXPERIENCE chain found 2026-09-03 | ✓ claims COM launch | ✗ | ✗ needs SW already open | ? | ✗ needs running instance |
| 3 | Requires an in-app add-in | yes (3 verbs to manage it) | **no — out-of-process COM** | no (C# COM server) | no | no | no | no |
| 4 | Open a local file · disk discovery | ✓ open · ✗ discovery (cloud-native) | **✓ live** open · **✓** `find_files` | ✓ open · ✗ | ✓ (untested) | ✓ | ✓ | ✓ open · ✗ |
| 5 | Create a new document | ✗ (docs arrive from cloud/import) | **✓ live** | ✓ part + assembly | ✓ (untested) | ✓ | ✓ | ✓ part + assembly |
| 6 | Save / Save As **with overwrite protection** | ✓ cloud save · ✗ overwrite guard | **✓ live** save_as · **✓ overwrite guard (unique)** | ✓ save · ✗ guard | ✓ (untested) · ✗ guard | ✓ · ✗ guard | ✓ · ✗ guard | ✓ · ✗ guard |
| 7 | Cloud document store — search, list, open, up/download | ✓ 21 verbs (APS Data Management) | **✗ lacking** — `swx_cloud_status` returns the honest probe | ✗ | ✗ | ✗ | ✗ | ✗ |
| 8 | Cloud / vendor sign-in + OAuth | ✓ 9 verbs (incl. 2FA, web sign-in) | ✗ lacking | ✗ | ✗ | ✗ | ✗ | ✗ |
| 9 | Parametric modeling — sketch → feature | ✓ (Python script in-process) | **✓ live** typed DSL (50×30×20 solid, p90 10.2s) | **✓ live** — deepest surface here | partial (basic ops only) | ✓ claimed | ✓ via VBA templates | ✓ basic |
| 10 | In-process scripting host (arbitrary code) | ✓ Python `eval` inside Fusion | **adapted** — typed JSON DSL, validated pre-COM; `swx_com_eval` escape hatch | ✗ by design (deterministic compiler) | ✗ | ✗ | ✗ | ✓ `execute_python` in SW context |
| 11 | Macros / VBA — generate, record, execute | n/a (Fusion has no VBA) | **WIP** — `RunMacro2` / VSTA / C# add-in under investigation | ✗ explicitly unsupported | partial (gen works, exec untested) | ✓ | **✓ strongest** (record/export/execute + 100+ templates) | ✗ |
| 12 | Assemblies — insert components, mates | ✓ via script | ⚠ mock — `AddComponent5` returned Nothing on this edition | **✓ live** insert + mate + diff | ✗ | ✓ claimed | ✓ via VBA | partial (create doc only) |
| 13 | Drawings — create, views, dimensions | ✗ no drawing verbs | partial — creation **✓ live**, views/dims not built | **✓ live** 9 tools; 9 real drawings reconstructed | ✓ (untested) | ✓ claimed | ✓ via VBA | ✗ |
| 14 | Import neutral CAD (STEP etc.) | ✓ | **✓ live** (p90 7.8s) | ✓ via 3D Interconnect | ? | ? | ? | ✗ |
| 15 | Export 3D — STEP/IGES/STL/3MF/SAT/Parasolid | ✓ 8 formats | **✓ live** 6 proven; 17 formats in table; OBJ refused by SOLIDWORKS | ✓ STEP/IGES/STL | ✓ (untested) | ✓ | ✓ | ✗ none |
| 16 | Export **native GLB** (web 3D) | ✓ but needs an optimisation service | **✓ live, direct — unique** | ✗ | ✗ | ✗ | ✗ | ✗ |
| 17 | Export 2D / document — PDF, DXF, DWG | ✓ DXF/DWG · ✗ PDF | ⚠ mock all three (refused for a part; untested from a drawing) | ✓ PDF/DWG/DXF | ✓ (untested) | ✓ | ✓ PDF | ✗ |
| 18 | BOM | ✓ assembly + electronics BOM | ⚠ mock — **but per *(file, configuration)*, the richest design here** | ✗ on the roadmap | ✗ | ✗ | ✓ table insertion | ✗ |
| 19 | Mass / physical properties | ✓ | **✓ live** (aluminium, 81 g agreeing) | **✓ live** (verified ≤1%) | ✓ (untested) | ✓ claimed | ✓ claimed | ✗ |
| 20 | Design-health — interference detection, rebuild census | ✗ neither | partial — interference ⚠ mock (object confirmed live), `rebuild_check` built | partial (`analyze_model`/`verify_state`; no interference) | ✓ (untested) | ✗ explicitly not yet | ✓ via VBA | ✗ |
| 21 | Parameters / dimensions — read **and drive** | ✓ read | **✓ live** — drove a dimension to 25 mm, model moved | ✓ `modify_dimension` | ✓ (untested) | ✓ claimed | ✓ equations | ✗ |
| 22 | Custom properties (file and per-configuration) | partial (buried in the attribute model) | **✓** `props_get`/`props_set` | ✗ | ✗ | ? | ✓ | ✗ |
| 23 | Configurations / design tables | ✗ no equivalent concept | ✓ configuration-aware (BOM, properties) · ✗ design tables | ✗ | partial (`vba_configurations`, untested) | partial | **✓ strongest** (design tables + SQL) | ✗ |
| 24 | Pack and Go — collect a design + all references | ✗ | ✓ built (gated), ⚠ mock | ✗ | ✗ | ✗ | partial (batch ops) | ✗ |
| 25 | PDM / vault integration | n/a | ✗ not built | ✗ | ✗ | ✗ | **✓ only one** (5 tools) | ✗ |
| 26 | Application preferences — read and write | ✓ incl. driving the settings modal | **✓ live** (written, then read back) · modal driving declined by design | ✗ | ✗ | ✗ | ✗ | partial (`set_units`) |
| 27 | Screenshots + window management | ✓ | ⚠ mock (delegated to ab; SKIPPED in live runs) | ✗ | ✗ | ✗ | ✗ | ✗ |
| 28 | Blocking-dialog handling | ✓ dismisses them | **adapted — censuses by default**; `neverAutoAnswer` classes never closed | ✗ | ✗ | ✗ | ✗ | ✗ |
| 29 | Electronics — schematic, PCB, Gerbers, CPL, design rules | ✓ 15 verbs | n/a | n/a | n/a | n/a | n/a | n/a |
| 30 | Component libraries / 3D packages (EAGLE `.lbr`) | ✓ 23 verbs | n/a | ✗ | ✗ | ✗ | ✗ | ✗ |
| 31 | Vendor MCP-server proxy | ✓ 6 verbs (Autodesk ships one) | n/a — Dassault ships none | n/a (is itself an MCP server) | n/a | n/a | n/a | n/a |
| 32 | Bridge infrastructure — self-describe, shipped docs, guided demo, uninstall | ✓ all four | ✓ describe/docs/uninstall · ✗ demo (deferred v0.4) | partial (13 MCP resources) | ✗ | partial (docs audit) | partial (resource registry) | ✗ |
| 33 | **Action ledger + measured per-verb timings** | ✓ ledger, verb times, live feed, alerts | **✓ ledger + timings recorded live** | ✗ (dev log only) | ✗ | ✗ logging only | partial ("enhanced logging") | ✗ |
| 34 | **Deny-by-default write gate** | ✗ no gate, no confirm/reason in its catalog | **✓ live — unique. Two independent layers, 8 adversarial rounds, held in all 3 live runs** | ✗ | ✗ | partial ("adapter safety wrappers") | partial (macro exec needs permission) | ✗ |
| 35 | Host-ecosystem integration (Adom Bridge, Activity Log, skill) | ✓ native | **✓ native** | ✗ MCP clients only | ✗ | ✗ | ✗ | ✗ |
*(35 numbered rows; rows 29–31 are the N/A block that accounts for most of the Fusion verb-count gap.)*
## Per-competitor notes
### SolidPilot — eyfel/mcp-server-solidworks · **AGPL-3.0** + paid commercial · 265★ · C# + Python
The one to take seriously. Four-layer architecture: an AI planner emits a CAD-neutral **Feature Graph
IR**, a deterministic Python compiler lowers it to ordered tool calls, and a **single C# .NET 4.8
execution layer on one STA thread is the only code that touches COM**. ~46 tools, 13 MCP resources.
Its README makes verifiable-shaped claims — production parts round-tripped `analyze_model` → IR →
`rebuild_from_ir` → `compare_parts` to a `verified` match on exact topology and mass properties, nine
real manufacturing drawings reconstructed to ≤0.02% weight match. Deeper than us on modeling,
assemblies, sheet metal and drawings. Has **no** BOM (on the roadmap), no configurations, no custom
properties, no preferences, no screenshots, no macros (deliberately — the compiler replaces scripting),
no write gate, and no ecosystem beyond Claude Desktop. Its `ensure_ready` claims to launch SOLIDWORKS
via COM, which is plausible on a classic desktop install and would fail exactly as ours does on
Connected/Makers. **Evidence: README only. Not installed, not run.**
### vespo92/SolidworksMCP-TS — **MIT** · 222★ · TypeScript + `winax`
Second-most-starred and the most candid: labelled **"Alpha / Experimental"**, with the README stating
that *"most tools have not been validated against a live SolidWorks instance"* and that no real
integration tests exist. Its own coverage table grades Modeling "Partially tested" and Drawing, Export,
Analysis and Macro all **"Untested"**. Broad tool surface on paper (modeling, sketch, drawing, export,
analysis with `check_interference` and `get_mass_properties`, VBA generation, macro recording); no
assemblies, no BOM. Last pushed 2026-05. Useful as a naming/API reference, not as evidence that
anything works.
### andrewbartels1/SolidworksMCP-python — **MIT** · 67★ · Python
**122 tools** per today's README (the figure was 109 earlier — it is moving; pushed 2026-09-02), across
modeling, sketching, drawing, analysis, export, automation, templates and macros. Self-described
**"hobby/research product"** and "under active construction", and it ships an explicit mock warning:
*"Mock adapter output is simulated and should not be treated as engineering truth."* Runs in mock mode
unless started with `--real`, and `--real` **requires SOLIDWORKS to already be open** — the same
attach-only constraint we have, arrived at without comment. Explicitly does *not* do checkpoint-level
interference validation. Highest tool count in the field, lowest evidence-per-tool.
### Adam-Schildkraut/solidworks-mcp — **MIT** · 1★ · TypeScript · last push 2025-08
Small but oddly complementary: it is the **only** project with **PDM tools** (configure, check-in,
check-out, workflow, folder structure), the only one with **SQL-driven design tables** for
configurations, and it leans hardest on VBA — macro record/stop/export/execute plus a claimed **100+
VBA generation templates** covering part features, assembly mates and interference, drawing views and
tables, custom properties and batch/PDM operations. No validation statement of any kind, one star,
and its README's support links point at a different org (`vinnieespo/solidworks-mcp-server`), so treat
it as derived work of uncertain provenance. **The template library is the interesting artefact here,
not the server.**
### alisamsam/Solidworks-MCP — **MIT (verified)** · 108★ · Python · 22 tools
Task brief listed its licence as unknown; the GitHub API confirms **MIT**, 108★, last pushed 2026-03.
Deliberately minimal and honest about it: connect to a *running* instance, part/assembly documents,
six sketch primitives, extrude/cut/fillet/chamfer, list features, set units — and `execute_python`,
which makes it the only project besides ours to offer a scripting escape hatch into a live SOLIDWORKS
session. **It has no export tools at all**, no drawings, no assembly mates, no BOM, no properties. It
is a clean starter kit, not a competitor for real work.
## Licensing
**This is the section with a decision in it.**
**SolidPilot (eyfel/mcp-server-solidworks) — AGPL-3.0, dual-licensed commercially.** Verified from the
repository's own licence metadata, not a badge. AGPL-3.0 is the strongest common copyleft: it extends
GPL's obligations to network use, so **anything we distribute that links or incorporates AGPL code must
itself be released under AGPL, source included** — and under the network clause, even offering it as a
hosted service to users triggers the same obligation. For a bridge that ships inside Adom Bridge to
customers, that is not a licence we can absorb. The author offers a **paid commercial licence** as the
escape hatch. **Conclusion: read it, learn from its architecture — the Feature Graph IR and the
single-STA-thread C# COM boundary are both good ideas — and copy neither its code nor its files.** Any
IR-shaped work of ours must be independently written. If we ever want its code proper, that is a
procurement conversation, not an engineering one.
**vespo92/SolidworksMCP-TS — MIT.** Verified. Permissive; we could vendor or adapt code with attribution.
Given the project's own "most tools not validated" disclaimer there is little worth vendoring, but its
tool naming is a fair reference.
**andrewbartels1/SolidworksMCP-python — MIT.** Verified. Permissive. Same caveat: mock-simulated output
by default, so its value is as a map of the COM surface rather than as working code.
**Adam-Schildkraut/solidworks-mcp — MIT.** Verified. Permissive, and the **VBA template library is the
one asset in the whole survey that MIT actually makes attractive to us** — if the macros route
(`RunMacro2`) proves out, 100+ MIT-licensed VBA templates are a legitimate head start. Provenance is
murky enough that we should check the templates' own headers before reusing them.
**alisamsam/Solidworks-MCP — MIT.** Verified (previously unknown to us).
**swx — MIT** (`bridge.json`, `LICENSE`). We are on the permissive side of the field with everyone
except SolidPilot. Exactly one copyleft player; everything else MIT.
## Additional items we can pull off
Capabilities **nobody** in this field has, which swx could add at low cost, roughly in order of
value-per-effort:
1. **Drawing-sheet outputs — PDF + BOM tables from a `.slddrw`.** Our DXF/DWG/PDF exports are already
built and refused for a part, which is the expected behaviour; the drawing is their real story and
it is untested. SolidPilot builds drawings but does not ship a BOM; Schildkraut inserts BOM tables
but has no evidence. **A live-proven drawing → PDF-with-BOM path would be unique in this field.**
2. **Sanctioned launch via the 3DEXPERIENCE chain** (`CATSTART.exe` → `SWXDesktopLauncher`, found
2026-09-03). Closes our loudest documented "cannot", and no competitor has solved launch on a
Connected edition — bartels and alisamsam simply require the app to be open already.
3. **A macros bridge** (`RunMacro2` for `.swp`, then VSTA / C# add-ins). Buys back most of the
in-process-scripting gap and would let us reuse an MIT template corpus. Caveat to settle first: the
Makers edition restricts third-party add-ins but does run macros — which is precisely why macros,
not add-ins, are the first move.
4. **Configurations as a first-class surface.** We are already configuration-aware in BOM and
properties; enumerating, activating and diffing configurations is a small step, and Fusion has no
equivalent concept at all. Design tables (Schildkraut's SQL trick) are the stretch goal.
5. **Pack and Go, proven live.** Built and gated already; it needs an assembly with references to
exercise. Nobody else has it.
6. **The action ledger and measured verb timings as a product feature, not plumbing.** We have p90s from
real hardware (`run_script` 10.2s, `new_document` 9.2s, `import` 7.8s, `save_as` 2.7s, all far inside
budget). No competitor can tell a user what an operation will cost.
7. **Wiki / molecule integration.** Native GLB export already works live; the pipeline from a
SOLIDWORKS part to a published molecule is ours to connect and is not even conceivable for a bare
MCP server.
8. **Ship the deny-by-default posture as the marketed differentiator.** It is the single strongest
claim we have and it is *evidenced*: eight adversarial rounds, two independently-enforcing layers,
and three live runs in which the bridge refused to touch the user's own open document — including
one abort where it removed every file it had written. Every competitor in this survey will, on
request, write to a path the user owns with no confirmation and no record.
9. **Per-component mass properties** — small, and blocked only on being able to populate an assembly.
## What is still unproven, and where
Nothing above changes the standing recommendation: **run `tools/live-smoke.py`** once SOLIDWORKS is
back up, started from the 3DEXPERIENCE Platform. It is what converts the ⚠ mock cells in column B into
✓ live — or finds the next bug, which is what happened all three previous times. The assembly verbs
(`swx_bom`, `swx_interference`, per-component mass properties) need a real multi-component assembly or a
classic desktop install; the 2D exports need a real `.slddrw`. And no competitor cell in this table is
better than read-from-README, because none of them was installed or run.