Skip to main content
Glama
codersag

ls-dyna-mcp

by codersag

send_sense_switch

Send a sense-switch file to steer a running LS-DYNA job: stop and dump, write restart files, output plot/dynain data, flush buffers, or toggle implicit solver controls.

Instructions

Steer a running LS-DYNA job by writing a sense-switch file (d3kil) in its run directory. sw1 stops and writes d3dump (continue later with a simple restart); sw3 writes restart files and keeps running; sw4 writes a plot state; swb/swc/swd write dynain (swd also terminates); sw2 prints status; swa flushes buffers. For implicit runs: conv (force the step to converge, troubleshooting only), ttrm (retry the step with a smaller increment), rtrm (stop at the end of the step), lpri / nlpr / iter (toggle solver output). LS-DYNA reads and deletes d3kil while running; a switch sent to a run that already finished is refused. A reply of ok means the file was written, not that the solver has acted on it yet. Args: directory (the solver working_dir), switch

Input Schema

NameRequiredDescriptionDefault
switchYes
directoryYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.2

TDQS

A4.5/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 behavioral burden and does so well: it explains that LS-DYNA reads and deletes d3kil, that a switch sent to a finished run is refused, and that an 'ok' reply only means the file was written, not that the solver has acted. It also documents the effects of each switch, including termination, restart, dump, and output behaviors.

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

Conciseness5/5

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

The description is front-loaded with the core action and then organized by switch family, with no wasted sentences. Despite its length, each detail is necessary for correct invocation of a complex, switch-driven tool.

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?

Given the lack of annotations, an output schema that already covers return values, and two undocumented parameters, the description is complete enough to call the tool correctly. It covers the mechanism, side effects, caveats, parameter meanings, and switch-specific behavior.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It explains 'directory' as the solver working_dir and enumerates the accepted 'switch' values with their meanings, adding substantial value beyond the bare schema. Minor gaps remain around exact string format and case sensitivity.

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?

The description states a specific verb and resource: steering a running LS-DYNA job by writing a d3kil sense-switch file in its run directory. It clearly distinguishes the operation from general job submission or status tools by naming the mechanism and its effect.

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

Usage Guidelines3/5

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

The description gives clear context for using the tool on a running job and explains when individual switches apply, including a troubleshooting-only note for 'conv'. However, it does not explicitly say when to use this tool instead of sibling tools such as stop_lsdyna_job or get_solve_status, leaving some routing ambiguity.

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