SolidworksMCP Local
Provides tools for controlling an interactive SOLIDWORKS 2025 session, a Dassault Systèmes CAD application, enabling MCP clients to perform modeling operations, execute CAD plans, coordinate document targeting, and manage a shared operation queue.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SolidworksMCP LocalCreate a 50 mm cube in the open part, then save it."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SolidworksMCP Local — 2026.10.18.6
Control an interactive SOLIDWORKS 2025 session from an MCP-capable AI client. This independent fork adds a durable shared queue, whole-operation locking and explicit recovery to the inherited modeling tools. Its date-based build number is independent of upstream: this is not upstream version 6.6.0.
Original project: alisamsam/Solidworks-MCP,
by Samsaam Ali Baig. Immediate upstream:
czuryk/SolidworksMCP, baseline
38468b3 (6.5.31).
The original MIT license and copyright notice are preserved.
This fork is not endorsed by either upstream or by Dassault Systèmes.
Verified scope
Build 2026.10.18.6 passed native acceptance on 2026-10-18 using SOLIDWORKS
2025 API 33.2.0. Two real MCP stdio clients operated on two disposable saved parts:
six alternating whole operations, FIFO order, no native overlap or lost changes,
two ordinary targeted CAD plans, and matching geometry after save/close/reopen.
All 31 native qualification jobs and the final 18 upgrade checks passed.
The existing Codex chat also passed reconnect verification after the user
restarted the client application on 2026-10-18: its actual MCP tools connected to
SW2025, reported build 2026.10.18.6 and confirmed an open, idle queue without
recovery jobs. SolidWorks was left running. The earlier Transport closed probe
is retained as history; this is one observed restart on the qualified workstation.
The complete offline suite passed 524 tests with one capability skip (525 collected,
zero failures/errors); the separate broker suite passed 9/9. These results apply
to the unchanged runtime at commit d0aa04ec84a501b7a2384bd734300bc615157960.
Read release validation and limits or its
machine-readable record. They also retain the failed
.5 native attempt and its unresolved historical Windows test-cleanup incident.
The accepted mode is two chats, different saved parts, one SW instance. CAD operations run sequentially. Multi-instance execution and RAM/commit admission management remain future work; assembly/drawing switching is not natively qualified. The test began and ended with no working documents open. Qualification on this station does not certify every client, installation or model workflow.
The separately qualified predecessor has the following historical evidence.
Build .4 passed a native two-process qualification on SW2025 API 33.2.0:
six ordered changes to a synthetic solid, no overlap or lost updates, and matching
geometry after save/close/reopen. Two real MCP stdio clients shared one broker.
Cleanup and reconnect passed; the broker and SolidWorks survived a restart of
the client application. These are results from one Windows workstation, not
certification of every tool, CAD version or AI client. No user documents were
initially open. Earlier failures remain recorded. See
acceptance and limits.
Related MCP server: solidworks-mcp-pro
AI client compatibility
The server uses standard MCP over local stdio, not a model-specific API. Use a client that can launch a local MCP process and call tools. The model may be cloud-hosted or local; the MCP server and licensed SolidWorks run on the Windows CAD workstation in its interactive user session. An application without MCP support needs an adapter. No remote HTTP/SSE endpoint or browser-only connection is provided here.
Different compatible clients can share the queue. All must use the same
activated source path, interpreter and Windows user/desktop session. Check the
MCP initialization response for serverInfo.version = 2026.10.18.6.
Compatibility with every client has not been independently tested.
Two chats and different models
Chats may prepare and submit jobs concurrently. One broker executes CAD
operations one at a time, in FIFO admission order. Its lock covers the whole
submitted tool, execute_cad_plan, run_transaction or trusted synchronous
script, including supported verification, rollback and save/export steps.
In .6, opt in with coordination.target_document: after waiting, the executor
selects the specified already open, saved model before preflight. A real
switch requires both the current and target models to be clean and their edit
states to be known and safe; unknown state, unsaved changes, active sketches or
in-context edits prevent switching. The selector never opens, saves or closes
models, changes configurations, or confirms dialogs. A target configuration is
an assertion, not a request to change it.
Finish dependent steps, leave sketch/edit mode, verify and explicitly save within the submitted operation before yielding to another model. A dirty model left between requests prevents a switch; a same-model continuation may retain its sketch/dirty state subject to normal tool preflight. An assembly must always be editing itself, even when already active.
coordination.expected_document retains its compare-only behavior: it checks the
active document after waiting and never activates it. Do not supply both fields.
Pin document-specific reads as well as writes. There is no reservation between
separate requests; submit dependent steps as one plan. Manual UI, external macros
and other COM applications do not respect this lock. See the complete
selection and recovery contract.
Example arguments for execute_cad_plan below modify and save the model.
They are not an installation smoke test. The saved DemoA.SLDPRT must already
be open and clean, and have one solid named Body1. Replace both IDs for each new
operation; retain the request ID for transport retries/result lookup.
{
"plan_id": "demo-a-rename-001",
"operations": [
{"op": "rename_body", "args": {"old_name": "Body1", "new_name": "Housing"}},
{"op": "body_volume", "args": {"name": "Housing", "unit": "mm"}}
],
"transaction": {"checkpoint_before": true, "rollback_on_failure": true},
"invariants": {"solid_body_count": 1, "required_bodies": ["Housing"], "no_modal_dialog": true},
"coordination": {
"request_id": "demo-a-request-001",
"target_document": {"path": "C:\\CAD-Test\\DemoA.SLDPRT", "document_type": 1},
"wait_timeout_sec": 25
}
}The second chat supplies its own IDs and target path, for example
C:\CAD-Test\DemoB.SLDPRT. Each whole plan waits for exclusive ownership, selects
its model and completes before the next begins. Unsafe or ambiguous selection
rejects before geometry; uncertain activation fences the queue for inspection.
Rollback is operation-specific and may be refused before mutation when reliable
undo or snapshots are unavailable. This is not a universal undo facility.
Install the queue/core runtime
Requirements: Windows 10/11 with an interactive Explorer desktop, licensed SolidWorks 2025, and Python 3.11+. Python 3.14 is the locally qualified runtime. SolidWorks installers, licenses and proprietary templates are excluded. Use a fixed local source directory outside cloud synchronization. Keep activated sources and their environment unchanged while clients are using them.
Clone the tagged source release from estasi/SolidworksMCP-Local. Optional model weights and their LFS pointers are excluded; Git LFS is not required for this queue/core installation.
git clone --branch v2026.10.18.6 https://github.com/estasi/SolidworksMCP-Local.git C:\MCP-Releases\2026.10.18.6
Set-Location C:\MCP-Releases\2026.10.18.6
py -3.14 -m venv C:\MCP-Runtime\sw2025-2026.10.18.6
$queuePython = 'C:\MCP-Runtime\sw2025-2026.10.18.6\Scripts\python.exe'
& $queuePython -m pip install -r requirements-queue.txt -c constraints-core-py314-win.txt
& $queuePython -m pip checkThe direct core dependencies are pinned. See dependency notices for the tested transitive inventory. These constraints describe Windows/Python 3.14 only, not a cross-platform lock. Optional raster/vector dependencies are separate. Installing core packages does not qualify those backends.
Bind the intended SolidWorks process
Start SolidWorks manually. For an upgrade, finish CAD work, stop submissions, disconnect old MCP sessions normally and drain/stop the existing broker using the operations procedure. Do not mix old/new clients or delete state to bypass recovery.
& $queuePython -m solidworks_mcp.coordination.cli doctor
Get-Process SLDWORKS | Select-Object Id, ProcessName
& $queuePython -m solidworks_mcp.coordination.cli activate --target-pid <VERIFIED-PID> --expected-major 33 --acknowledge-idle-sessionReplace <VERIFIED-PID> with the intended numeric PID after confirming the
session is idle. Activation binds its generation and source path; it does not
change client configuration, launch SolidWorks or reset the journal. Native API
identity is checked when attaching. Multiple SolidWorks instances may make COM
attachment ambiguous; a mismatch fails closed.
Configure a local MCP client
This is a common JSON configuration format; adapt its wrapper to your client's format. Keep absolute command, arguments and working directory consistent. Point every participating client at this same release.
{
"mcpServers": {
"SolidworksMCP": {
"command": "C:\\MCP-Runtime\\sw2025-2026.10.18.6\\Scripts\\python.exe",
"args": ["-u", "C:\\MCP-Releases\\2026.10.18.6\\solidworks_mcp_server.py"],
"cwd": "C:\\MCP-Releases\\2026.10.18.6"
}
}
}Reconnect through the client's supported lifecycle. Check the handshake version
and call get_queue_status: an open, idle native queue is the expected control
state. Status alone does not prove CAD correctness; qualify native operations
on disposable synthetic models. Native clients auto-start the broker through
the verified existing Explorer desktop. Optional operator prestart:
& $queuePython -m solidworks_mcp.coordination.launch --backend native --desktop
& $queuePython -m solidworks_mcp.coordination.cli statusJournal and recovery
The private SQLite WAL journal preserves FIFO sequence, request identities,
outcomes and recovery evidence under
%LOCALAPPDATA%\SolidworksMCP\coordination\v1\<sessionhash>.
The broker outlives MCP frontends; this does not promise survival of Windows
logoff/shutdown. Uncertain mutations are never automatically replayed.
Keep a unique
coordination.request_iduntil the outcome is known. After a lost response, callget_queue_requestwith that ID, instead of inventing a new ID for a possibly completed change.A client wait timeout does not stop CAD. An execution overrun fences the queue; it does not interrupt COM or release ownership while that call can still act.
cancel_queued_jobonly cancels waiting jobs.queue_eventsandget_queue_statusread control state without COM.Recovery requires inspecting CAD/files, proving execution returned or the old CAD generation ended, and explicitly acknowledging the affected jobs. Follow recovery and rollback.
Do not publish journals, endpoint credentials, client configuration, recovery bundles, logs, screenshots or working models. AI clients may send returned tool data to their chosen model provider; this server does not control that provider's retention policy.
Other tools and optional models
Inherited tools cover sketches, features, bodies, references, dimensions,
transactions, views, exports and vectorization. Live MCP discovery provides the
schemas. Raw Python requires coordination.trusted_python=true and reviewed
synchronous code; static checks are not a sandbox. No detached CAD work or
independent COM connections are allowed. Automatic dialog confirmation and
automatic recovery are disabled in the queued executor.
Native tool dimensions normally use millimetres; raw COM uses metres. Verify body count, dimensions and volume rather than relying only on a success flag.
This source distribution excludes optional line-art weight binaries and their
Git LFS pointers. Their original paths, pointer hashes and expected object
identities are recorded in publication-manifest.json and the model notices.
Do not replace missing weights or disable hash checks. Exact export provenance
and redistribution rights require separate review: code and training-data terms
are distinct. See model notices and
third-party notices. CUDA/vectorization and SW2026/2027
are outside this queue qualification.
Development, attribution and publication
Run offline tests in an isolated checkout/environment, never against working
CAD models. The CI/core route uses requirements-queue.txt and tests named
test_queue_*.py. The complete inherited suite additionally needs the five
scientific packages in requirements-testextras.txt, not GPU packages or weights:
# In a separate test environment, from the source root:
python -m pip install -r requirements-queue.txt -r requirements-testextras.txt -c constraints-testextras-py314-win.txt
python -m pip check
python -m unittest discover -s tests -p "test_*.py"Historical .4 fresh Windows/Python 3.14 qualification: 423 passed and one explicit Windows-job
capability skip, plus 9 separate broker tests passed. The native entry points
were blocked by the retained offline qualification runner; no CAD was contacted.
Earlier failed core-only/full-suite and station TEMP runs remain recorded in
validation. The constraints capture this platform;
they are not a universal Python/OS lock. See publication review.
SolidworksMCP remains the MCP server name, solidworks_mcp the Python package;
existing tool/protocol identifiers are retained. Local queue/reliability work
is independent of upstream. The MIT license does not grant a SolidWorks license
or replace third-party asset terms. Runtime data and local Git history are not
part of this source-only GitHub distribution.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP memory and agent control plane for durable conversations, jobs, and operations.
Sandboxes, storage, secrets, queues, timers, locks, inboxes and run ledger for AI bots. One MCP.
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Work management where AI agents are first-class members: tasks, projects, memory over hosted MCP
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI (e.g., Claude) to control SolidWorks via natural language, automating part creation, sketching, and feature operations through the Model Context Protocol.1MIT
- AlicenseBqualityDmaintenanceEnables connecting MCP clients to local SolidWorks for automated 3D part creation, template generation, file export, and basic review via natural language.104MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for controlling a live SOLIDWORKS session through the Windows COM API, enabling native CAD operations like sketches, features, bodies, views, and exports, plus transactional plans and vectorization.7MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server enabling AI-driven CAD automation for SolidWorks at the feature level, converting intent into CAD-neutral IR and compiling it into concrete operations. It provides engineering-semantic tools and a deterministic compiler, bridging any MCP-capable AI client to SolidWorks via COM.AGPL 3.0