solidworks-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace | No | The workspace directory for file output. Defaults to ~/Documents/SOLIDWORKS-MCP. All file-writing tools resolve destinations through Runtime.output_path and reject any path that resolves outside this directory. | ~/Documents/SOLIDWORKS-MCP |
| allow_scripts | No | Whether to enable the solidworks_script tool, which executes arbitrary trusted Python on the COM apartment. Omit or set to 'false' (the default) to disable it entirely; set to 'true' to enable. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| solidworks_discoverA | Find installed SOLIDWORKS versions, CAM/add-in registrations and API libraries; no app launch. |
| solidworks_connectA | Attach to SOLIDWORKS 2025 (revision 33); launch=true may start it. Returns an app handle. |
| solidworks_apiA | Invoke any exposed COM member. Use {$ref:handle}, {$variant:'I4',byref:true,value:0}, typed arrays with array:true, {$missing:true}, or {$bytes:base64}. Returns value and out_args. Get managers with action=get. Explicit action avoids confusing methods and properties. This is full API access: calls may modify documents, execute macros, or access local files. |
| solidworks_batchA | Execute ordered API steps without interleaving. Reference earlier results with {$result:'step_id',path:['value','$ref']}. Stops at first error and reports completed steps; earlier mutations remain applied. This is not a rollback transaction. |
| solidworks_arrayB | Read a page of an array returned as an object handle; preserves every item of large arrays. |
| solidworks_releaseA | Release unneeded session handles on their COM apartment. Does not close documents. |
| solidworks_api_loadA | Index a local vendor .tlb/.dll API library without registering it; find paths with discover. |
| solidworks_api_searchA | Search loaded API libraries for CAD/CAM interfaces, exact methods, parameters and enums. Load installed sldworks.tlb, swconst.tlb, camworks.tlb or an add-in DLL first. |
| solidworks_active_documentA | Return the active document handle, title, path and document type without changing it. |
| solidworks_templatesA | Read configured default part, assembly and drawing template paths. |
| solidworks_new_documentA | Create a part/assembly/drawing from an absolute existing template path; returns its handle. |
| solidworks_open_documentB | Open an absolute part(1), assembly(2), or drawing(3) path. Returns COM errors/warnings. |
| solidworks_saveA | Save/export by extension inside workspace (SLDPRT, SLDASM, STEP, STL, PDF, etc.). Format support depends on document type. For export options use API SaveAs with ExportData. |
| solidworks_rebuildA | Rebuild a model, reporting failure. Inspect features afterwards for individual error codes. |
| solidworks_inspectB | Inspect bounded feature tree with feature types and error/warning codes. |
| solidworks_assembly_treeA | Inspect assembly occurrences, parent relationships, suppression and transforms, with bounds. |
| solidworks_mass_propertiesA | Compute model mass/volume/area and inertia using current material and configuration. |
| solidworks_sketch_beginA | Legacy convenience: create/select a 2D sketch on a plane and add a batch of simple entities in one call (line/circle/rectangle). For the full entity/relation/dimension set, use solidworks_sketch's operation dispatch (begin/add_entities/fillet/chamfer/... /exit). |
| solidworks_reference_geometryB | solidworks_reference_geometry: dispatches on payload.operation to one of the capability-module handlers for [axis, coordinate_system, coordinate_system_numeric, plane, point]. Each operation has its own typed field set (see the tool's input schema); unspecified fields fall back to the module function's own default. Lengths/angles follow each field's documented unit convention (SI unless the function accepts a |
| solidworks_sketchC | solidworks_sketch: dispatches on payload.operation to one of the capability-module handlers for [add_dimension, add_entities, add_relation, begin, chamfer, convert_entities, exit, fillet, mirror, offset]. Each operation has its own typed field set (see the tool's input schema); unspecified fields fall back to the module function's own default. Lengths/angles follow each field's documented unit convention (SI unless the function accepts a |
| solidworks_featureA | solidworks_feature: dispatches on payload.operation to one of the capability-module handlers for [boundary, chamfer, delete, dome, draft, extrude, extrude_cut, fillet, hole_wizard, loft, loft_cut, mirror, modify, mounting_boss, revolve, revolve_cut, rib, shell, simple_hole, sweep, sweep_cut, thread, wrap]. Each operation has its own typed field set (see the tool's input schema); unspecified fields fall back to the module function's own default. Lengths/angles follow each field's documented unit convention (SI unless the function accepts a |
| solidworks_patternC | solidworks_pattern: dispatches on payload.operation to one of the capability-module handlers for [circular, curve_driven, fill, linear, mirror, sketch_driven, table_driven]. Each operation has its own typed field set (see the tool's input schema); unspecified fields fall back to the module function's own default. Lengths/angles follow each field's documented unit convention (SI unless the function accepts a |
| solidworks_bodyA | solidworks_body: dispatches on payload.operation to one of the capability-module handlers for [cavity, combine, delete, indent, list, move_copy, scale, split]. Each operation has its own typed field set (see the tool's input schema); unspecified fields fall back to the module function's own default. Lengths/angles follow each field's documented unit convention (SI unless the function accepts a |
| solidworks_parametricB | solidworks_parametric: dispatches on payload.operation to one of the capability-module handlers for [add_equation, add_global_variable, delete_equation, get_dimension, link_dimensions, list_equations, set_dimension]. Each operation has its own typed field set (see the tool's input schema); unspecified fields fall back to the module function's own default. Lengths/angles follow each field's documented unit convention (SI unless the function accepts a |
| solidworks_materialC | solidworks_material: dispatches on payload.operation to one of the capability-module handlers for [apply, color, custom_density, get, get_density]. Each operation has its own typed field set (see the tool's input schema); unspecified fields fall back to the module function's own default. Lengths/angles follow each field's documented unit convention (SI unless the function accepts a |
| solidworks_configurationA | solidworks_configuration: dispatches on payload.operation to one of the capability-module handlers for [activate, add, delete, delete_design_table, get_design_table, insert_design_table, list, set_config_dimension]. Each operation has its own typed field set (see the tool's input schema); unspecified fields fall back to the module function's own default. Lengths/angles follow each field's documented unit convention (SI unless the function accepts a |
| solidworks_analyzeC | solidworks_analyze: dispatches on payload.operation to one of the capability-module handlers for [bounding_box, check_geometry, draft_analysis, interference, mass_properties, measure, section_properties, thickness_analysis]. Each operation has its own typed field set (see the tool's input schema); unspecified fields fall back to the module function's own default. Lengths/angles follow each field's documented unit convention (SI unless the function accepts a |
| solidworks_assemblyB | solidworks_assembly: dispatches on payload.operation to one of the capability-module handlers for [bom, clearance, collapse, explode, fix, float, insert_component, insert_components, interference, mate, mirror_components, move_component, pattern_components, replace_component, rotate_component]. Each operation has its own typed field set (see the tool's input schema); unspecified fields fall back to the module function's own default. Lengths/angles follow each field's documented unit convention (SI unless the function accepts a |
| solidworks_drawingA | solidworks_drawing: dispatches on payload.operation to one of the capability-module handlers for [add_annotation, detail_view, export, insert_bom, insert_dimensions, model_view, new_from_model, projected_view, section_view, set_sheet_format, standard_3view]. Each operation has its own typed field set (see the tool's input schema); unspecified fields fall back to the module function's own default. Lengths/angles follow each field's documented unit convention (SI unless the function accepts a |
| solidworks_exchangeC | solidworks_exchange: dispatches on payload.operation to one of the capability-module handlers for [export, import]. Each operation has its own typed field set (see the tool's input schema); unspecified fields fall back to the module function's own default. Lengths/angles follow each field's documented unit convention (SI unless the function accepts a |
| solidworks_camC | solidworks_cam: dispatches on payload.operation to one of the capability-module handlers for [check_collisions, define_feature, define_stock, generate_operation_plan, generate_toolpaths, list_features, list_machines, list_operations, list_setups, post_process, recognize_features, save_cam_data, set_machine, set_operation_parameter, set_post, set_tool, setup_sheet, simulate, techdb_query]. Each operation has its own typed field set (see the tool's input schema); unspecified fields fall back to the module function's own default. Lengths/angles follow each field's documented unit convention (SI unless the function accepts a |
| solidworks_persistent_referenceA | Encode an entity's persistent reference for reacquiring it after edits or reopening its model. |
| solidworks_resolve_referenceB | Resolve a persistent reference in its original document; reports deleted/invalid entities. |
| solidworks_modify_featureB | Edit a feature's definition with AccessSelections/ModifyDefinition. Discover exact properties in its feature-data interface. Use generic API or scripts for indexed/method-based definitions. |
| solidworks_cam_connectA | Attach to the installed SOLIDWORKS CAM add-in and GetCWApp API. Optional exact GUID/ProgID. Add-in presence is distinct from API/license availability; inspect returned status. |
| solidworks_cam_statusA | Report observed CAM connection state; never treats an installed library as a license. |
| solidworks_cam_workflowA | Legacy low-level CAM action/args dispatcher retained for the small set of raw
|
| solidworks_scriptA | Execute trusted Python on the COM apartment (--allow-scripts required). Globals: sw, cad, cam, gateway, call(obj,member,*args), workspace, parameters. Assign result. Supports loops, equations, advanced features, assemblies and arbitrary add-ins. Full local code execution, not a sandbox. Prints are captured. Background jobs allow lengthy CAD/CAM computation. |
| solidworks_jobA | Poll job state/result without entering the busy COM queue. Failed jobs may have partial effects. |
| solidworks_cancel_jobA | Cancel a queued job only. A running native SOLIDWORKS call cannot be safely aborted. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| design_complex_part | Plan and execute a parametric part with explicit geometric verification. |
| design_assembly | Build an assembly with reusable parts, mate intent and validation. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| guide | Modeling strategy, units and bridge conventions. |
| workspace | |
| cam_guide |
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/rdolan5/solidworks-mcp-2'
If you have feedback or need assistance with the MCP directory API, please join our Discord server