Skip to main content
Glama

etabs_set_restraints

Assign fixed, pinned, roller, free, or custom DOF restraints to ETABS joints by name, elevation, group, or current selection.

Instructions

Assign supports (Assign > Joint > Restraints): fixed, pinned, roller or custom DOFs, to joints chosen by name, by elevation, by group, or the current selection.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dofsNo[UX, UY, UZ, RX, RY, RZ] for 'custom'.
groupNo
pointsNoJoint names.
selectedNo
restraintNoSupport type; 'custom' uses 'dofs'.fixed
toleranceNo
at_elevationNoApply to every joint at this Z, e.g. 0 or '0 m'.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior2/5

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

Annotations already declare the mutation profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), and the description adds essentially nothing behavioral on top: it doesn't say whether existing restraints are overwritten, which model/instance is affected, or that the model must be unlocked. The UI breadcrumb is navigational, not behavioral.

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?

A single front-loaded sentence opens with the verb and resource before listing selection strategies; nothing is wasted. The parenthetical ETABS menu path is mild filler for an agent audience but harmless.

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?

For a 7-parameter mutation tool with an output schema, the description covers targeting and support types but omits mutation-relevant behavior: overwrite semantics, required connection/model state, and precedence among the four targeting modes. Adequate, but an agent could still call it in a way that produces unintended assignments.

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 coverage is only 57%, yet the description compensates well: it maps 'name' to points, 'elevation' to at_elevation, 'group' to group, 'current selection' to selected, and enumerates the restraint types (fixed/pinned/roller/custom) that the enum carries. It does not explain 'tolerance' or how simultaneous targeting parameters interact, so it is strong but not complete.

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?

Names a specific verb and resource ('Assign supports ... to joints') and enumerates the target-selection modes (name, elevation, group, current selection), which cleanly separates it from siblings like etabs_assign_section or etabs_assign_loads. It stops short of explicitly naming a sibling it is not, so it falls just under a 5.

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 four targeting modes imply how to call it, but there is no statement of when to prefer this over alternatives, no precedence guidance when multiple targeting parameters are supplied, and no prerequisites (e.g., model must be unlocked). Usage is inferable but not explicit.

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