solidworks-mcp
SolidWorks MCP Server š§
Automate SolidWorks using natural language through Claude AI and the Model Context Protocol (MCP)
šÆ What is This?
SolidWorks MCP Server is a production-ready Model Context Protocol server that lets Claude AI control SolidWorks through natural language. Instead of manually clicking through menus, you simply tell Claude what to design ā and it builds it for you.
Example prompts you can use:
"Create a new part, draw a circle with radius 30mm and extrude it 15mm"
"Add a fillet of 2mm to all edges"
"Draw a hexagon and cut extrude it 10mm"
"List all features in the current part"
⨠Features
ā 22 Tools covering parts, sketches, features, and utilities
ā SolidWorks 2023ā2025 Compatible with version-aware API fallbacks
ā Auto-detects SolidWorks installation via Windows registry
ā Multi-unit support ā mm, cm, inch, meter, foot
ā Modular architecture ā clean, extensible Python package
ā Robust error handling ā cascading fallback chains for COM API
ā JSON configuration ā easy to customize without touching code
ā Comprehensive logging ā full debug output for troubleshooting
š ļø Available Tools
Category | Tool | Description |
Connection |
| Connect to running SolidWorks instance |
Connection |
| Get version and installation info |
Documents |
| Create a new part document |
Documents |
| Create a new assembly document |
Documents |
| Open an existing SolidWorks file |
Documents |
| Close the active document |
Documents |
| Save the active document |
Documents |
| List all open documents |
Sketches |
| Create a sketch on a plane (Front/Top/Right) |
Sketches |
| Exit the active sketch |
Sketches |
| Draw a circle by center and radius |
Sketches |
| Draw a rectangle by two corners |
Sketches |
| Draw a line between two points |
Sketches |
| Draw an arc by center and angles |
Sketches |
| Draw a regular polygon (triangle, hex, etc.) |
Features |
| Boss-extrude the active sketch |
Features |
| Cut-extrude to remove material |
Features |
| Add fillets to selected edges |
Features |
| Add chamfers to selected edges |
Features |
| List all features in the model |
Utilities |
| Change default unit (mm/inch/cm/m/ft) |
Utilities |
| Execute custom Python code in SW context |
š Requirements
OS: Windows 10 or Windows 11
SolidWorks: 2023, 2024, or 2025 (must be installed and licensed)
Python: 3.10 or higher
Claude: Claude Desktop app or Claude Code
ā” Quick Start
1. Clone the Repository
git clone https://github.com/alisamsam/solidworks-mcp.git
cd solidworks-mcp2. Install Dependencies
pip install -r requirements.txt3. Configure Claude Desktop
Add the following to your claude_desktop_config.json:
Location: C:\Users\YOUR_NAME\AppData\Roaming\Claude\claude_desktop_config.json
{
"mcpServers": {
"solidworks": {
"command": "python",
"args": ["C:\\path\\to\\solidworks-mcp\\solidworks_mcp_server.py"]
}
}
}4. Launch
Open SolidWorks first
Restart Claude Desktop
In Claude, type: "Connect to SolidWorks"
Start designing! š
š Project Structure
solidworks-mcp/
āāā solidworks_mcp_server.py # Entry point
āāā solidworks_mcp/ # Main package
ā āāā __init__.py # Package exports (v3.0.0)
ā āāā server.py # MCP server & tool definitions
ā āāā config.py # Configuration management
ā āāā config.json # Default settings
ā āāā constants.py # SolidWorks constants & enums
ā āāā automation/ # Core automation modules
ā ā āāā base.py # Connection management
ā ā āāā documents.py # Document operations
ā ā āāā sketches.py # Sketch operations
ā ā āāā features.py # Feature operations (SW 2025 fixed)
ā āāā utils/ # Utility modules
ā āāā units.py # Unit conversion system
ā āāā sw_finder.py # Auto-detect SolidWorks
āāā requirements.txt
āāā .gitignore
āāā DEVELOPMENT_ROADMAP.md # Future development planāļø Configuration
Edit solidworks_mcp/config.json to customize behavior:
{
"exe_path": "auto",
"default_unit": "mm",
"startup_timeout": 120,
"log_level": "INFO",
"default_extrude_depth": 10.0,
"default_fillet_radius": 2.0
}Setting | Default | Description |
|
| Path to SLDWORKS.exe or auto-detect |
|
| Default unit for all dimensions |
|
| Seconds to wait for SW startup |
|
| Logging verbosity |
š§ SolidWorks 2025 Compatibility
This server includes special handling for SolidWorks 2025 API changes:
Extrusion fallback chain:
FeatureExtrusion3āFeatureExtrusion2āFeatureBossSimpleSafe property access for
feat.Name,feat.GetTypeName2(),IsSuppressed2()stdout capture fix for
execute_pythontoolRegistry-based SolidWorks auto-detection
š¤ Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch:
git checkout -b feature/my-featureCommit your changes:
git commit -m "Add my feature"Push to the branch:
git push origin feature/my-featureOpen a Pull Request
š License
This project is licensed under the MIT License ā see the LICENSE file for details.
š¤ Author
Samsaam Ali Baig
GitHub: @alisamsam
š Acknowledgements
Anthropic for Claude AI and the MCP framework
SolidWorks COM API documentation
Inspired by ros2-claude-code-template by Harun KURT
ā If this project helps you, please give it a star!
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/keecherr/solidworks-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server