SolidworksMCP-python
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| open_modelA | Open a SolidWorks model (part, assembly, or drawing). Opens an existing SolidWorks file and makes it the active document for further operations. Supports all standard SolidWorks file formats and provides detailed model information upon successful opening. |
| create_partA | Create a new SolidWorks part document. Creates a new SolidWorks part document from |
| create_assemblyB | Create a new SolidWorks assembly document. Creates a new SolidWorks assembly document from |
| create_drawingB | Create a new SolidWorks drawing document. This tool creates a new drawing document from |
| close_modelA | Close the current SolidWorks model. Closes the currently active SolidWorks document with an option to save changes before closing. This is essential for proper model lifecycle management and preventing data loss. |
| create_extrusionC | Create an extrusion feature from the active sketch. Creates a 3D extrusion feature (boss or cut) from the currently active 2D sketch. Supports advanced options like draft angles, thin features, bidirectional extrusion, and various end conditions for professional modeling workflows. |
| create_revolveB | Create a revolve feature from the active sketch. Creates a 3D revolve feature by rotating the active 2D sketch profile around a specified axis of revolution. Supports full and partial revolves, thin features, and bidirectional revolution for comprehensive rotational modeling. |
| get_dimensionB | Get the value of a dimension from the current model. Retrieves the current value of a named dimension from the active SolidWorks model. Dimensions can be from sketches, features, or global dimensions. Useful for parametric modeling and design validation. |
| set_dimensionA | Set the value of a dimension in the current model. This tool modifies the value of a named dimension and rebuilds the model. Use this to parametrically modify your model dimensions. |
| set_unitsA | Set the active document's linear unit system. Accepts |
| create_cut_extrudeA | Cut material from a sketch profile in the active model. Creates a Cut-Extrude feature (Insert > Cut > Extrude). Use this after exit_sketch when you want to remove material — e.g. to create windows, holes, slots, or any through/blind cut in an existing solid body. Sketch selection is never a silent guess: pass Direction: a one-way cut (Blind or ThroughAll) goes along the sketch
plane's normal. From a sketch on a face, or on a plane that touches
the body only on one side (e.g. a Top Plane sketch under a block
extruded up from it), that can point away from the material. The
tool then cuts the other way and returns
|
| add_filletA | Add a fillet (rounded edge) to selected edges of the current model. Rounds the specified named edges with the given radius. Edge names use the SolidWorks convention, e.g. 'Edge<1>', or you can leave edge_names empty to fillet all edges if the adapter supports it. |
| add_chamferB | Add an equal-distance chamfer to selected edges of the current model. Chamfers the specified named edges with the given distance. Edge names use the SolidWorks convention, e.g. 'Edge<1>', or you can leave edge_names empty to chamfer all edges if the adapter supports it. |
| create_sweepA | Sweep the active profile sketch along a named path sketch. Creates a swept boss/protrusion (Insert > Boss/Base > Sweep). Requires
two sketches in the active part: a closed profile sketch and an open
path sketch named by |
| create_loftA | Loft a solid between two or more profile sketches. Creates a lofted boss/protrusion (Insert > Boss/Base > Loft) blending the listed profile sketches in order. Each profile must be a closed contour. Optional guide curves shape the transition between profiles. |
| insert_componentA | Insert a part or sub-assembly into the active assembly. Call The component file must contain solid geometry — SolidWorks silently refuses to insert an empty part, so a missing or empty component surfaces as an error rather than a fabricated success. |
| add_mateA | Mate two components in the active assembly. Positions components relative to one another — coincident planes to stack or align them, concentric to line up axes, distance to hold a gap. Entities are selected by feature name, so only each component's reference planes and axes can be mated. Mating to a specific face or edge needs entity names this adapter cannot enumerate. |
| list_componentsA | List the top-level components of the active assembly. Returns: dict[str, Any]: Status and the component instance names. |
| delete_featureA | Delete a feature or sketch from the active model. Deleting a parent feature also removes everything that depends on it — SolidWorks' normal cascade — so the response lists every feature that went, not just the one named. |
| suppress_featureA | Suppress or unsuppress a feature in the active model. Suppressing rolls a feature and its children out of the model without deleting it — the reversible way to turn off a feature that is causing trouble. |
| rename_featureA | Rename a feature on the feature tree. SolidWorks silently refuses a rename onto a name another feature already uses, so the new name is read back and a mismatch is reported as an error rather than a quiet success. Renaming a feature to its current name is a no-op success. |
| select_featureA | Select a named feature, sketch, plane or component. Replaces the current selection by default; pass |
| select_face_edgesA | Select every edge of one face of the active part (multi-select). Identify the face with exactly one of The edges become the live SolidWorks selection, so the next
|
| rebuild_modelA | Force a rebuild of the active model and report what is wrong. Use after programmatic edits ( |
| undoA | Undo the last operations in the active model. SolidWorks accepts an undo with nothing left to undo without complaining, so the response reports whether the feature tree actually changed rather than assuming it did. |
| create_reference_planeA | Create a reference plane offset from an existing plane or planar face. Adds a new plane to the feature tree, parallel to and offset from the
named reference. The returned plane name can be passed straight to
Angled planes are not supported by this tool: an angled plane needs a
second reference (an axis or edge) to rotate about, which this
signature cannot take. Use |
| create_axisB | Create a reference axis along a principal direction. Builds an axis from the intersection of two built-in planes: x from Top + Front, y from Front + Right, z from Top + Right. |
| create_reference_pointA | Create a reference point on the active part. Two modes:
The coordinate must lie on the target edge/face; SolidWorks resolves
it with a coordinate pick. |
| mirror_featureA | Mirror solid bodies or features about a plane. Selects the named sources and the mirror plane, then mirrors them. The mirror is verified by comparing model volume before and after: SolidWorks can report a feature even when it mirrored nothing, so a volume that did not grow is reported as an error rather than a false success. |
| pattern_circularA | Pattern features around an axis. Selects the named axis and features, then creates a circular pattern. The pattern is verified by comparing model volume before and after: SolidWorks can report a feature even when it patterned nothing, so a volume that did not grow is reported as an error rather than a false success. |
| create_sketchA | Create a new sketch on the specified plane. Creates a new sketch on a reference plane and enters sketch edit mode. This is the first step for creating any 2D geometry that will be used for 3D features like extrusions, revolves, or sweeps. |
| add_lineC | Add a line to the current sketch. Adds a line segment between two points in the active sketch. Lines are fundamental sketch entities used for creating profiles, construction geometry, and complex shapes. |
| add_circleB | Add a circle to the current sketch. |
| add_rectangleB | Add a rectangle to the current sketch. Creates a rectangular profile defined by two opposite corner points, automatically generating four connected line segments forming a closed rectangle suitable for extrusion or other 3D operations. |
| exit_sketchA | Exit sketch editing mode. Exits the current sketch editing mode and returns to the 3D modeling environment. This is required after completing sketch geometry before creating 3D features like extrusions, revolves, or sweeps. Returns: dict[str, Any]: A dictionary containing the resulting values. Example: ```python # Complete sketch workflow await create_sketch({"plane": "Top"}) await add_circle({"center_x": 0, "center_y": 0, "radius": 5}) |
| check_sketch_fully_definedB | Check whether a sketch is fully defined. |
| add_arcB | Add an arc to the current sketch. Creates a circular arc defined by center point, start point, and end point. Arcs are essential for creating rounded corners, curved transitions, and complex curved profiles in mechanical designs. |
| add_splineA | Add a spline curve to the current sketch. Creates a smooth, free-form spline curve that passes through or near the specified control points. Splines are ideal for creating organic shapes, complex profiles, and smooth transitions in industrial design. |
| add_centerlineA | Add a centerline to the current sketch. Creates a construction/reference line that serves as a centerline for symmetrical features, revolution axes, or construction geometry. Centerlines are non-geometric entities used for reference only. |
| add_polygonB | Add a regular polygon to the current sketch. Creates a regular polygon with specified number of sides, center point, and circumscribed radius. Polygons are useful for creating hexagonal nuts, octagonal features, and other multi-sided geometric shapes. |
| add_ellipseA | Add an ellipse to the current sketch. Creates an elliptical entity with specified center and major/minor axes. Ellipses are useful for creating oval holes, ergonomic profiles, and complex curved features in mechanical and industrial design. |
| add_sketch_constraintA | Add a geometric constraint/relation between sketch entities. Creates geometric relationships between sketch entities such as parallel, perpendicular, tangent, coincident, etc. Essential for creating fully defined, parametric sketches that maintain design intent. |
| add_sketch_dimensionA | Add a dimension to sketch entities. Creates dimensional constraints that control the size of sketch entities. Dimensions are essential for creating precise, parametric designs that can be easily modified and maintain manufacturing tolerances. In live SolidWorks automation, sketch dimensions can otherwise trigger the interactive
|
| sketch_linear_patternB | Create a linear pattern of sketch entities. Generates a linear array of selected sketch entities in specified direction(s) with defined spacing and count. Essential for creating hole patterns, vent grilles, and repetitive geometric features. |
| sketch_circular_patternA | Create a circular pattern of sketch entities around the sketch origin. Generates a circular array of selected sketch entities. The
rotation axis is always the sketch origin — SOLIDWORKS'
Essential for creating bolt circles, gear teeth, and other radially symmetric features around the sketch origin. |
| sketch_mirrorA | Mirror sketch entities about a centerline. Creates mirrored copies of selected sketch entities about a reference centerline, maintaining symmetrical design relationships. Essential for creating symmetric parts and reducing modeling time. |
| sketch_offsetA | Create an offset of sketch entities. Generates offset copies of selected sketch entities at a specified distance, maintaining the original entity shape while creating parallel geometry. Essential for wall thickness, machining allowances, and clearance features. |
| sketch_tutorial_simple_holeA | Tutorial: Create a simple circular hole sketch. Demonstrates complete workflow for creating a basic hole sketch that can be used for through-holes, counterbores, or other circular features. This tutorial shows the fundamental sketch-to-feature process. Returns: dict[str, Any]: A dictionary containing the resulting values. Example: ```python # Learn basic sketching workflow result = await sketch_tutorial_simple_hole() |
| tutorial_simple_holeA | Create a simple hole as a guided tutorial workflow. Builds a sketch circle on the selected plane, exits the sketch, and creates a cut feature using the supplied diameter and depth. Useful as an end-to-end example of a basic subtractive feature. |
| create_drawing_viewB | Create a drawing view of a SolidWorks model. Creates technical drawing views including orthographic projections, isometric views, section views, and detail views from 3D models. Essential for generating production drawings and technical documentation. |
| add_dimensionA | Add a dimension to the current drawing. Creates dimensional annotations on drawing views including linear, radial, angular, and diameter dimensions. Essential for manufacturing specifications and quality control documentation. |
| add_noteC | Add a note or annotation to the current drawing. Creates text annotations, callouts, and notes on drawings for specifications, instructions, and additional manufacturing information. Essential for comprehensive technical documentation. |
| create_section_viewC | Create a section view of the current drawing. Generates section views that show internal features by cutting through the part along a specified section line. Essential for revealing hidden geometry, internal structures, and complex assemblies. |
| create_detail_viewA | Create a detail view of a specific area. Generates magnified detail views of specific regions to show fine features, tight tolerances, and intricate geometry that requires enhanced visibility for manufacturing and inspection. |
| update_sheet_formatC | Update the sheet format and title block information. Applies drawing templates and updates title block fields with project information, revision data, and drawing metadata. Essential for standardized documentation and drawing control. |
| auto_dimension_viewC | Automatically dimension a drawing view. Analyzes drawing view geometry and automatically adds common dimensions including overall sizes, hole diameters, radii, and critical features. Accelerates drawing completion and ensures comprehensive dimensioning coverage. |
| check_drawing_standardsB | Check the current drawing against drafting standards. Validates drawing compliance with industry drafting standards including ANSI Y14.5, ISO 128, and DIN standards. Identifies non-compliance issues and provides recommendations for improvement. |
| create_technical_drawingB | Create a technical drawing from a SolidWorks part or assembly. Supports selecting a template, output path, sheet format, scale, and optional auto- population of standard views for documentation. |
| add_drawing_viewA | Add, update, or remove a drawing view in an existing drawing. Supports configuring the target drawing, view type, parent view, scale, and placement coordinates for common drawing view workflows. |
| add_annotationB | Add an annotation such as a note, balloon, or surface symbol. Places annotation text in a drawing with optional font size, leader attachment, and title-block style metadata fields. |
| update_title_blockB | Update title block fields for the active drawing. Applies drawing metadata such as title, drawing number, and approval fields to keep documentation aligned with standards. |
| list_drawing_viewsA | List the views on the active drawing. Read-only. Use it to find an existing view's name before targeting it
(e.g. with Returns:
dict[str, Any]: Example:
|
| auto_center_marksA | Auto-insert centre marks on circular features in a drawing view. Runs SolidWorks' automatic centre-mark insertion for the named view. The API does not report how many marks it added, so the response gives the view's centre-mark count before and after and the delta. A run that added nothing is still a success — the view may have no un-marked holes. |
| analyze_drawing_comprehensiveC | Handle analyze drawing comprehensive. |
| analyze_drawing_dimensionsB | Analyze dimensions in a SolidWorks drawing for consistency and completeness. This tool performs detailed dimensional analysis including precision, tolerances, and completeness checking. |
| analyze_drawing_annotationsC | Analyze drawing annotations and notes quality. |
| check_drawing_complianceC | Check drawing compliance with company standards. |
| analyze_drawing_viewsC | Analyze drawing views arrangement and quality. |
| generate_drawing_reportC | Generate comprehensive drawing analysis report. |
| compare_drawing_versionsC | Compare different versions of drawing files. |
| validate_drawing_completenessC | Validate drawing completeness for production readiness. |
| insert_model_dimensionsA | Bring the model's dimensions into the active drawing's views. Imports the model's "marked for drawing" dimensions view by view, each
dimension shown once on the sheet (a repeat in a later view is
deleted). Pictorial views (isometric, dimetric, trimetric) are skipped
unless named. Falls back to SolidWorks AutoDimension only when nothing
could be imported. SolidWorks places imported dimensions inside the
views, so run |
| arrange_dimensionsA | Move drawing dimensions so nothing overlaps, then check the real result. Dimensions go outside their views in rows (first 8 mm from the
outline, rows 7 mm apart, columns 9 mm apart), shortest span nearest
the view, each on the side its extension lines start from. One with no
room on that side stays put and is listed in |
| insert_bom_tableB | Insert a bill-of-materials table for an assembly view on the active drawing. |
| add_gtolC | Add a GD&T feature control frame, e.g. position Ø0.2 (M) to A|B|C. |
| add_datum_tagB | Add a datum feature symbol (A, B, C, ...) on a drawing edge. |
| set_sheet_scaleB | Set the active drawing sheet's scale; views using the sheet scale follow. |
| generate_drawing_packageA | Create a complete A3 drawing of a part or assembly in one call. A3 ISO frame with a filled title block (title, drawing number, material,
weight, drawn by/date, revision); front, plan, side and isometric views
in cells sized to fill the sheet at one standard scale (never stepped
down); model dimensions shown once and laid out in rows; bold view-name
captions; a NOTES block; nothing overlapping, checked on the read-back
geometry. Saves The DWG NO. and TITLE are shrunk to fit their title-block boxes. For
smaller title-block text, pass |
| list_model_dimensionsA | List every dimension in the active part or assembly with its full name. Read-only. Each entry's |
| measure_entitiesA | Measure faces, edges or vertices with SolidWorks' Measure tool. One face gives its area and perimeter; one edge its length (and radius and diameter for an arc); two entities give the distance and angle between them. Entity coordinates are in metres. Clears the selection afterwards. |
| get_materialA | Read the material assigned to the active part. Read-only. Parts only ( |
| set_materialA | Assign a library material to the active part. The material drives mass properties ( |
| list_available_materialsA | List materials in the installed SolidWorks material libraries. Read-only; parses every |
| get_custom_propertiesA | Read the active document's custom properties. Read-only. File-level properties (the default) are what drawing title
blocks and BOMs usually link to; pass |
| set_custom_propertyA | Create or overwrite one text custom property on the active document. Typical names: |
| export_flat_patternA | Export the active sheet-metal part's flat pattern to DXF or DWG. Exports the flat-pattern geometry only (no bend lines or sketches),
for laser or waterjet cutting. A part without a sheet-metal body is
refused ( |
| calculate_mass_propertiesB | Get mass properties of the current SolidWorks model. Calculates and returns comprehensive mass properties for the active model including volume, surface area, mass, center of mass, and moments of inertia. Essential for engineering analysis, weight calculations, and structural design. |
| get_mass_propertiesD | Backward-compatible alias for calculate_mass_properties. |
| check_interferenceA | Check for interference between components in an assembly. Analyzes specified components for geometric interference (overlapping volumes) and provides detailed interference detection results. Critical for assembly validation and identifying design conflicts before manufacturing. |
| analyze_geometryC | Handle analyze geometry. This tool provides various geometry analysis capabilities like curvature analysis, draft analysis, thickness analysis, etc. |
| get_material_propertiesA | Get material properties of the current model. This tool retrieves the material properties assigned to the model including density, elastic modulus, yield strength, etc. Returns: dict[str, Any]: A dictionary containing the resulting values. |
| verify_modelA | Check the active part or assembly against what you meant to build. Call this as the last step of a build (and whenever a step looks suspicious). A modelling tool returning success does not prove the geometry is right; this reads the model back and compares it with your expectations. Give only the expectations you know; each becomes one check. With no expectations it just reports what it measured. Units: mm, mm³ and kg. Each check reports |
| export_stepB | Export the current model to STEP format. Exports SolidWorks models to STEP (Standard for the Exchange of Product Data) format, the preferred neutral CAD format for interoperability between different CAD systems and manufacturers. |
| export_igesA | Export the current model to IGES format. Exports SolidWorks models to IGES (Initial Graphics Exchange Specification) format, a legacy neutral CAD format still widely used for surface modeling and older CAD system compatibility. |
| export_stlC | Export the current model to STL format. Exports SolidWorks models to STL (Stereolithography) format, the standard file format for 3D printing, rapid prototyping, and additive manufacturing applications. |
| export_pdfA | Export the current model or drawing to PDF format. Creates PDF documents from SolidWorks drawings, assemblies, or parts for documentation, sharing, review, and archival purposes. Essential for design review and manufacturing documentation. |
| export_dwgB | Export the current drawing to DWG format. Converts SolidWorks drawings to DWG (Drawing) format, the native AutoCAD file format widely used in architecture, engineering, and construction industries for 2D technical drawings. |
| export_imageA | Export images of the current model. Captures high-quality rendered images of SolidWorks models from various view orientations for documentation, presentations, marketing materials, and web publication. |
| batch_exportA | Batch export multiple SolidWorks files to a target format. Processes entire directories of SolidWorks files and converts them to specified target formats. Essential for project migrations, supplier deliverables, and large-scale format conversions. |
| generate_vba_codeB | Generate VBA code for SolidWorks automation. Analyzes operation description and generates appropriate VBA code with SolidWorks API calls, error handling, and documentation. |
| automation_start_macro_recordingC | Start recording a macro in SolidWorks. Begins macro recording to capture user actions and generate reusable automation scripts. |
| automation_stop_macro_recordingA | Stop recording the current macro. This tool stops the active macro recording and saves the recorded actions as a VBA macro. |
| batch_process_filesC | Handle batch process files. This tool processes multiple files in a directory, performing operations like rebuild, save as, export, or property updates. |
| manage_design_tableB | Create or manage design tables for parametric modeling. Design tables allow you to create multiple configurations of a part or assembly by driving parameters from an Excel spreadsheet. |
| execute_workflowC | Handle execute workflow. This tool executes a series of automated steps in sequence, with support for parallel execution and error handling. |
| create_templateC | Create a SolidWorks template file. This tool creates templates for parts, assemblies, or drawings with standardized settings, materials, and configurations. |
| optimize_performanceC | Optimize SolidWorks performance settings. This tool analyzes the current SolidWorks configuration and suggests or applies performance optimizations. |
| save_fileA | Save the current SolidWorks model. Saves the currently active SolidWorks document to its existing file location. Essential for preserving work and maintaining document version control. Handles both modified and unmodified documents based on force_save setting. |
| save_asB | Save the current model to a new location or format. Saves the currently active SolidWorks document with a new filename, location, or file format. Supports multiple export formats for interoperability with other CAD systems and manufacturing workflows. |
| get_file_propertiesA | Get properties of the current SolidWorks file. Retrieves comprehensive metadata and properties of the currently active SolidWorks document. Provides essential file information for document management, version control, and project organization. Returns: dict[str, Any]: A dictionary containing the resulting values. Example: ```python result = await get_file_properties() |
| get_model_infoA | Get metadata for the active SolidWorks document. Returns a compact summary of the current model context that is useful for read-before- write LLM flows (document type, active configuration, and feature count). Returns: dict[str, Any]: A dictionary containing the resulting values. |
| list_featuresA | List feature-tree entries for the active SolidWorks document. Useful for read-before-write workflows where the agent must inspect existing model structure before adding or editing downstream features. |
| get_selected_entitiesA | Report the faces/edges/vertices currently selected in the live SolidWorks UI. Use this to find out exactly what the user has clicked on in SolidWorks before applying a feature (e.g. "chamfer the face I selected") instead of guessing from coordinates or a screenshot. Each entry includes enough geometry (bounding box, center, area/length, normal where applicable) to identify which face/edge is which, and the center coordinates can be fed straight into add_chamfer/add_fillet's "face:x,y,z" or coordinate edge_names syntax. Returns:
dict[str, Any]: |
| classify_feature_treeA | Classify the active model into a feature family from model-info and tree data. This is a read-before-write helper for delegation. It summarizes whether the current document looks like a direct-MCP solid, sheet metal workflow, advanced VBA-backed part, assembly, drawing, or an insufficient-evidence case. |
| list_configurationsA | List configuration names for the active SolidWorks document. Returns all available configuration names so callers can select a stable target before invoking feature or export operations. Returns: dict[str, Any]: A dictionary containing the resulting values. |
| manage_file_propertiesB | Read, update, copy, move, rename, or delete file-related properties. Uses the requested operation and file paths to manage SolidWorks file metadata or related file lifecycle tasks through the active adapter. |
| convert_file_formatB | Convert a SolidWorks file from one format to another. Supports exporting source files to target formats such as STEP, IGES, STL, PDF, or other adapter-supported conversion outputs. |
| batch_file_operationsB | Run a file operation across multiple files as a batch workflow. Intended for repetitive file management tasks such as copying, moving, renaming, or deleting groups of SolidWorks documents. |
| load_partA | Load (open) a SolidWorks part file. Convenience wrapper that opens a .sldprt file and makes it the active document. Provides a simpler alternative to open_model for parts. |
| load_assemblyA | Load (open) a SolidWorks assembly file. Convenience wrapper that opens a .sldasm file and makes it the active document. Provides a simpler alternative to open_model for assemblies. |
| save_partB | Save the active SolidWorks part document. Convenience wrapper that saves the currently active part. If no file_path is provided, saves to the existing location. Otherwise, saves as a new file. |
| save_assemblyA | Save the active SolidWorks assembly document. Convenience wrapper that saves the currently active assembly. If no file_path is provided, saves to the existing location. Otherwise, saves as a new file. |
| pack_and_go_assemblyA | Copy a SolidWorks assembly and all its referenced parts to a self-contained folder. Enumerates every component referenced by the active assembly, copies the
assembly and each part into |
| list_open_documentsA | List every SolidWorks document that is currently open. Read-only — does not change which document is active. Use it to
discover what is open (an assembly plus its parts, a drawing plus its
model) before switching with Returns:
dict[str, Any]: Example:
|
| activate_documentA | Switch which open document is the active one. Matches the argument against open documents by title, full path, or
file name (case-insensitive), calls |
| save_body_as_partA | Extract one solid body from the active multibody part to a new file. Runs SolidWorks' Save Bodies on a single named body, writing a
standalone part to |
| generate_vba_extrusionC | Generate VBA code for complex extrusion operations. |
| generate_vba_revolveC | Generate VBA code for complex revolve operations. |
| generate_vba_assembly_insertB | Generate VBA code for assembly component insertion. |
| generate_vba_drawing_viewsC | Generate VBA code for drawing view creation. |
| generate_vba_batch_exportB | Generate VBA code for batch file export operations. |
| generate_vba_part_modelingC | Generate VBA code for complex part modeling operations. |
| generate_vba_assembly_matesC | Generate VBA code for assembly mate creation. |
| generate_vba_drawing_dimensionsC | Generate VBA code for creating drawing dimensions. Creates macro for various dimension types in drawings. |
| generate_vba_file_operationsC | Generate VBA code for file management operations. |
| generate_vba_macro_recorderC | Generate VBA code using macro recording patterns. |
| extract_templateB | Extract template from existing SolidWorks model. |
| apply_templateB | Apply a template to an existing SolidWorks model. This tool applies saved template settings including properties, dimensions, and formatting to the target model. |
| batch_apply_templateA | Apply template to multiple models in batch. This tool processes multiple SolidWorks files and applies the same template configuration to all matching files. |
| compare_templatesB | Compare two templates and generate difference report. This tool analyzes differences between templates to help understand variations in formatting and properties. |
| save_to_template_libraryB | Save template to the organization's template library. This tool manages a centralized template library with categorization and version control. |
| list_template_libraryB | List available templates from the template library. This tool provides browsing and searching capabilities for the organization's template library. |
| start_macro_recordingA | Start recording a SolidWorks macro. This tool initiates macro recording to capture user actions for later playback and automation. |
| stop_macro_recordingA | Stop macro recording and save the recorded macro. This tool stops the active recording session and saves the generated macro code to a file. |
| execute_macroA | Run a binary SolidWorks macro (.swp, or legacy .swb). Calls |
| analyze_macroC | Analyze a macro for complexity, dependencies, and optimization opportunities. This tool provides insights into macro structure and performance to help with optimization and maintenance. |
| batch_execute_macrosB | Handle batch execute macros. This tool allows running multiple macros in sequence or parallel for complex automated workflows. |
| optimize_macroC | Optimize an existing macro for better performance and reliability. This tool analyzes and suggests improvements to existing macro code. |
| create_macro_libraryA | Create a library of organized macros for team sharing and reuse. This tool sets up a structured macro library with categorization, documentation, and version control. |
| discover_solidworks_docsA | Discover and index SolidWorks COM and VBA documentation. Creates a searchable index of all available COM objects, methods, properties, and VBA libraries for the installed SolidWorks version. Useful for building context for intelligent MCP tool selection and documentation queries. |
| search_solidworks_api_helpA | Search SolidWorks API help index and return coherent guidance. This tool helps when the LLM gets stuck by mapping user intent to discovered COM members and practical MCP workflow guidance. |
| lookup_api_methodA | Look up one SolidWorks API method or property by interface + name. Confirms the member is indexed on that interface and returns its sibling members for context. The local index stores names only, so full signatures (parameters, return type) are not available here - use search_solidworks_api_help or help.solidworks.com for those. |
| lookup_api_interfaceC | List every indexed member (methods + properties) of a COM interface. |
| find_related_api_membersB | Find API members related to a known interface or member name. For an interface: its own members. For a member: the other members of every interface that also exposes it, plus name-substring matches. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 154 tools
Many tools are functionally indistinguishable or duplicate aliases: get_mass_properties is literally a 'backward-compatible alias' for calculate_mass_properties, start_macro_recording/stop_macro_recording duplicate automation_start_macro_recording/automation_stop_macro_recording, batch_process_files vs batch_file_operations vs batch_export vs convert_file_format heavily overlap, and create_drawing / create_technical_drawing / generate_drawing_package all claim to produce drawings. add_dimension vs add_sketch_dimension vs insert_model_dimensions vs auto_dimension_view and the seven analyze_drawing_* / check_drawing_* tools are also hard to separate. Only the core sketching and modeling primitives (add_line, add_circle, exit_sketch, create_sketch) have clearly distinct purposes.
The dominant pattern is snake_case verb_noun (create_part, export_step, add_fillet), which is good, but there are notable deviations: adjective-suffixed names like analyze_drawing_comprehensive and analyze_geometry ('Handle analyze geometry'), prefix variants automation_start_macro_recording vs start_macro_recording, noun-first tutorial names (sketch_tutorial_simple_hole vs tutorial_simple_hole), and several bare/ambiguous verbs (undo, save_as). The parallel generate_vba_* family is consistent, but the duplication of naming across prefixes suggests two conventions merged.
154 tools is an extreme mismatch for a single MCP server — roughly ten times a well-scoped surface. Whole clusters (11 generate_vba_* tools, 9 analyze_drawing_* tools, a macro recording API duplicated twice, a template library suite, and an API-doc lookup suite) could be collapsed or moved out. Many of these tools clearly do not earn their individual place.
Coverage of the CAD lifecycle is genuinely broad: document creation/open/save, sketching primitives, boss and cut features, fillets/chamfers/patterns/mirror, assemblies with mates and interference checks, drawings with views, dimensions, GD&T and BOM, mass properties, and many export formats. Minor gaps exist — mating is limited to reference planes/axes, angled reference planes are unsupported, and no couple-level assembly mirror, but no major workflow dead end.