SolidPilot MCP
An MCP server for SolidWorks: the agent models parts and assemblies, produces drawings and rebuilds a part from a DXF or DWG file
- 436 ★ on the repository
- Last commit
- AGPL-3.0
Broad access
Why this level
- The server drives a live SolidWorks session through COM: it opens, changes, saves and closes documents
- edit_feature deletes and suppresses feature tree items, and save_analysis writes files to a .solidpilot folder next to your parts
Install
- Works in
Manual install
cd adapters/claude
pip install -r requirements.txt
python server.pyThis is the Python MCP adapter. Build and start the execution layer first; it listens on http://localhost:5000.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The server drives a live SolidWorks session through COM: it opens, changes, saves and closes documents
- edit_feature deletes and suppresses feature tree items, and save_analysis writes files to a .solidpilot folder next to your parts
This is third-party code. Review the repository files before installing.
What it does
SolidPilot connects SolidWorks to an MCP client and gives the agent 47 tools. They cover sketches, extrusions, revolves, mates, sheet metal, patterns, material assignment, assemblies and export to STEP, IGES, STL, PDF, DWG and DXF. Lengths are passed in meters, as inside SolidWorks. The agent describes intent at the level of a model feature, for example a hole in the top face. The intent is written into a CAD-neutral Feature Graph IR, and a deterministic compiler with no language model in the loop lowers it into concrete SolidWorks operations. One feature becomes many low-level calls, so the model is called once per request. Drawings work in both directions. The tools build views, sections, dimensions, center marks and hole callouts. The analyze_drawing tool reads a DXF or DWG file and either builds the part at once or hands back a structured analysis to interpret. Today a part comes straight from a drawing for sheet-metal flat patterns. The result is checked: the volume is computed from the drawing dimensions before building and compared afterwards.
Who it is for. For designers and engineers who work in SolidWorks on Windows and want to drive modeling from Claude Desktop or another MCP client.
Good fit when
- You need a part variant: modify_dimension changes the value of a named dimension
- A supplier sent a DXF or DWG drawing without a model and the part must be rebuilt
- A model needs drawing work: views, sections and automatic dimensions through auto_dimension_drawing
- Two parts or two assemblies must be compared: compare_parts and compare_assemblies return a verdict on topology, volume and area
- A batch of documents has to be exported to STEP, PDF or DXF through batch_export
Not a fit when
- SolidWorks is missing or the OS is not Windows: the server drives the program through COM
- A model has to survive dimension edits higher in the tree: face references rest on geometric anchors for now and shift after such edits
- You need GD&T tolerances, datums, title blocks, detail views and a bill of materials: these parts of drawing support are only planned
- You need a finished tool for daily production work: the author calls the project a working prototype and early alpha
Example request
Open bracket.dwg, analyze the drawing and build the part, then report its volume and save it as STEPMCP
- Transport
- stdio
- Authentication
- not required
Environment variables
EXECUTION_BASE_URL- Execution layer address, http://localhost:5000 by default; set in the .env file
Limitations
The target version is SolidWorks 2026 SP3. You need Windows, .NET Framework 4.8 with MSBuild (it ships with Visual Studio 2022), Python 3 and the MCP Python SDK version 2 (mcp>=2.0.0).
There is no prebuilt package. The C# execution layer is built and started by hand on port 5000, then the Python adapter is started. The adapter does not hot-reload, so after editing server.py the server must be reconnected.
The license is AGPL-3.0: running a modified version for other users over a network requires opening the source. For closed products the author offers a separate commercial license.
How to disable. Remove the SolidPilot entry from mcpServers in claude_desktop_config.json and restart the client. Then stop the SolidworksExecution.exe process listening on port 5000. Analysis artifacts stay in .solidpilot folders next to your files and can be deleted by hand.
FAQ
How do I connect SolidWorks to Claude through MCP?
Build and start the C# execution layer, then in adapters/claude install the dependencies with pip install -r requirements.txt. After that add a SolidPilot entry with the paths to python.exe and server.py to claude_desktop_config.json and restart Claude Desktop.
Can SolidPilot be used with something other than Claude?
The author describes the project as a general bridge between SolidWorks and AI. Any MCP-capable client can connect to the same server.py. The execution and planner layers do not know who calls them, so a new client needs only its own adapter. The adapters/claude adapter is what exists today; other clients are stated as targets.
How does SolidPilot rebuild a part from a DXF or DWG drawing?
The analyze_drawing tool reads the file, converts DWG to DXF when needed, and detects views, line classes, contours and dimensions. If the drawing forces every decision, as with a sheet-metal flat pattern, the part is built in one call. In the usual machined-part case the agent reads the structured analysis under the rules of the recipe://usage/reverse resource and builds the part through submit_feature_graph.
How accurate are the rebuilt parts?
The author reconstructed nine real drawings: four in-house samples and five production sheets. Results were checked against the title-block weight within 0.02% or against the original part by exact topology. The verified verdict requires matching topology and a volume and area difference of no more than 1%.
Does the server need keys or cloud services?
The project describes no key variables: the layers talk over REST at the local address http://localhost:5000, which the EXECUTION_BASE_URL variable in the .env file changes. You need an installed copy of SolidWorks and the built execution layer.
Discussion
No questions or reviews yet.
Related
MCP serversSolidWorks MCP in Python
Solidworks-MCP
An MCP server for SolidWorks in Python: 22 tools for parts, sketches, operations and utilities
SolidWorks MCP in TypeScript
SolidworksMCP-TS
An MCP server for SolidWorks in TypeScript: models, sketches, drawings, export and VBA macros. The author has not yet verified most tools
An MCP server for AutoCAD, GstarCAD and ZWCAD: draw, edit and inspect drawings in plain language
An MCP server to drive FreeCAD from Claude Desktop and other clients: create and edit models, run scripts and FEM analysis
AutoCAD MCP Pro
autocad-mcp-pro
An MCP server for AutoCAD with hundreds of tools: a live AutoCAD through COM or DXF without the program, with a token saving mode
AutoCAD MCP
autocad-mcp
An MCP server for AutoCAD LT: the agent draws and edits drawings through AutoLISP, and without AutoCAD writes DXF files
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| SolidPilot (this entry) | no | not required | 436 | |
| SolidWorks MCP in Python | no | not required | 184 | a Python SolidWorks MCP server with 22 tools for parts, sketches and operations |
| SolidWorks MCP in TypeScript | no | not required | 245 | a TypeScript SolidWorks MCP server with VBA macros and export |
| FreeCAD MCP | no | not required | 3,108 | an MCP server for the open-source CAD FreeCAD |
README in short
The architecture has four layers: an intent planner in cad-planner, a compiler in compiler/solidworks, a C# execution layer and an MCP adapter. The MCP boundary sits at the top of the system, and everything below the feature graph talks over REST. Tools are grouped by task: documents, sketches, solid features, editing, material, analysis, assemblies, drawings and export. A separate section covers the status of each area and the roadmap.