Skip to main content
Glama
codersag

ls-dyna-mcp

by codersag

submit_lsdyna_job

Submits LS-DYNA .k files as standalone solver jobs outside Workbench, queues runs, and writes output to the input folder.

Instructions

Run LS-DYNA on a .k file outside Workbench (what LS-Run does). Only the solvers listed in Workbench's lsdyna_solvers.xml can be run, and the input must be inside an allowed folder. Jobs queue (max concurrent: env LSDYNA_MCP_MAX_JOBS, default 1; one job per folder); output goes to lsrun.stdout.txt in the input's folder. SMP: lsdyna_*.exe i=... ncpu=...; a NEGATIVE ncpu gives reproducible results at up to 15% more CPU time. MPP: mpiexec -np N (IntelMPI uses -localonly). Needs the Ansys LS-DYNA license (LSTC_LICENSE=ANSYS) and, beyond one core, HPC licenses. Args: input_file; ncpu (non-zero, at most 512 in magnitude); process (SMP|MPP); precision (single|double); mpi (IntelMPI|MSMPI); memory (words, e.g. 200m; empty = solver default); depends_on (job id to wait on for normal termination, -1 = last submitted); version; extra_args_json (JSON list of key=value strings; only case, memory2, jobid are accepted, e.g. ["case=1"]); dry_run (build the command, don't run); restart_file (name of a restart file such as d3dump01 or d3full01 in the input's folder: the run is started with r=; check_restart_setup says whether a restart is possible and what the input must contain)

Input Schema

NameRequiredDescriptionDefault
mpiNoIntelMPI
ncpuNo
memoryNo
dry_runNo
processNoSMP
versionNo
precisionNodouble
depends_onNo
input_fileYes
restart_fileNo
extra_args_jsonNo[]

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.2

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so exceptionally: it discloses queueing behavior (max concurrent via LSDYNA_MCP_MAX_JOBS, default 1, one job per folder), output file location (lsrun.stdout.txt in the input folder), licensing prerequisites (LSTC_LICENSE=ANSYS, HPC licenses beyond one core), and the counter-intuitive negative-ncpu reproducibility/CPU-time tradeoff.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, followed by constraints, then a compact arg list — nothing extraneous. The middle block is packed into long run-on sentences (queue/output/solver-path rules in one breath), which costs some readability but every clause carries real information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described; the description instead covers the things an agent actually needs before calling — allowed solvers, allowed input folders, concurrency limits, license requirements, SMP vs MPP invocation, dry-run mode, and restart mechanics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it does: every one of the 11 parameters is explained with added meaning beyond the schema — ncpu non-zero and bounded at 512 magnitude, depends_on with -1 = last submitted, memory in words with empty = solver default, extra_args_json restricted to case/memory2/jobid with an example, and restart_file's r=<file> launch form.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Run LS-DYNA on a .k file') plus an explicit scope constraint ('outside Workbench, what LS-Run does'), which lets an agent distinguish it from the Workbench-side solve_analysis sibling without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly frames the context in which this tool applies (standalone solver run, not Workbench) and routes the restart case to check_restart_setup. It stops short of an explicit 'use solve_analysis instead when X' exclusion, so the alternative is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.