geomwright
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GEOMWRIGHT_ENABLE_RESEARCH_TOOLS | No | Set to '1' to enable research-only native-module tools in the MCP session. This is optional and not covered by the stable product contract. | 0 |
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 |
|---|---|
| get_mcp_tool_catalogA | Return the public tool catalog; research tools require explicit opt-in. |
| list_thread_catalog_standardsC | List thread standards from KOMPAS thread.db with helical-thread V1 compatibility hints. |
| list_thread_catalog_entriesC | List size rows of one thread standard table (d/p/title), with helical-thread-friendly shaping. |
| list_helical_thread_v1_candidatesA | List only helical-thread-V1-compatible metric standards with bundled size rows. |
| resolve_thread_catalog_designationC | Resolve a thread size by its designation/title within the default standard for a thread type (or an explicit standard). |
| preview_timing_belt_pulleyA | Preview an end-view synchronous-belt pulley tooth profile; no CAD write. |
| preview_flat_belt_pulleyC | Preview a cylindrical or explicitly crowned flat-belt pulley rim. |
| list_poly_v_profilesA | List ISO 9982:2021 PH, PJ, PK, PL, and PM Poly-V pulley profiles. |
| resolve_poly_v_profileC | Resolve one ISO 9982:2021 Poly-V pulley groove profile. |
| preview_poly_v_grooveB | Preview a rounded Poly-V pulley groove set without hubs, bores, or COM. |
| list_v_belt_profilesB | List built-in classical or narrow-wedge V-belt groove profiles. |
| resolve_v_belt_profileC | Resolve one V-belt groove profile and its diameter-dependent angle. |
| preview_v_belt_grooveB | Preview functional V-groove cut geometry without hubs, bores, or COM. |
| apply_v_belt_groovesA | Preflight or cut previewed V-grooves into one global-X rotational body. |
| apply_poly_v_groovesC | Preflight or cut exact rounded Poly-V grooves into one global-X rotational body. |
| get_session_stateB | Return basic information about the current KOMPAS session. |
| list_documentsB | Return open KOMPAS documents. |
| check_file_accessC | Check whether a file can be opened and whether it appears locked by another process. |
| open_documentC | Open a KOMPAS document and return a stable document_id. |
| close_documentC | Close the selected or active document. |
| shutdown_sessionB | Close all tracked documents and release the KOMPAS session. |
| smoke_check_sessionB | Open, save-as-close, reopen-readonly and close a KOMPAS document to verify lifecycle handling. |
| save_documentC | Save the selected or active document in place. |
| save_document_asC | Save the selected or active document to an explicit path. |
| save_export_copyC | Save the active document to the default export directory with an ASCII-safe file name. |
| preflight_document_contextC | Check KOMPAS session/document readiness before running a low-level operation. |
| get_active_document_stateC | Read bounded active-document state through the primitive operation pipeline. |
| capture_document_snapshotC | Capture a bounded readback snapshot for an active/opened document, optionally writing the full manifest JSON. |
| diff_document_snapshotsC | Compare two readback snapshot/manifest payloads or JSON artifact paths with bounded item deltas. |
| verify_document_snapshot_deltaC | Verify expected before/after readback snapshot deltas for a primitive operation. |
| verify_document_readback_stabilityB | Capture two readback snapshots and verify that document readback is stable before write/read checks. |
| classify_runtime_errorA | Classify a KOMPAS/COM runtime error into a stable code, category, and recovery hint. |
| normalize_operation_resultC | Normalize a primitive operation result, preflight/readback checks, and optional error into one envelope. |
| probe_model_object_collectionsC | Probe known sketch/feature collections exposed by the selected or active 3D document. |
| probe_document_readbackC | Collect a low-level COM readback manifest for an opened file or active document. |
| probe_model_formulasC | Probe formula-bearing sketch dimensions, constraints, and feature variables. |
| preview_section_by_surface_operationC | Preview a low-level section-by-surface operation payload. |
| create_point3dC | Create a 3D point in the active part and verify the before/after snapshot delta. |
| create_sketch_line_segmentB | Create a sketch with one 2D line segment and verify the before/after snapshot delta. |
| create_sketch_circleB | Create a sketch with one 2D circle and verify the before/after snapshot delta. |
| create_sketch_rectangleC | Create a sketch rectangle from two corners and verify the before/after snapshot delta. |
| create_sketch_pointB | Create one 2D sketch point in a new or existing sketch and verify the snapshot delta. |
| create_sketch_polylineC | Create one 2D sketch polyline in a new or existing sketch and verify the snapshot delta. |
| create_sketch_arcC | Create one 2D sketch arc in a new or existing sketch and verify the snapshot delta. |
| create_sketch_ellipseC | Create one 2D sketch ellipse in a new or existing sketch and verify the snapshot delta. |
| create_sketch_entitiesA | Create several 2D sketch entities in one target sketch and verify the snapshot delta. |
| parameterize_sketchC | Apply constraints/dimensions to existing sketch entities selected by reference, index, or fingerprint. |
| list_sketchesA | List sketches with their stable sketch_ref values for follow-up entity tools. |
| inspect_sketch_fullA | Full dump of an existing sketch: entities, dimensions, constraints, status. Parametersdocument_id : str | None Document ID. None = active document. sketch_ref : str Sketch reference (name or reference ID). include_dimensions : bool If True, read dimensions with values and entity refs. include_constraints : bool If True, read constraints via API5 ksGetObjConstraints (22 types: horizontal, vertical, parallel, perpendicular, merge_points, tangent, fixed_length, concentricity, etc.). include_diagnostics : bool If True, include COM/API5 diagnostic blocks such as projection classification, variable surfaces, available properties, and begin-edit fallback data. max_items : int Max entities per collection. Returnsdict with: entities — list of {kind, index, geometry, reference, constraints_state} geometry: segments get start/end; arcs get start/end/center/radius/direction; circles get center/radius; points get point coordinates. dimensions — dimensions.items plus api5.dimension_variable_name and linked variable Expression when available. constraints — constraints.items/api5_items/all_items/projection_items with owner_object/partner_object links. status — sketch definition status (0=not_defined, 1=under, 2=fully, 3=over) collections — entity collections metadata projection — per-entity projection classification and UI-like projection constraints when detected. |
| rename_sketchB | Rename an existing sketch selected by sketch_ref. |
| set_sketch_entity_styleC | Set line style on one existing sketch entity selected by reference, index, or fingerprint. |
| delete_sketch_entityC | Delete one existing sketch entity selected by reference, index, or fingerprint. |
| update_sketch_entity_geometryA | Update geometry for one existing point, segment, circle, or arc selected by reference, index, or fingerprint. |
| list_sketch_dimensionsB | List existing sketch dimensions with reference, index, fingerprint, and placement fields. |
| inspect_sketch_dimensionB | Inspect one existing sketch dimension selected by reference, index, or fingerprint. |
| list_sketch_constraintsC | List existing sketch constraints with reference, index, fingerprint, and owner entity fields. |
| inspect_sketch_constraintB | Inspect one existing sketch constraint selected by reference, index, or fingerprint. |
| clear_sketch_entity_constraintsC | Delete all constraints attached to one existing sketch entity. |
| repair_sketchC | Plan or apply a bounded repair scenario for one existing sketch. |
| list_featuresC | List existing 3D features with reference, index, fingerprint, and state fields. |
| inspect_featureB | Inspect one existing 3D feature selected by reference, index, fingerprint, or name. |
| repair_featureB | Plan or apply bounded repairs to existing 3D features: rename, suppress, or delete. |
| list_sketch_entitiesC | List existing sketch entities with reference, index, fingerprint, and geometry selectors. |
| inspect_sketch_entityC | Inspect one existing sketch entity selected by reference, index, or fingerprint. |
| scan_model_filesA | Scan a folder or a single file for KOMPAS model files without opening KOMPAS. |
| batch_smoke_check_sessionC | Run lifecycle smoke-checks over a folder or explicit file list, continuing after per-file errors. |
| batch_analyze_model_qualityC | Open models read-only, run naming/spec quality checks, close each document and continue after errors. |
| preview_part_scenarioB | Preview a parametric part scenario without creating a KOMPAS document. |
| create_part_from_scenarioC | Create a KOMPAS part from a supported parametric scenario such as stepped_shaft. |
| list_spring_size_catalogsC | List available built-in spring size catalogs. |
| validate_spring_size_catalogsC | Validate built-in spring catalog metadata and optional previews. |
| find_spring_sizesC | Find spring catalog entries by type, size, class, or tag. |
| recommend_spring_sizesC | Recommend nearest spring catalog entries for target dimensions. |
| resolve_spring_sizeC | Resolve one spring catalog entry to generator-ready scenario params. |
| preview_spring_from_sizeC | Preview a supported spring from one resolved catalog entry. |
| create_spring_from_sizeC | Create a supported spring from one resolved catalog entry. |
| preview_compression_springC | Preview a compression spring scenario without creating a KOMPAS document. |
| create_compression_springC | Create a KOMPAS compression spring part from the supported compression_spring scenario. |
| get_file_compositionC | Read the stored composition of an assembly file directly from the file itself. |
| get_document_compositionC | Read the stored composition of the selected or active saved document. |
| get_specification_descriptionsA | List available specification descriptions for the selected or active document. |
| get_specificationC | Read the active or selected specification description with its objects and columns. |
| preview_specification_generationC | Build a practical specification preview from the assembly tree. |
| preview_spw_generationB | Build a preview for a separate .spw specification document from the assembly tree. columns maps row fields to .spw columns: field, column_type, block_number, column_number, skip_unit_value. column_preset can be default/base or engineering_comment_columns. Engineering fields require explicit opt-in. |
| create_spw_from_modelA | Create a separate .spw specification document from the current model tree. By default writes only position, designation, title, quantity, comment. Engineering fields are written only when mapped by columns and opted in. |
| create_specificationC | Create a specification description and fill rows from the current assembly tree. |
| preview_specification_changesC | Preview edits for existing specification rows by object_id and standard fields. |
| apply_specification_changesC | Apply edits to existing specification rows by object_id and standard fields. |
| preview_specification_autofillC | Build a safe preview of filling or syncing specification rows from the model tree. |
| apply_specification_autofillC | Apply filling or syncing of specification rows from the model tree. |
| refresh_specification_from_modelC | Recreate the active specification from the model and then apply safe autofill for supported fields. |
| cleanup_to_exportC | Apply the current cleanup rules, export a working copy, and write a report next to it. |
| preview_relink_pathsC | Find candidate component path updates by searching for matching filenames under a new root. |
| preview_file_relink_pathsC | Preview persistent relinks by reading the Sources entry of an assembly file directly. |
| preview_file_relink_map_pathsC | Preview relinks for a file assembly from an explicit mapping file. |
| build_file_relink_planC | Build a grouped actionable relink plan for an assembly file. |
| build_file_relink_map_planC | Build a grouped actionable relink plan from an explicit mapping file. |
| preview_relink_map_pathsC | Preview relinks from an explicit old->new mapping file, useful when files were also renamed. |
| build_relink_planC | Build a grouped actionable relink plan for the selected or active document. |
| build_relink_map_planC | Build a grouped actionable relink plan for the selected or active document from a mapping file. |
| apply_relink_pathsC | Apply component source-path relinks to the selected or active assembly. |
| apply_file_relink_pathsC | Apply relinks to an assembly file through KOMPAS itself and save the result to the target path. |
| relink_project_rootC | Preview and apply assembly relinks by matching component filenames under a new root. |
| relink_from_mapC | Preview and apply assembly relinks from an explicit mapping file. |
| relink_to_exportC | Preview and apply assembly relinks, then save a safe exported copy with a relink report. |
| relink_from_map_to_exportC | Apply relinks from an explicit mapping file and save a safe exported copy with a report. |
| relink_file_to_outputC | Preview and apply assembly relinks to a copied file through KOMPAS itself. |
| relink_file_from_map_to_outputC | Apply relinks from an explicit mapping file to a copied assembly through KOMPAS itself. |
| get_document_treeB | Return the assembly/model tree for the selected or active document. |
| get_itemsC | Return selected tree items with their current properties. |
| get_item_propertiesD | Return a practical properties snapshot for selected items. |
| preview_property_changesC | Preview direct property edits for writable item fields. |
| set_item_propertiesC | Apply direct property edits for writable item fields. |
| find_itemsC | Search items by text and optional kinds. |
| analyze_naming_issuesC | Analyze naming issues in the selected or active document. |
| analyze_spec_issuesC | Analyze basic specification issues in the selected or active document. |
| preview_changesetC | Build a safe preview of name and designation changes. |
| apply_changesetC | Apply a prepared changeset to writable fields only. |
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 118 tools
The relink family alone has 17 highly similar tools (relink_to_export vs relink_from_map_to_export vs relink_file_to_output, preview_relink_paths vs preview_file_relink_paths vs preview_relink_map_paths) that are nearly indistinguishable without reading detailed descriptions. get_items and get_item_properties also overlap heavily, making agent misselection very likely.
Most tools follow a readable snake_case verb_noun pattern (list_, create_, preview_, apply_), but the relink group mixes styles inconsistently (apply_relink_paths, relink_to_export, relink_from_map_to_export, preview_relink_paths). Read operations also alternate between get_, list_, probe_, and capture_, which weakens overall predictability.
118 tools is far beyond a coherent single-server scope and creates a severe navigation and selection burden. The server bundles many distinct domains — sketches, features, specifications, relinking, thread/belt/spring catalogs, and low-level diagnostics — that should be split into focused MCP servers.
The surface is very broad and many workflow pairs are present (preview/create, preview/apply, analyze/apply), but there are notable gaps: no direct create/update/delete tools for sketch dimensions, no generic 3D feature creation beyond scenarios, and no assembly creation or component insertion tools. These omissions leave some common CAD workflows incomplete despite the huge tool count.