Ask your AI about your MIDAS NX model.
A local MCP server that lets AI apps such as Claude Desktop read the model open in Gen NX / Civil NX, show analysis results, and apply only the changes you confirm.
Built by a MIDAS IT team member · alpha · not an official producthttps://dennis5882.github.io/midas-nx-mcp/en/llms.txt
It sums up the install steps, the tools and the rules to follow, written for AI agents.
tools
read-only tools
tools that change, after you confirm
products: Gen NX · Civil NX
What it does
Keep the model open and ask; the AI picks the right tool and reads straight from NX.
Read the model
Ask "Summarise the Gen model" for counts of nodes, elements, materials, sections and load cases, and the unit system. Table schemas and records too.
Analysis results
"Show the DL reactions", "Beam forces for DL": result tables on request, and checks based on them.
Screen capture
"Show me the model" returns a picture of the NX window.
Confirmed changes
Add nodes, edit or delete records, run the analysis, save a copy. Every change is previewed first and applied only after you agree.
How it works
Everything runs on your PC. The AI app starts and stops the server; you never run it yourself.
What you need
| OS | Windows |
|---|---|
| NX | Gen NX or Civil NX running on the same PC, with its Open API connected (Apps > API Settings) |
| MAPI key | One per product, shown under Apps > API Settings in each program. Use your own PC's key. |
| AI app | Claude Desktop, latest version (recommended). Claude Code, Codex and other MCP clients work too. |
Do not swap the Gen and Civil keys. The other product's key still reports "connected", but every real call fails. Do not share your key with anyone.
Install: Claude Desktop
No Python or uv to install.
-
Download
Get
midas-nx-mcp-<version>.mcpbfrom the latest release. -
Open it
Double-click the file, or drag it onto
Settings > Extensionsin Claude Desktop. -
Enter your keys
Enter the Gen and Civil keys; leave the one you do not use empty. The output folder (default
C:\temp, which must exist) and the analysis timeout are set here too. Change them later underSettings > Extensions. -
Check the connection
Open a model in NX and ask Claude "Check the Gen connection". If it reports connected and the program name, you are done.
Other apps / by hand
These need uv. Install it once from PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Open claude_desktop_config.json with Settings > Developer > Edit Config, add the server under mcpServers, then quit Claude Desktop completely (tray icon too) and start it again.
{
"mcpServers": {
"midas-nx": {
"command": "uvx",
"args": ["midas-nx-mcp@latest"],
"env": {
"MIDAS_MAPI_KEY_GEN": "your Gen NX key",
"MIDAS_MAPI_KEY_CIVIL": "your Civil NX key"
}
}
}
}claude mcp add midas-nx -e MIDAS_MAPI_KEY_GEN=your-gen-key -e MIDAS_MAPI_KEY_CIVIL=your-civil-key -- uvx midas-nx-mcp@latestAdd this to ~/.codex/config.toml, or add a STDIO server in the settings screen.
[mcp_servers.midas-nx]
command = "uvx"
args = ["midas-nx-mcp@latest"]
env = { MIDAS_MAPI_KEY_GEN = "your Gen NX key", MIDAS_MAPI_KEY_CIVIL = "your Civil NX key" }What to ask
Say "Gen" or "Civil" in your request, so the AI uses the right key.
| To | Ask |
|---|---|
| Get an overview | "Summarise the Civil model" |
| Find a table / its fields | "Which load tables does Gen have?", "What fields does the SECT table have?" |
| Read records | "Show the coordinates of nodes 1 to 10", "List the sections in use" |
| Design settings | "Which design code is set?" |
| Current selection | "What is selected in NX right now?" |
| Analysis results | "Show the DL reactions", "Show DL and LL displacements" |
| Check | "Do the reactions add up to the self-weight?" |
| See it | "Show me the model" |
At most 200 rows come back at once. For more, ask for a range: "the next 200", "only 1001 to 1100".
Preview → confirm → apply
Anything that changes the model or its file (analysis, save a copy, create / update / delete records) takes two steps. The AI shows what will change first and applies it only after you say "go ahead". If the model changed in between, it is refused; afterwards the table is read back and reported.
- Any change discards the analysis results. Run the analysis again before reading results.
- NX saves over the open file before it analyses. To keep the original, ask for "save a copy" first.
- A document that was never saved cannot be analysed. Save a copy first to give it a file.
- Copies go to
C:\tempunder a generated name, and NX then works on the copy. - New / open / import document and emptying a table are never offered: they are too risky.
Try it on a copy of an important model first. This alpha has been verified on small test models, not yet on large production models.
Tools
The AI picks them; no need to remember the names. Every tool takes product (gen or civil).
| Tool | Kind | What it does |
|---|---|---|
check_connection | read | Connected or not, program name |
list_tables | read | The /db and /DESIGN tables (searchable) |
describe_table | read | NX's own field schema for a table |
read_table | read | Records, by id if given, up to 200 rows |
model_summary | read | Counts of the main tables, unit system |
read_model_info | read | Project status, section properties, story check parameters (Gen), current selection |
list_result_tables | read | Result table types |
result_table | read | One result table (load cases, components, keys) |
capture_view | read | The NX window as a PNG |
run_analysis | change | Runs the analysis (NX saves the open file first) |
save_copy | change | Saves a copy to C:\temp under a generated name |
write_records | change | Creates or updates up to 50 records |
delete_records | change | Deletes up to 50 records by id |
Troubleshooting
| Symptom | Check |
|---|---|
| Every call suddenly times out | Look for a dialog in NX and answer it in the NX window. Do not ask the AI to retry. |
| "... is not set" | That product's key is entered (Settings > Extensions) |
| Connected, but reads fail | The Gen and Civil keys are not swapped, and NX's API is connected |
| "NX is not running" | Start NX and connect under Apps > API Settings |
| "no analysis result" | No analysis yet, or a later change discarded the results |
| Capture or save fails | The output folder (C:\temp) exists |
| New version not picked up | .mcpb: install the new file. By hand: uv cache clean, then restart the app |
Other problems or ideas: GitHub Issues.
Try it now
Double-click one file, enter your key, and you are set.
