Skip to main content
Glama

dsh-nx

English | 简体中文

dsh-nx is an experimental DeepSeek Harness bundle for safe, local Siemens NX automation through MCP. Version 0.1.0 ships the current DSH bundle manifest, a typed MCP server, a Chinese/English-compatible modeling skill, workspace policy, mock bridge, doctor command, and an explicit protocol boundary for a future validated NX 2512 bridge.

This project is not affiliated with or endorsed by Siemens or DeepSeek.

Current status

  • The MCP server, schemas, workspace confinement, mock bridge and stdio end-to-end tests run on Linux and Windows.

  • The repository does not yet contain a real-NX-accepted NX 2512 bridge.

  • Mock results always contain mock: true and never write .prt or STEP files.

  • Do not use this release on production parts.

Related MCP server: ps3d

Install in DeepSeek Harness

DeepSeek Harness removed the old .dsh-plugin repository format. This project uses the current npm bundle form (package.json.dsh.bundle + cordis.patch.yml). From the profile where you want NX tools:

dsh plugin --profile web add github:ethanrise/dsh-nx

Tagged releases also publish a prebuilt, version-independent asset named dsh-nx.tgz. It avoids building TypeScript on the target machine:

https://github.com/ethanrise/dsh-nx/releases/latest/download/dsh-nx.tgz

Install the included skill for project-scoped discovery:

New-Item -ItemType Directory -Force .dsh\skills\nx-modeling | Out-Null
Copy-Item node_modules\dsh-nx\skills\nx-modeling\SKILL.md .dsh\skills\nx-modeling\SKILL.md

During repository development:

npm install
npm run check
DSH_NX_MODE=mock npm run dev

Configuration

Variable

Purpose

DSH_NX_WORKSPACE

Only directory the server may use for CAD files

DSH_NX_BRIDGE_URL

Loopback-only bridge URL, for example http://127.0.0.1:48161/rpc

DSH_NX_BRIDGE_TOKEN

Random bearer token shared with the local bridge

DSH_NX_TIMEOUT_MS

Tool timeout; default 30000

DSH_NX_MODE=mock

Test-only stateful mock; never creates CAD files

DSH_NX_ROOT

NX installation root used by dsh-nx-doctor

No arbitrary journal, Python, C#, or shell execution tool is exposed.

Tool surface

Health/capabilities, new part, named expression, rectangle/circle sketch, extrusion, simple hole, rectangular pattern, bounded fillet/chamfer, feature listing, body measurement, safe save-as, STEP AP242 export, and undo.

The workflow also exposes session-state, preflight and post-mutation verification tools. See docs/architecture.md, the sample four-hole-plate.json, and the Windows scripts under scripts/.

NX 2512 validation gate

A real adapter is supported only after all checks pass on native Windows + licensed NX 2512: create a parameterized four-hole plate, inspect native feature history, change an expression and rebuild, verify body count/bounding box/volume, save-close-reopen, export STEP, and undo. Until evidence is recorded under docs/nx2512-validation.md, the default bridge fails closed.

Marketplace

DSH Desktop obtains community listings through dsh-market and the awesome-dsh-plugin catalog. See docs/marketplace.md for the release checklist and conservative submission entry. This repository must not be advertised as real NX automation until the validation gate passes.

License

MIT applies to this repository's code. Siemens NX, NXOpen libraries, documentation, licenses, and user part files are not distributed.

Available Tools

19 tools
nx_chamferC

Apply an equal-distance chamfer using bridge-validated edge selectors.

Inputs: name (required), distance (required), selector.

nx_create_circle_sketchC

Create a constrained, named circle sketch on a principal datum plane.

Inputs: name (required), plane (required), diameter (required), centerX, +1 more.

nx_create_expressionB

Create a named NX expression in the current work part.

Inputs: name (required), value (required), unit.

nx_create_partA

Create a new millimeter NX part below DSH_NX_WORKSPACE. Does not overwrite an existing file.

Inputs: path (required).

nx_create_rectangle_sketchC

Create a constrained, named rectangle sketch on a principal datum plane.

Inputs: name (required), plane (required), width (required), height (required), +1 more.

nx_create_simple_holeB

Create a native simple through or blind hole in the unique current solid.

Inputs: x (required), y (required), name (required), diameter (required), +2 more.

nx_export_stepA

Export the current work part as STEP AP242 below DSH_NX_WORKSPACE. Never overwrites.

Inputs: path (required).

nx_extrudeC

Create a native NX extrusion from an existing sketch.

Inputs: name (required), distance (required), sketchId (required), operation.

nx_filletC

Apply a constant-radius fillet using bridge-validated edge selectors.

Inputs: name (required), radius (required), selector.

nx_get_capabilitiesA

List the NX adapter and its explicitly supported operations.

Inputs: no named parameters.

nx_get_session_stateA

Read current work-part, feature-count and modified state without changing NX.

Inputs: no named parameters.

nx_healthA

Check the configured Siemens NX bridge without modifying NX.

Inputs: no named parameters.

nx_list_featuresA

Read the current work part feature tree.

Inputs: no named parameters.

nx_measure_bodyA

Read body count, bounding box, area, volume and centroid.

Inputs: no named parameters.

nx_preflightB

Validate one exact planned operation against current NX state immediately before mutation.

Inputs: operation (required), expectedFeatureDelta.

nx_rectangular_patternC

Create a rectangular native feature pattern from an exact feature id.

Inputs: name (required), countX (required), countY (required), pitchX (required), +2 more.

nx_save_part_asA

Save the current part to a new workspace-relative .prt path. Never overwrites.

Inputs: path (required).

nx_undoB

Undo the most recent dsh-nx transaction after inspecting current state.

Inputs: transactionId.

nx_verify_resultB

Verify observed feature/body state after a mutation; mock mode never claims exact geometry.

Inputs: preflightId (required), expectedBodyCount (required), expectedFeatureCount (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 19 tools

    Disambiguation5/5

    Each tool maps cleanly to a distinct resource or action: creation, feature application, inspection, state verification, save/export, or undo. Even the introspective tools (health, capabilities, session state, feature list) are clearly separated by their descriptions, so an agent should not misselect.

    Naming Consistency4/5

    The set mostly follows the nx_verb_noun pattern: create_part, measure_body, list_features, export_step. A few names deviate slightly—nx_preflight, nx_health, and nx_rectangular_pattern are noun-first or verbless—but the shared nx_ prefix and overall consistency keep the convention readable.

    Tool Count4/5

    Nineteen tools is slightly above the typical well-scoped range, but every tool represents a distinct CAD capability from part creation, sketching, and feature modeling through measurement, export, and undo. There are no redundant operations, and the count feels justified for an NX-oriented adapter.

    Completeness3/5

    The set covers a solid create, modify, measure, and export workflow, but it lacks explicit update/delete operations for expressions, sketches, features, or parts—undo is the only lifecycle escape hatch. Common CAD operations such as revolve, sweep, boolean, and trim are also absent, so broader modeling tasks would require workarounds.

    Maintenance

    ActivitySlowing
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables natural language control of Siemens NX for text-to-CAD modeling, generating .prt files via NX Open API. Currently supports basic solids, booleans, and fillets in batch mode.
      5
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI hosts to interact with a browser CAD workbench through model-neutral local stdio or authenticated remote MCP tools, supporting command discovery, design-health analysis, and scoped previews while never reading local files or taking over open sessions.
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables AI clients to create, edit, and export CAD models and drawings in a locally installed FreeCAD via MCP.
      3
      -
    • A
      license
      A
      quality
      B
      maintenance
      Enables local Siemens NX automation from MCP clients through an interactive visual bridge or scripted batch workflows, with extended modeling tools for sketching, extruding, hole, edge blend, chamfer, and boolean subtract, plus automatic path detection.
      32
      6
      MIT