dsh-nx
Provides tools for interacting with Siemens NX CAD software, enabling AI agents to create and edit parameterized parts, sketches, extrusions, holes, patterns, features, body measurements, STEP AP242 export, and undo operations in a locally confined workspace.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dsh-nx create a rectangular plate with four corner holes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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: trueand never write.prtor 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-nxTagged 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.tgzInstall 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.mdDuring repository development:
npm install
npm run check
DSH_NX_MODE=mock npm run devConfiguration
Variable | Purpose |
| Only directory the server may use for CAD files |
| Loopback-only bridge URL, for example |
| Random bearer token shared with the local bridge |
| Tool timeout; default 30000 |
| Test-only stateful mock; never creates CAD files |
| NX installation root used by |
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 toolsnx_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
Scored across 19 tools
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.
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.
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.
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
Related MCP Connectors
Headless CAD engine & MCP server for 2D/3D drafting, solids, DXF/SVG export, and automation.
Text-to-CAD: build exact STEP or 3MF/STL on the server, each stated requirement measured.
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
Build and run AI workflows, agents, data tables and 1000+ API integrations from any MCP client.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables 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-
- AlicenseNot gradedqualityBmaintenanceEnables 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
- FlicenseNot gradedqualityCmaintenanceEnables AI clients to create, edit, and export CAD models and drawings in a locally installed FreeCAD via MCP.3-
- AlicenseAqualityBmaintenanceEnables 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.326MIT