Skip to main content

opennodex

Structural finite-element analysis and structural health monitoring from .ndx decks — from Python, the command line, and any MCP-capable agent harness.

pip install opennodex (Python 3.10+) brings everything a run needs: the .ndx compiler, the native nodex engine and the native nodex-mesher, built for your platform; the nodex-shm SHM engine (operational modal analysis, damage localization, monitoring) with its numpy/scipy/pandas/matplotlib; and Node.js as a dependency wheel. Nothing else to install, no solver to configure.

pip install opennodex
opennodex selftest          # a beam, an auto-meshed slab, the slab over MCP, and an SHM analysis

Command line

opennodex check viga.ndx               # compile only: positioned diagnostics
opennodex run viga.ndx                 # compile + solve, one summary line per solve
opennodex run viga.ndx --json r.json   # …and the full result
opennodex info                         # compiler, engine contract version, mesher

Python

import opennodex

out = opennodex.run("viga.ndx")        # a path, or the deck's text
for solve, result in zip(out["solves"], out["results"]):
    print(solve["kind"], len(result["nodes"]))

opennodex.check("viga.ndx")            # {"ok", "diagnostics", ...} — never raises for a bad deck

MCP — the opennodex tools in any agent harness

opennodex mcp is a local MCP server (stdio) with the opennodex agent's tools: validate, run (native engine, real runId), query results, check design criteria, section catalog, suggest a section, compare modal data, twin training, damage localization and mechanism diagnosis (nodex-shm), generate a frame, import SAP2000 / ETABS / Abaqus / OpenSees / SOFiSTiK models, bake a parametric deck, model patches and more.

It never edits your files: your agent does, with its own tools, as diffs you see. The generators (generate_frame, import_model, bake_deck) return the .ndx they would write, for your agent to save. Your agent also gets the opennodex agent's own instructions — its FEM rules and the whole .ndx reference — through the server's instructions and the opennodex_instructions tool (some hosts shorten or drop server instructions; the tool is never shortened). File paths resolve against the folder the host starts it in (your project), or --root DIR.

Install it once so opennodex is on your PATH (pipx install opennodex or uv tool install opennodex), or let uvx fetch it on demand ("command": "uvx", "args": ["opennodex", "mcp"]). Then register it:

Claude Code

claude mcp add opennodex -- opennodex mcp

opencode — opencode.json

{ "mcp": { "opennodex": { "type": "local", "command": ["opennodex", "mcp"], "enabled": true } } }

OpenAI Codex CLI — ~/.codex/config.toml

[mcp_servers.opennodex]
command = "opennodex"
args = ["mcp"]

Claude Desktop / Cursor — claude_desktop_config.json / .cursor/mcp.json

{ "mcpServers": { "opennodex": { "command": "opennodex", "args": ["mcp"] } } }

VS Code — .vscode/mcp.json

{ "servers": { "opennodex": { "type": "stdio", "command": "opennodex", "args": ["mcp"] } } }

opennodex selftest also drives the MCP server the way a host does and runs a deck through it.

A deck looks like this:

model units kN, m
material steel E=210e6 nu=0.3 rho=7.85
section s A=0.00538 Iy=8.36e-5 Iz=6.04e-6 J=2.01e-7
node A at (0,0,0)
node B at (6,0,0)
beam B1 from A to B steel s div 4
fix A
load 1 nodal B fz=-10
solve linear_static

Every number comes from a real engine run. The deck carries its own section properties, so it runs the same on any machine.

Platforms

Linux x86_64 (glibc as tagged on the wheel), Windows x64, macOS (Apple Silicon and Intel). The desktop app (editor, 3D viewer and the optional agent) is a separate download: opennodex releases.


Español. pip install opennodex instala el compilador de .ndx, el motor nativo nodex, el mallador nativo y el motor SHM nodex-shm para tu plataforma, más Node.js. opennodex selftest comprueba la instalación; opennodex run deck.ndx compila y resuelve; opennodex mcp expone las herramientas de opennodex como servidor MCP local para Claude Code, opencode, Codex, Cursor o VS Code (configuración arriba). La aplicación de escritorio se descarga aparte.

Metadata

Release files for opennodex 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for opennodex 0.1.8
File
opennodex-0.1.8-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
opennodex-0.1.8-py3-none-manylinux_2_38_x86_64.whl Python 3 none Linux glibc 2.38+ x86-64 Details
opennodex-0.1.8-py3-none-macosx_15_0_x86_64.whl Python 3 none macOS 15.0+ x86-64 Details
opennodex-0.1.8-py3-none-macosx_14_0_arm64.whl Python 3 none macOS 14.0+ ARM64 Details

Total release size: 14.3 MB

Release files / opennodex-0.1.8-py3-none-win_amd64.whl

Download URL opennodex-0.1.8-py3-none-win_amd64.whl
Size 5.6 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
7a8a37b87d4a1ab6180955dc62eab7b97c35fbc8b01b88837920bd4e6f05b0be
BLAKE2b-256 checksum
How to use checksums
075ebc4677c418f50f56fcdcab8f45eac725e567f47566dd1623d35b355c9d2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / opennodex-0.1.8-py3-none-manylinux_2_38_x86_64.whl

Download URL opennodex-0.1.8-py3-none-manylinux_2_38_x86_64.whl
Size 2.9 MB
Tags Linux glibc 2.38+ x86-64 Python 3
SHA-256 checksum
How to use checksums
c9403c197b59b5e4e67d51cfcdf0c3c5472e1d4705ff5819c7cfcde12990e5b1
BLAKE2b-256 checksum
How to use checksums
cbc0e59deebee8810ad34410d2383cc74cf5702e622e6b25bac9eb152b047c50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / opennodex-0.1.8-py3-none-macosx_15_0_x86_64.whl

Download URL opennodex-0.1.8-py3-none-macosx_15_0_x86_64.whl
Size 3.0 MB
Tags Python 3 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
520cb3c7272c1045d725fe5cfcfb05a2db2f0d72ba1885c275f34ba990b8f791
BLAKE2b-256 checksum
How to use checksums
7d26c30d284300c87e9d4211e5fb09dcc3977a9f5ac92ffc5cd27826a4507e10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / opennodex-0.1.8-py3-none-macosx_14_0_arm64.whl

Download URL opennodex-0.1.8-py3-none-macosx_14_0_arm64.whl
Size 2.8 MB
Tags Python 3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
1511fc7e9f9a4adea85f466462d2523f7f472f7db1b772cdc2237124c9d03c65
BLAKE2b-256 checksum
How to use checksums
7308771e56dceeb207b050c4ff41ea9423291c89922558c5a69b67447aa239fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.9

4 release files

This release

0.1.8 This release

4 release files

0.1.5

4 release files

0.1.4

4 release files

0.1.3

4 release files

0.1.2

4 release files

0.1.1

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page