Skip to main content
Glama
keecherr

solidworks-mcp

by keecherr

SolidWorks MCP Server šŸ”§

Automate SolidWorks using natural language through Claude AI and the Model Context Protocol (MCP)

License: MIT Python 3.10+ SolidWorks 2025 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

  1. Open SolidWorks first

  2. Restart Claude Desktop

  3. In Claude, type: "Connect to SolidWorks"

  4. 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_python tool

  • Registry-based SolidWorks auto-detection


šŸ¤ Contributing

Contributions are welcome! Please:

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature/my-feature

  3. Commit your changes: git commit -m "Add my feature"

  4. Push to the branch: git push origin feature/my-feature

  5. Open a Pull Request


šŸ“„ License

This project is licensed under the MIT License — see the LICENSE file for details.


šŸ‘¤ Author

Samsaam Ali Baig


šŸ™ Acknowledgements


⭐ If this project helps you, please give it a star!

Latest Blog Posts

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