NXKnowledge

Community Knowledge > Tooling

nx-mcp: Driving NX Headlessly from an AI Agent (MCP Server)

nx-mcp is a Model Context Protocol server that gives an AI agent the entire NX API, fully headless. It is the reference implementation of the patterns documented in the "Headless and Batch Automation" articles in this knowledge base. The repo README is the source of truth — this page is a pointer, kept deliberately short so it can't drift far.

What it is

  • A persistent GUI-less NX session (run_journal.exe + a stdlib socket worker) owned by a FastMCP stdio server. NX boots once (~4-10 s); every subsequent call is interactive-speed.
  • Coverage model: nx_run_python executes arbitrary NXOpen Python in the live session (100% of the API); an introspected index of the installed release — 25,792 classes / 215,526 methods / 108,424 properties / 44,250 enum members on NX 2606 — makes it discoverable (nx_api_search / nx_api_doc); nx_run_journal covers VB/C# journal sources in isolated one-shot sessions; nx_screenshot renders saved parts headlessly via crash-isolated BatchShade.
  • Plus lifecycle (nx_start/stop/restart/status, worker log) and native- mode conveniences (new/open/save/close part, part info, expressions, STEP/Parasolid/JT/STL/IGES export). 19 tools total.

Where and how

  • Local: C:\Users\chris\Documents\Siemens\nx-mcp (tests: tests/test_session.py, tests/test_mcp_stdio.py, tests/test_capabilities.py — they run against real NX).
  • Registered project-scoped in Siemens/.mcp.json as server nx (python .../nx-mcp/server.py), alongside the nx-docs server that serves this knowledge base — the two are complementary: nx executes, nx-docs explains.
  • Requires: an NX install (NX_MCP_BASE_DIR / UGII_BASE_DIR), a license server reachable (gateway feature), pip install "mcp[cli]" host-side. The in-NX worker needs nothing installed.

Known limits / roadmap

Native-mode parts only so far (Teamcenter-managed via run_journal -pim is the documented next step); Block Styler/dialog code cannot run headless by NX design; images render the saved part file, not unsaved session state.

Source: https://github.com/chrisdamonmartini/nx-mcp (private); local checkout C:/Users/chris/Documents/Siemens/nx-mcp · retrieved 2026-07-12