NX MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UGII_BASE_DIR | No | The Siemens NX installation directory. If not set, auto-detected from registry or PATH. | |
| NX_MCP_WORKSPACE | No | The workspace directory for NX files. Defaults to %USERPROFILE%\NX_MCP_WORKSPACE. | |
| UGS_LICENSE_SERVER | No | The license server address. Defaults to 27800@localhost. | 27800@localhost |
| NX_MCP_ENABLE_JOURNAL | No | Set to '1' to enable Journal tools (requires NX_MCP_ENABLE_EXPERIMENTAL=1). | 0 |
| NX_MCP_ENABLE_EXPERIMENTAL | No | Set to '1' to register experimental/legacy tools. | 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 |
|---|---|
| nx_statusA | Report bridge, NX version, and active-part status. |
| nx_create_partC | Create a part inside the configured workspace. |
| nx_open_partC | Open a part from the configured workspace. |
| nx_save_partB | Save the active work part. |
| nx_close_partB | Close the active work part, optionally saving it first. |
| nx_export_stepB | Export the active work part as STEP inside the configured workspace. |
| nx_list_sketchesA | List sketches in the active work part. |
| nx_list_bodiesA | List bodies in the active work part. |
| nx_list_featuresA | List features in the active work part. |
| nx_list_edgesA | Inspect every edge of a body: index, curve type, endpoints, midpoint, length, bounding box, direction and adjacent face count. Read-only. |
| nx_list_facesA | Inspect every face of a body: index, tag, face type, centroid, area, normal (planar only) and adjacent edge count. Read-only. |
| nx_create_sketchC | Create and activate a sketch on a principal datum plane. |
| nx_sketch_lineB | Add a line to an explicit sketch reference. |
| nx_sketch_rectangleC | Add a rectangle to an explicit sketch reference. |
| nx_sketch_circleC | Add a circle (center + diameter) to an explicit sketch reference. |
| nx_sketch_arcA | Add an arc (center, radius, start/end degrees) to an explicit sketch reference. |
| nx_finish_sketchC | Deactivate and finish an explicit sketch reference. |
| nx_extrudeB | Extrude a sketch into a new body, or subtract it from an existing target body. |
| nx_holeC | Create a hole on a target body (circle sketch + boolean subtract). |
| nx_counterbore_holeA | Create a coaxial counterbore hole: a smaller deep through hole plus a larger shallow counterbore from the top face. Independent from nx_hole. |
| nx_countersink_holeA | Create a coaxial countersink (conical) hole: a smaller deep through cylinder plus a conical countersink from the top face. Independent of nx_hole / nx_counterbore_hole. |
| nx_shellA | Shell (hollow) a body: remove one face as an opening and keep a constant wall thickness. First version removes a single face; inward=True keeps the outer dimensions. |
| nx_edge_blendC | Create an edge blend (fillet) on edges of a body; default all edges. |
| nx_chamferB | Create a symmetric chamfer on edges of a body; default all edges. |
| nx_uniteA | Boolean-unite one or more tool bodies into the target body. The target body keeps its id; the tool bodies are consumed and
disappear from |
| nx_revolveA | Revolve a closed sketch section around an in-sketch 2D axis. Creates a new solid only (no unite/subtract). |
| nx_mirrorA | Mirror a body about a datum plane.
|
| nx_linear_patternA | Pattern a body linearly along X/Y/Z.
|
| nx_circular_patternA | Pattern a body circularly about an axis through
|
| nx_undoB | Undo the last visible NX MCP operation. |
| nx_fit_viewA | Fit the active modeling view. |
| nx_releaseA | Gracefully stop the bridge and release the NX GUI for manual editing. The current command completes, then the journal ends and NX becomes fully interactive (no restart of NX required). Start the bridge again later by running the launcher journal (Alt+F8) again. |
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 32 tools
Every tool targets a distinct operation: inspection, part management, sketch creation, sketch primitives, feature creation, boolean, patterns, and control. The three hole tools are clearly differentiated by geometry type, and list tools each query a different entity. No two tools appear to do the same thing.
All tools follow a consistent nx_verb_noun pattern using lower_snake_case, such as list_faces, create_sketch, extrude, and unite. The verbs are predictable and the naming style is uniform throughout the set, making the interface highly navigable.
While 32 tools is above the typical 3-15 range, it is appropriate for a comprehensive CAD modeling server. Each tool serves a specific function spanning part lifecycle, inspection, sketching, feature creation, boolean operations, and patterning. The count is justified by the breadth of NX modeling capabilities.
The tool surface covers part lifecycle (create/open/save/close), inspection (list faces/edges/sketches/bodies/features), sketch creation with primitives, feature creation (extrude, revolve, holes, shell, blend, chamfer), boolean unite, patterns, mirror, export, and undo. Missing delete and edit-parameter operations can be worked around via undo and recreation, so no major dead ends.