solidworks-mcp
Enables AI (e.g., Claude) to control SolidWorks via natural language, automating part creation, sketching, and feature operations through the Model Context Protocol.
README
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_solidworks |
Connect to running SolidWorks instance |
| Connection | get_solidworks_info |
Get version and installation info |
| Documents | create_new_part |
Create a new part document |
| Documents | create_new_assembly |
Create a new assembly document |
| Documents | open_document |
Open an existing SolidWorks file |
| Documents | close_document |
Close the active document |
| Documents | save_document |
Save the active document |
| Documents | list_open_documents |
List all open documents |
| Sketches | create_sketch |
Create a sketch on a plane (Front/Top/Right) |
| Sketches | close_sketch |
Exit the active sketch |
| Sketches | draw_circle |
Draw a circle by center and radius |
| Sketches | draw_rectangle |
Draw a rectangle by two corners |
| Sketches | draw_line |
Draw a line between two points |
| Sketches | draw_arc |
Draw an arc by center and angles |
| Sketches | draw_polygon |
Draw a regular polygon (triangle, hex, etc.) |
| Features | extrude_sketch |
Boss-extrude the active sketch |
| Features | cut_extrude |
Cut-extrude to remove material |
| Features | fillet_edges |
Add fillets to selected edges |
| Features | chamfer_edges |
Add chamfers to selected edges |
| Features | list_features |
List all features in the model |
| Utilities | set_units |
Change default unit (mm/inch/cm/m/ft) |
| Utilities | execute_python |
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-mcp
2. Install Dependencies
pip install -r requirements.txt
3. 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 |
|---|---|---|
exe_path |
"auto" |
Path to SLDWORKS.exe or auto-detect |
default_unit |
"mm" |
Default unit for all dimensions |
startup_timeout |
120 |
Seconds to wait for SW startup |
log_level |
"INFO" |
Logging verbosity |
š§ SolidWorks 2025 Compatibility
This server includes special handling for SolidWorks 2025 API changes:
- Extrusion fallback chain:
FeatureExtrusion3āFeatureExtrusion2āFeatureBossSimple - Safe property access for
feat.Name,feat.GetTypeName2(),IsSuppressed2() - stdout capture fix for
execute_pythontool - Registry-based SolidWorks auto-detection
š¤ Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m "Add my feature" - Push to the branch:
git push origin feature/my-feature - Open 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!
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.