Skip to main content
Glama
nx-ai-bridge

nx-ai-bridge

by qiuyekai

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NX_AI_BRIDGE_TRANSPORTNoSet to 'batch' to use batch mode (the bridge starts run_journal.exe itself), or 'mock' to use the mock receiver without NX. Default is live mode.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

nx-ai-bridge drives Siemens NX (UG) modelling. ALPHA software.

Workflow:

  1. Call nx_status first. If it fails with RECEIVER_NOT_RUNNING, relay the hint to the user: they must start the receiver journal inside NX once (Alt+F8). Do not retry in a loop.

  2. new_part or open_part, then build the model with primitives / sketches / features / booleans.

  3. After each important step call screenshot (to see the result) or get_model_info (bounding box, volume) to verify.

  4. save_part when done. Export with export_step / export_stl.

Rules:

  • All lengths are millimetres, all angles degrees, points are [x, y, z] in absolute coordinates.

  • Refer to bodies by the body name returned by the creating tool (e.g. "B1") or by feature name (e.g. "BLOCK(1)").

  • On failure read error.message / error.nx_error / error.hint, fix the parameters and try again. Use undo to go back.

  • When no tool fits, use nx_api_lookup to explore the NX Open API and run_journal to execute custom NX Open code.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
nx_statusA

Check the connection to NX. Returns NX version, receiver mode (live/batch/mock), the work part path and whether it has unsaved changes. Call this first.

get_model_infoB

Summarise the work part: feature list, bodies with bounding box [xmin,ymin,zmin,xmax,ymax,zmax] (mm), volume (mm^3), surface area (mm^2) and centroid. Units: millimetres (mm) and degrees.

run_journalA

ESCAPE HATCH: compile and run arbitrary NX Open code inside NX. Use it when no dedicated tool exists. The code must be a complete journal with a public static/shared Main method (C# class or VB Module). It may return a string from Main; text written to Console is captured too. Compile errors and NX exceptions are returned verbatim so you can fix the code and retry. WARNING: this executes arbitrary code with the user's privileges.

nx_api_lookupA

Search the NX Open .NET API that is actually loaded in the running NX (works offline, no docs needed). Give type (e.g. 'NXOpen.Features.ExtrudeBuilder') to list its members with signatures, and/or query to find types/members whose name contains the text. Use before writing run_journal code.

nx_batchA

Run several tool calls in order as one unit. In batch mode (no NX window) this starts NX only once, which is much faster than separate calls. Returns one result per command.

new_partA

Create a new, empty millimetre part and make it the work part.

open_partA

Open an existing .prt file and make it the work part.

save_partA

Save the work part to its current file.

save_part_asB

Save the work part under a new file name; the new file becomes the work part.

close_partA

Close the work part. Unsaved changes are discarded unless save=true.

create_blockA

Create a rectangular block. origin is the corner with the smallest x/y/z; the block extends length along +X, width along +Y, height along +Z. Units: millimetres (mm) and degrees.

create_cylinderB

Create a cylinder. origin is the centre of the base circle; the cylinder grows along direction. Units: millimetres (mm) and degrees.

create_coneB

Create a cone or truncated cone. origin is the centre of the base circle. Units: millimetres (mm) and degrees.

create_sphereB

Create a sphere. Units: millimetres (mm) and degrees.

create_sketchA

Create an empty sketch on a principal plane, on an arbitrary plane, or on a planar face. Returns the sketch name used by sketch_* tools, extrude and revolve. Sketch coordinates are 2D (x, y) in the sketch plane: for XY the sketch x/y are absolute X/Y (normal +Z); for XZ they are absolute X/Z (normal -Y); for YZ they are absolute Y/Z (normal +X). The result reports origin, x_axis, y_axis and normal. Units: millimetres (mm) and degrees.

sketch_lineC

Add a straight line to a sketch.

sketch_circleC

Add a full circle to a sketch.

sketch_rectangleB

Add an axis-aligned rectangle (four lines) to a sketch.

sketch_arcA

Add a circular arc to a sketch, counter-clockwise from start_angle to end_angle (degrees, measured from the sketch x axis).

extrudeA

Extrude all curves of a sketch along the sketch normal (or direction). The curves must form closed loops to get a solid. Units: millimetres (mm) and degrees.

revolveB

Revolve all curves of a sketch about an axis given in ABSOLUTE coordinates. Units: millimetres (mm) and degrees.

create_holeA

Drill a simple round hole into a body. position is the centre of the hole on the entry face; the hole goes along direction (pointing INTO the material). Implemented as a subtracted cylinder so the geometry is exact. Units: millimetres (mm) and degrees.

edge_blendA

Round (fillet) edges with a constant radius. Use list_edges to find edges. Units: millimetres (mm) and degrees.

chamferB

Chamfer edges with a symmetric offset. Use list_edges to find edges. Units: millimetres (mm) and degrees.

shellB

Hollow out a solid body leaving walls of the given thickness. Faces listed in remove_faces are opened. Units: millimetres (mm) and degrees.

boolean_uniteA

Unite (add) tool bodies to the target body. The tools are consumed.

boolean_subtractB

Subtract tool bodies from the target body. The tools are consumed.

boolean_intersectB

Keep only the volume shared by the target body and the tool bodies. The tools are consumed.

list_featuresA

List all features of the work part in timestamp order.

delete_featureB

Delete a feature (and features that depend on it).

list_expressionsA

List the expressions (parameters) of the work part with name, value and formula.

set_expressionA

Change an expression (parameter) and update the model. Give either a numeric value or a formula string.

undoC

Undo the last modelling steps (each modifying tool call is one step).

list_edgesA

List the edges of a body with id, type, length, end points and mid point. Ids are valid until the body changes.

list_facesB

List the faces of a body with id, type, a point on the face, its normal/axis direction and bounding box.

export_stepC

Export the work part as a STEP file (AP214).

export_stlB

Export solid bodies of the work part as a binary STL file.

screenshotA

Save a PNG image of the NX graphics window so you can SEE the model. The MCP server returns the image itself. Only available in live mode (batch mode has no graphics window).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 38 tools

Disambiguation5/5

Tools are cleanly separated by resource and action: primitives, sketch entities, booleans, lifecycle, inspection, and export are all distinct. run_journal and nx_batch are explicit meta-tools, and create_hole is a clearly described convenience distinct from boolean_subtract.

Naming Consistency4/5

All names use snake_case and mostly follow predictable patterns such as create_block, sketch_line, boolean_unite, list_edges, and export_step. Minor deviations like bare verbs (extrude, revolve, chamfer, shell, undo) and the nx_ prefix are readable and logical.

Tool Count2/5

At 38 tools, the surface is above the rubric's 25+ threshold and feels heavy for an agent-facing interface, even accounting for CAD breadth. Many tools are individually justified, but the set would benefit from grouping or progressive disclosure.

Completeness4/5

The set covers part lifecycle, primitives, sketching, core features, booleans, inspection, parameters, undo, and export, with run_journal as an escape hatch for gaps. Common CAD operations such as STEP import, transform/move, mirror/pattern, and assembly are missing, but agents can work around them via journals.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues