Skip to main content
Glama
SorataYang

Qiao-MCP

by SorataYang

create_beam_elements_linear

Batch-create beam elements by connecting nodes in the exact order returned from node creation, with geometric validation that prevents invalid folded-back models.

Instructions

    Batch-create frame elements chaining nodes along a girder
    (批量创建沿主梁方向连接相邻节点的梁单元).

    PREFERRED: pass node_ids — the exact ID sequence reported by
    create_nodes_linear. Elements chain them in the order given:
    node_ids[0]→[1], [1]→[2], …
    (首选:直接传 create_nodes_linear 回报的编号序列,按给定顺序连接)

    Do NOT assume node IDs are consecutive. The backend assigns numbering in
    an order that is NOT predictable from the request — measured on qtmodel
    2.6.3, one batch came back [1104,1103,1102,1101,1100] (reversed) and
    another [1201,1200,1204,1203,1202] (neither ascending nor reversed).
    Chaining by ID arithmetic on such a batch silently produces folded-back
    geometry: elements of wrong length and direction that the solver accepts
    without error, yielding a model that computes the wrong bridge.
    (后端编号顺序不可预测,按编号递推会静默建出折返几何,求解器不会报错)

    Node coordinates are checked before writing: if the chain is not
    geometrically monotonic, the call fails instead of building a bad model.

    Args:
        mat_id: Material ID for all elements (所有梁单元的材料编号)
        sec_id: Section ID for all elements (所有梁单元的截面编号)
        node_ids: Node IDs in girder order, as reported by create_nodes_linear
                  (节点编号序列,按主梁走向排列). Creates len(node_ids)-1 elements.
        node_id_start: LEGACY fallback, only when node_ids is omitted — assumes
                       IDs run consecutively from here (旧式用法,假设编号连续)
        count: Number of elements, only with node_id_start (单元数量)
        element_id_start: ID assigned to the first element, then auto-incremented
                          (第一个单元的编号,后续自动递增)
        beta_angle: Beta angle in degrees, same for all elements (贝塔角,度)
        ele_type: 1=Beam(梁), 2=Truss(杆), 3=Cable(索)

    Examples:
        # Preferred — chain the IDs create_nodes_linear actually returned:
        create_beam_elements_linear(mat_id=1, sec_id=1,
                                    node_ids=[5, 501, 500, 502])

        # Legacy — only safe when the nodes are known to be consecutive:
        create_beam_elements_linear(mat_id=1, sec_id=1,
                                    node_id_start=1, count=100)
    

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNo
mat_idYes
sec_idYes
ele_typeNo
node_idsNo
beta_angleNo
node_id_startNo
element_id_startNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.3.1

TDQS

A4.8/5.0
Behavior5/5

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

Far exceeds the sparse annotations (readOnlyHint=false, destructiveHint=false). It discloses the backend's unpredictable ID ordering with measured evidence (qtmodel 2.6.3 examples), the silent failure mode (folded-back geometry the solver accepts without error), and the pre-write geometric monotonicity check that fails instead of building a bad model. No annotation contradiction.

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?

Well-structured and front-loaded: summary, preferred usage, critical warning, safety behavior, parameters, examples. It is long, and the bilingual repetition doubles every concept, but the extra length is earned — the ID-ordering warning is evidence-backed and each parameter needs explanation given the empty schema.

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

Completeness4/5

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

Everything an agent needs to invoke the tool correctly is present: preferred vs. legacy modes, the dangerous trap, all parameters, and examples. The one gap is the return value — the description never states what the call returns (presumably element IDs), and with no output schema that information is absent entirely.

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 description coverage is 0%, so the description carries the full burden — and succeeds. All 8 parameters are explained, including cross-parameter dependencies: node_ids creates len(node_ids)-1 elements, node_id_start is only valid with count, and ele_type maps 1/2/3 to Beam/Truss/Cable.

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 opens with a specific verb and resource: 'Batch-create frame elements chaining nodes along a girder' — naming both the operation and its mechanism. It is clearly distinguishable from siblings like create_beam_element (singular) and create_nodes_linear (which produces the node_ids this tool consumes).

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

Usage Guidelines5/5

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

Explicitly designates the PREFERRED calling mode (pass node_ids from create_nodes_linear) and marks node_id_start as a LEGACY fallback with the exact safety condition ('only safe when the nodes are known to be consecutive'). Two examples contrast the preferred and legacy paths, leaving no ambiguity about when to use which.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SorataYang/qiao-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server