SolidWorks MCP Server — AI CAD Automation
Pricing
Pay per usage
SolidWorks MCP Server — AI CAD Automation
MCP (Model Context Protocol) server that lets AI assistants like Claude control SolidWorks. Create parts, sketch, extrude, assemble, run FEA simulations, export to STEP/IGES/STL/PDF, and more — all via natural language. Supports 3DEXPERIENCE Works (cloud) and SolidWorks Desktop COM API (Windows).
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Kritsana
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
SolidWorks MCP Server
MCP (Model Context Protocol) server that lets AI assistants control SolidWorks — create parts, sketch, extrude, assemble, run FEA simulations, export files — all through natural language.
Architecture
AI Client (Claude/Cursor) ←→ MCP (SSE/stdio) ←→ SolidWorks API├── 3DEXPERIENCE Cloud└── COM Desktop (Windows)
Quick Start
Local (stdio)
pip install -e .python -m solidworks_mcp_server --backend dxp --transport stdio
Claude Desktop config:
{"mcpServers": {"solidworks": {"command": "python","args": ["-m", "solidworks_mcp_server", "--backend", "dxp"],"env": {"DXP_BASE_URL": "https://your-platform.3dexperience.3ds.com","DXP_SPACE_ID": "your-space-id","DXP_API_KEY": "your-api-key"}}}}
Local (SSE)
$python -m solidworks_mcp_server --backend dxp --transport sse --port 8000
Connect at http://localhost:8000/sse
Apify Actor
$apify push
Input:
{"backend": "dxp","dxpApiKey": "your-api-key","dxpBaseUrl": "https://your-platform.3dexperience.3ds.com","dxpSpaceId": "your-space-id","mcpTransport": "sse","mcpPort": 8000}
Prerequisites
3DEXPERIENCE Works (Cloud — Any OS)
| Required | Source |
|---|---|
| API Key | 3DEXPERIENCE Platform → Profile → API Keys |
| Base URL | Platform URL from 3DS admin |
| Space ID | Collaborative Space ID |
SolidWorks Desktop COM (Windows Only)
| Required | Source |
|---|---|
| SolidWorks 2022+ | Professional or Premium license |
| pywin32 | pip install pywin32 |
38 MCP Tools
Part
| Tool | Description |
|---|---|
sw_list_open_documents | List all open documents |
sw_create_part | Create a new part |
sw_open_part | Open an existing part file |
sw_save_part | Save a part (SLDPRT / STEP / IGES / STL / PDF) |
sw_close_part | Close a part |
sw_get_part_info | Get material, mass, volume, bounding box |
Sketch & Feature
| Tool | Description |
|---|---|
sw_create_sketch | Create a 2D sketch on a plane (front / top / right) |
sw_draw_line | Draw a line |
sw_draw_circle | Draw a circle |
sw_draw_rectangle | Draw a rectangle |
sw_add_dimension | Add a dimension constraint |
sw_extrude | Extrude a sketch into a solid |
sw_revolve | Revolve a sketch |
sw_cut_extrude | Cut extrude (remove material) |
sw_fillet | Fillet / round edges |
sw_hole_wizard | Create standard holes |
Assembly
| Tool | Description |
|---|---|
sw_create_assembly | Create a new assembly |
sw_insert_component | Insert a part into an assembly |
sw_add_mate | Add a mate constraint |
sw_list_components | List all components |
sw_create_exploded_view | Create an exploded view |
Simulation (FEA)
| Tool | Description |
|---|---|
sw_apply_material | Apply a material (e.g. AISI 304, 6061-T6) |
sw_apply_fixture | Apply a fixture / constraint |
sw_apply_force | Apply external force (fx, fy, fz in N) |
sw_run_static_study | Run static stress analysis |
sw_get_simulation_results | Get stress, displacement, factor of safety |
Export
| Tool | Description |
|---|---|
sw_export_step | Export to STEP |
sw_export_iges | Export to IGES |
sw_export_stl | Export to STL (3D printing) |
sw_export_pdf | Export drawing to PDF |
sw_export_dwg | Export to DWG/DXF |
sw_take_screenshot | Capture viewport screenshot |
Measure
| Tool | Description |
|---|---|
sw_measure_distance | Measure distance between entities |
sw_get_mass_properties | Mass, center of gravity, moments of inertia |
sw_get_bounding_box | 3D bounding box dimensions |
Config
| Tool | Description |
|---|---|
sw_set_units | Set document units (mm / inch / meter) |
sw_list_materials | List available materials |
sw_set_document_template | Set document template |
Environment Variables
| Variable | Default | Description |
|---|---|---|
SW_BACKEND | dxp | Backend: dxp or com |
MCP_TRANSPORT | stdio | Transport: stdio or sse |
MCP_PORT | 8000 | Port for SSE transport |
DXP_BASE_URL | — | 3DEXPERIENCE platform URL |
DXP_SPACE_ID | — | 3DEXPERIENCE space ID |
DXP_API_KEY | — | 3DEXPERIENCE API key |
DXP_TENANT | — | Optional tenant ID |
Example
User: Create a mounting bracket — 100mm x 80mm x 10mm platewith four 8mm holes at the cornersAI:→ sw_create_part("mounting_bracket")→ sw_create_sketch("mounting_bracket", "front")→ sw_draw_rectangle("sketch_1", 0, 0, 100, 80)→ sw_extrude("mounting_bracket", "sketch_1", 10)→ sw_create_sketch("mounting_bracket", "top")→ sw_draw_circle("sketch_2", 10, 10, 4)→ sw_draw_circle("sketch_2", 90, 10, 4)→ sw_draw_circle("sketch_2", 10, 70, 4)→ sw_draw_circle("sketch_2", 90, 70, 4)→ sw_cut_extrude("mounting_bracket", "sketch_2", 10, true)→ sw_apply_material("mounting_bracket", "AISI 304")→ sw_export_stl("mounting_bracket", "bracket.stl")✅ Done
Project Structure
solidworks-mcp-server/├── .actor/ # Apify Actor config├── src/solidworks_mcp_server/│ ├── server.py # MCP server entry point│ ├── backends/│ │ ├── base.py # Abstract interface│ │ ├── dxp_backend.py # 3DEXPERIENCE REST API│ │ └── com_backend.py # SolidWorks COM API (Windows)│ ├── tools/ # 38 MCP tools (7 modules)│ └── utils/ # Geometry & unit helpers├── Dockerfile├── pyproject.toml└── requirements.txt
License
MIT