Codync
A free, open-source 1:1 alternative to Grok Bot and Muse. Message Claude Code, Codex, Cursor and 40+ coding agents as persistent bots from your iPhone, Mac or Linux desktop. Group chats, threads, appr
Python MCP server for SolidWorks automation with 152 tools
Developer toolsPython · PowerShellGitHub @andrewbartels1OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Python MCP server for SolidWorks: lets Claude and other AI agents build parts, assemblies and drawings through the SolidWorks COM API (pywin32).
Taken from the repository README
Loading the full README.
Read the full README ↗Python MCP server for SolidWorks automation with 154 tools, plus an optional agent/prompt-testing layer for AI-assisted workflows.
Make a 100 x 50 x 10 mm AISI 1020 mounting plate with four M5 clearance holes, 10 mm in from each edge, and draw it fully dimensioned. Stack two of them 10 mm apart, check the result, and draw the assembly with a BOM.
The 58 tool calls an agent made from that prompt, run against SolidWorks 2026 through the same MCP tools a client calls, and recorded (sped up five times). Each result is checked against a hand calculation: the plate's volume and mass, the 10 mm gap and the BOM quantity. This is a replay of the calls, not a recorded model session.
Note: the demo is not perfect, and is not the most efficient way to get this result. The run pauses after each call so it can be read, and the calls are chosen to show what the tools can do: every sketch dimension is added one at a time, and the mate distance is stepped down only so the plates are seen coming together.
The walkthrough in the docs has the agent's plan and every call with its arguments. Run it yourself with the README demo; the calls are also in plate_stack_calls.json.
create_sketch on Top; four add_line for the 100 x 50 outline; add_circle for each Ø5.5 hole; add_sketch_dimension for the 100, the 50, one Ø5.5 and each hole 10 mm from two edges; add_sketch_constraint making the other three holes equal; exit_sketchcheck_sketch_fully_defined, create_extrusion 10 mm (+49 049.7 mm³ read back)list_model_dimensions (finds the Ø5.5 by value), set_material AISI 1020, verify_model (volume, mass 0.3875 kg, size, 1 feature, 1 body)generate_drawing_package PS-01 (A3, four views, every model dimension laid out with no overlaps, notes, title block, PDF), auto_center_marksadd_datum_tag A, B and C, then add_gtol ⊕ Ø0.2 Ⓜ A|B|C on the Ø5.5insert_component twice, list_components, add_mate Front and Right coincident and Top planes 60 mm apart, set_dimension stepping that distance down to 20 mm (10 calls), verify_model (2 parts, 3 mates, no interference; the stack measures 30 mm, so the gap is 10 mm)set_custom_property Material, generate_drawing_package PS-02 with include_bom (the BOM above the isometric: Demo Plate, QTY 2), then the same datums and position frameTried it? Tell us what worked and what didn't in a feedback issue. Reports from real setups decide what gets fixed next.
This project focuses on practical SolidWorks automation with an AI-friendly loop:
It includes:
src/solidworks_mcp/agents/Each GIF is a live test driving SolidWorks 2026 through the MCP tools, with the call and its result captioned beneath. Click one to see what it checks, a prompt that asks for it, and its tool calls.
See every demo in the docs: what each one shows, its prompt, every tool call with its arguments (all 58 for the demo at the top), and how to run them yourself.
You need Windows 10 or 11, SolidWorks (opened at least once), Python 3.13+ and Git. Then, in PowerShell:
git clone https://github.com/andrewbartels1/SolidworksMCP-python.git
cd SolidworksMCP-python
.\install.ps1
install.ps1 creates a .venv in the folder, installs the server into it, then runs the guided setup:
solidworks entry to each client you picked, then tells you what to restart.Nothing needs a login or an API key, and the server runs only on your PC. Setup changes only the solidworks entry in each client's config. It backs the file up first and never shows or changes your other servers. Other entries that start this server the old way (run-mcp.ps1 and the like) are offered for removal, so tools don't load twice.
To check it worked: open SolidWorks, restart your client, and ask "What model is open in SolidWorks?"
If scripts are blocked, run powershell -ExecutionPolicy Bypass -File .\install.ps1. If Python isn't found, reinstall it from python.org with Add python.exe to PATH ticked. More fixes are in Troubleshooting.
install.ps1 runs this for you. Run it again whenever you want to add a client, or move the entry to another copy of the project:
.\.venv\Scripts\solidworks-mcp.exe setup
| Option | What it does |
|---|---|
--client claude-desktop | Configure one client without the list. Repeat it for several (claude-code, vscode, cursor, lmstudio). |
--dry-run | Show what would change, and change nothing. |
--yes | Don't ask: configure every client found. |
--remove | Take the solidworks entry out again. |
--replace-old | Remove older entries for this server without asking. |
--mock | Configure mock mode, which answers without SolidWorks (for trying the tools). |
To set up a client by hand instead, each one runs the same program. Use the full path to the .venv in your copy of the project, shown below as C:\path\to\SolidworksMCP-python.
Add this to claude_desktop_config.json, alongside anything already in it. Depending on how Claude Desktop was installed, the file is in one of:
%LOCALAPPDATA%\Claude-Data\claude_<id>\ (current releases)%LOCALAPPDATA%\Packages\Claude_<id>\LocalCache\Roaming\Claude\%APPDATA%\Claude\{
"mcpServers": {
"solidworks": {
"command": "C:\\path\\to\\SolidworksMCP-python\\.venv\\Scripts\\solidworks-mcp.exe",
"args": []
}
}
}
Quit Claude Desktop from the system tray (closing the window isn't enough) and reopen it. Settings > Developer should show solidworks as running.
claude mcp add --scope user solidworks -- C:\path\to\SolidworksMCP-python\.venv\Scripts\solidworks-mcp.exe
Run /mcp in a new session to check that solidworks is connected.
Add this to %APPDATA%\Code\User\mcp.json:
{
"servers": {
"solidworks": {
"type": "stdio",
"command": "C:\\path\\to\\SolidworksMCP-python\\.venv\\Scripts\\solidworks-mcp.exe",
"args": []
}
}
}
Run MCP: List Servers from the Command Palette and start solidworks. Its output should end with Discovered 154 tools (the count grows as tools are added).
Add this to %USERPROFILE%\.lmstudio\mcp.json:
{
"mcpServers": {
"solidworks": {
"command": "C:\\path\\to\\SolidworksMCP-python\\.venv\\Scripts\\solidworks-mcp.exe",
"args": []
}
}
}
Restart LM Studio and enable solidworks in the Program tab.
For mock mode, which needs no SolidWorks, use "args": ["--mock"]. Linux and WSL work for the docs, the tests and mock mode, but not for driving SolidWorks.
Set these in your client's env block for the server, or in the shell before starting it by hand. Every SOLIDWORKS_MCP_<FIELD> maps to the config field of the same name.
SolidWorks-as-Code session logging (off by default). Logs every adapter tool call to a local SQLite database, so a session can be replayed or exported as a runnable Python script (see docs/getting-started/solidworks-as-code.md).
| Variable | Default | Meaning |
|---|---|---|
SOLIDWORKS_MCP_SOC_LOGGING_ENABLED | false | Turn logging on. |
SOLIDWORKS_MCP_SOC_SESSION_ID | (generated) | Session name to log under. If unset while logging is on, a soc-YYYYMMDD-HHMMSS id is generated at startup. |
SOLIDWORKS_MCP_SOC_DB_PATH | .solidworks_mcp/agent_memory.sqlite3 | Override the database file. |
$env:SOLIDWORKS_MCP_SOC_LOGGING_ENABLED = "true"
$env:SOLIDWORKS_MCP_SOC_SESSION_ID = "my-bracket"
.\.venv\Scripts\solidworks-mcp.exe
# ...work in your MCP client...
.\.venv\Scripts\python.exe -m solidworks_mcp.agents.soc_exporter my-bracket my_bracket.py
It works only with the circuit-breaker adapter wrapper (the default for real SolidWorks); the mock adapter does not log.
API docs index auto-refresh (on by default). The API-lookup tools (lookup_api_interface, lookup_api_method, find_related_api_members) and search_solidworks_api_help read a JSON index built by discover_solidworks_docs. When the index is older than the threshold, the next lookup rebuilds it.
| Variable | Default | Meaning |
|---|---|---|
SOLIDWORKS_MCP_DOCS_INDEX_AUTO_REFRESH | true | Rebuild a stale index automatically. No-op without SolidWorks + win32com; a failed rebuild keeps serving the existing index. |
SOLIDWORKS_MCP_DOCS_INDEX_MAX_AGE_DAYS | 21 | Age after which the index counts as stale. |
install.ps1 gives you an editable install, so code changes take effect the next time a client starts the server. For the development tools, install the extras:
.\.venv\Scripts\python.exe -m pip install -e ".[dev,test,docs]"
.\dev-commands.ps1 lists the common workflows:
dev-install: install or update the local dev environmentdev-test: run the standard test suite (the CI-safe subset)dev-test-full: run the full suite, including smoke and integration pathsdev-lint and dev-format: lint checks and formattingdev-docs-build, dev-docs-strict and dev-docs-audit: build the docs, build them failing on warnings, or write an audit report to .generated/docsTo mirror GitHub Actions CI locally (Ubuntu, the conda env from solidworks_mcp.yml, and make test), run .\scripts\run-ci-local.ps1. The first run builds the image; add -NoBuild to re-run tests without rebuilding.
Key docs sections:
Direct links:
MIT License. See LICENSE.