How haunchen/solidworks-mcp works
solidworks-mcp is a Streamable HTTP MCP server that exposes SolidWorks 2021 automation over pywin32 COM. A client requests document operations or drawing work; async tool handlers dispatch COM callables through a dedicated STA worker thread, and results return through MCP. The product covers document management, drawing creation and views, annotation and assembly analysis, plus image/PDF export. README documents the end-to-end drawing workflow and capabilities not visible in sampled excerpts; those links are cited to the README. Unsampled implementation details are represented only at their documented subsystem level.
Main entry points: server.py MCP Server · sw_connection.py COM Worker · export.py Image Capture · file_ops.py File Operations
Components 13
MCP Runtime
- MCP Server
src/server.py - Server Config
src/config.py - COM Worker
src/sw_connection.py
Document Control
- File Operations
src/tools/file_ops.py
Drawing Work
- Drawing and Views
src/tools/drawing.py - Dimensions
src/tools/annotation.py - Balloons and BOM
src/tools/annotation.py
Analysis and Output
- Assembly Analysis
src/tools/assembly.py - Image Capture
src/tools/export.py - Drawing Export
src/tools/export.py
Other components
- MCP Client
- SolidWorks COM
- Shared Folder
Connections 19
- MCP Client → MCP Server: sends MCP requests
README.md - MCP Server → Server Config: reads settings
src/server.py - MCP Server → File Operations: registers tools
src/server.py - MCP Server → Drawing and Views: registers tools
src/server.py - MCP Server → Dimensions: registers tools
src/server.py - MCP Server → Balloons and BOM: registers tools
src/server.py - MCP Server → Assembly Analysis: registers tools
src/server.py - MCP Server → Image Capture: registers tools
src/server.py - MCP Server → Drawing Export: registers tools
src/server.py - File Operations → COM Worker: dispatches COM work
src/tools/file_ops.py - Drawing and Views → COM Worker: dispatches COM work
src/tools/drawing.py - Dimensions → COM Worker: dispatches COM work
src/tools/annotation.py - Balloons and BOM → COM Worker: dispatches COM work
src/tools/annotation.py - Assembly Analysis → COM Worker: dispatches COM work
src/tools/assembly.py - Image Capture → COM Worker: dispatches COM work
src/tools/export.py - Drawing Export → COM Worker: dispatches COM work
src/tools/export.py - COM Worker → SolidWorks COM: drives via COM
README.md - Image Capture → Shared Folder: writes captures
src/tools/export.py - Drawing Export → Shared Folder: writes PDF output
src/tools/export.py