Skip to main content
Glama
EvgenVer

lira-sapr-mcp

by EvgenVer

lira_element_forces

Read-only

Extracts internal forces and stresses per element family from analyzed LIRA models, returning components by load case with filtering, sorting, envelopes, and CSV/Excel export.

Instructions

Internal forces and stresses of elements in load cases after lira_run_analysis, answered per element family, since each family has its own components:

bar: N, Qy, Qz (force), Mx, My, Mz (forcelength), Ry, Rz (soil), Bw, Tw; plate: Nx, Ny, Nz, Txy, Txz (stress), Mx, My, Mxy (forcelength/length), Qx, Qy (force/length), Rz (soil pressure); solid: Nx, Ny, Nz, Txy, Txz, Tyz; special, special_58_59, special_310, special_264: their forces. Units are those set in LIRA and are listed per component. One row per element, load case, shape (dynamic load cases only: the mode number) and design section (bars: section 1 = start; set the count in Elements_DesignSectionsCount). families: e.g. ["bar"] (default all); query arguments apply within each family.

Input Schema

NameRequiredDescriptionDefault
topNo
modelNo
by_absNo
sort_byNo
elementsNo
envelopeNo
familiesNo
thresholdNo
componentsNo
load_casesNo
export_pathNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description adds substantial context beyond that: the row granularity (one row per element, load case, shape, and design section), that shape applies only to dynamic load cases as a mode number, that units come from the LIRA model and vary per component, and that design-section count is controlled elsewhere.

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?

The purpose and prerequisite are front-loaded, and the long component enumeration is dense but genuinely informative given the total absence of schema descriptions. It is somewhat run-on, but every clause carries data an agent cannot get elsewhere.

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

Completeness3/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 explained, and the row-granularity note plus prerequisite make the core call pattern clear. Yet for an 11-parameter tool with zero schema coverage, the semantics of key filtering and shaping parameters (envelope, threshold, by_abs, sort_by, top) remain opaque, which is a real gap.

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

Parameters2/5

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

Schema description coverage is 0% across 11 parameters, so the description must compensate and largely does not. It explains families (example value, default all) and partially explains components via the per-family component lists, but top, model, by_abs, sort_by, elements, envelope, threshold, load_cases, and export_path are left entirely undocumented.

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

Purpose4/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: returns internal forces and stresses of elements after analysis, answered per element family. It is clearly distinct from siblings like lira_node_displacements or lira_combination_forces, though it does not explicitly name how it differs from lira_design_forces.

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?

It states the prerequisite clearly ('after lira_run_analysis') and notes that query arguments apply within each family and that families defaults to all. However, it gives no guidance on when to prefer this over sibling tools such as lira_combination_forces or lira_design_forces, leaving the choice implicit.

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