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_pythonexecutes 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_journalcovers VB/C# journal sources in isolated one-shot sessions;nx_screenshotrenders 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.jsonas servernx(python .../nx-mcp/server.py), alongside thenx-docsserver that serves this knowledge base — the two are complementary:nxexecutes,nx-docsexplains. - Requires: an NX install (
NX_MCP_BASE_DIR/UGII_BASE_DIR), a license server reachable (gatewayfeature),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