A Model Context Protocol (MCP) server that enables Claude to create and manipulate SolidWorks CAD models through natural language commands.
This MCP server bridges Claude AI with SolidWorks, allowing you to create 3D CAD models by simply describing what you want. Claude can create sketches, draw shapes, and extrude features directly in SolidWorks.
- Automated Part Creation - Creates a new part document for each design request
- Sketch Creation - Create sketches on Front, Top, or Right planes
- Drawing Tools - Draw rectangles and circles with precise dimensions
- Extrusion - Extrude sketches into 3D features with custom depth
- Natural Language Interface - Describe what you want, and Claude builds it
- Windows OS (SolidWorks only runs on Windows)
- SolidWorks 2022 or later (tested on SolidWorks 2024)
- Python 3.8+
- Claude Desktop App
git clone https://github.com/yourusername/solidworks-mcp.git
cd solidworks-mcppip install -r requirements.txtrequirements.txt:
mcp>=0.9.0
pywin32>=306
Add the server to your Claude Desktop configuration file:
Location: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"solidworks": {
"command": "python",
"args": [
"C:\\path\\to\\solidworks-mcp\\server.py"
]
}
}
}Replace C:\\path\\to\\solidworks-mcp\\server.py with the actual path to your server.py file.
Close and reopen Claude Desktop to load the MCP server.
Create a simple cube:
Create a 100mm cube in SolidWorks
Create a cylinder:
Create a cylinder in SolidWorks with a 50mm radius and 200mm height
Create a rectangular prism:
Make a box in SolidWorks that's 150mm long, 75mm wide, and 50mm tall
- Claude creates a sketch on the specified plane (Front, Top, or Right)
- Claude draws shapes (rectangles, circles) with your dimensions
- Claude extrudes the sketch to create a 3D feature
- A new part is created for each request automatically
The MCP server provides these tools to Claude:
| Tool | Description |
|---|---|
solidworks_create_sketch |
Create a new sketch on Front, Top, or Right plane |
solidworks_sketch_rectangle |
Draw a rectangle with specified corner coordinates |
solidworks_sketch_circle |
Draw a circle with center point and radius |
solidworks_create_extrusion |
Extrude the current sketch to create a 3D feature |
solidworks_exit_sketch |
Exit sketch editing mode |
Run the included test script to verify your setup:
python test_solidworks.pyThis will:
- Connect to SolidWorks
- Create a new part
- Draw a 100mm x 100mm rectangle
- Extrude it 100mm to create a cube
If successful, you'll see a cube in SolidWorks!
- Ensure SolidWorks is installed and activated
- Try launching SolidWorks manually first
- Check that SolidWorks is running
- Run Claude Desktop as Administrator
- Verify
pywin32is installed:pip install pywin32
- Check that SolidWorks templates exist at:
C:\ProgramData\SOLIDWORKS\SOLIDWORKS 2024\templates\ - Update the template path in
server.pyif your templates are elsewhere
- Check the log file:
solidworks_mcp.log - Restart Claude Desktop
- Verify the config file path is correct
solidworks-mcp/
├── server.py # Main MCP server
├── test_solidworks.py # Test script
├── requirements.txt # Python dependencies
├── README.md # This file
└── solidworks_mcp.log # Log file (generated)
- Input dimensions are in millimeters (mm)
- SolidWorks API uses meters internally (automatically converted)
- Origin (0, 0) is at the center of the sketch plane
- Positive X is right, positive Y is up
- Extrusions go in the positive Z direction (unless reversed)
- Currently supports basic sketches (rectangles and circles)
- One sketch per part (creates new part for each design)
- Limited to Boss-Extrude features
- Additional sketch tools (lines, arcs, splines)
- Sketch constraints and dimensions
- Cut-Extrude features
- Revolve, Sweep, Loft features
- Assembly creation
- Drawing generation
- File save/export functionality
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details
- Built with Model Context Protocol
- Powered by Anthropic's Claude
- Uses SolidWorks API
For issues and questions:
- Open an issue on GitHub
- Check the log file:
solidworks_mcp.log
Note: This project is not affiliated with or endorsed by Dassault Systèmes SolidWorks Corporation.