Skip to main content
Glama

Move storey

move_storey

Raises or lowers an IfcBuildingStorey with its content and updates Elevation; keep_content true moves only the storey, its content keeps its place. Moving or keeping content answers PLAN_REQUIRED: run its plan_id with expect_beyond = n_beyond; dry_run shows first what moves and what is contained but placed otherwise (deviation). New revision, effect report. A call that succeeds is not a job that's done.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "move_storey"
  }
}

Input Schema

NameRequiredDescriptionDefault
byNoVertical shift: metres or a text with unit
noteNoYour note, stored with the new revision
storeyNoThe storey: Name or GlobalId
dry_runNoPreview: the planned effect and a plan_id, nothing written
plan_idNoExecute exactly the plan a dry_run returned, all or nothing; the plan holds target and fields. Plans that clone the same shared object (type, material) run one after the other: plan the second after the first ran, else PLAN_CHANGED
request_idNoYour id for this call: a repeat answers the first result and writes nothing
keep_contentNotrue: only the storey (placement, Elevation) moves; what is placed on it keeps its world place (carried, effect keeps_place). Default: the content moves along
expect_beyondNoWith plan_id: how many elements the plan reaches beyond those named (n_beyond of PLAN_REQUIRED or the dry_run)
expect_contactsNoIntended contacts: checks.contacts splits into as_expected, missing, surprises; an omitted kind is not judged

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / keep_content
      Added value: +{
      +  "description": "true: only the storey (placement, Elevation) moves; what is placed on it keeps its world place (carried, effect keeps_place). Default: the content moves along",
      +  "type": "boolean"
      +}
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare the write, non-destructive, non-idempotent, closed-world profile, so the description adds real value on top: it says a new revision is created, an effect report is returned, keep_content changes what physically moves versus what keeps its world place, and the closing line warns that success does not mean the job is verified. The jargon-heavy references (PLAN_REQUIRED, deviation, keeps_place) are unexplained, which keeps it below a 5.

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

Conciseness3/5

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

It is front-loaded with the core action, which is good, but the middle is a dense run of internal jargon separated by semicolons and the final aphorism 'A call that succeeds is not a job that's done' is cryptic rather than informative. Several clauses could be tightened without losing meaning.

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?

For a nine-parameter mutation tool with no output schema, it covers the essentials an agent needs: the revision model, the effect report, the dry_run/plan_id protocol, and the keep_content fork. It stops short of describing what the effect report actually contains, but the annotation set and full schema coverage fill most of the remaining gap.

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

Parameters3/5

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

Schema coverage is 100%, so all nine parameters are already documented in the schema, including keep_content and expect_beyond. The description largely restates keep_content's consequence and the expect_beyond = n_beyond linkage rather than adding new semantics, so the baseline of 3 is appropriate.

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 first clause states a specific verb and resource: 'Raises or lowers an IfcBuildingStorey with its content and updates Elevation.' That is concrete enough to distinguish it from the generic sibling move_elements, though it never names that sibling explicitly, so the differentiation is left partly to inference from the resource noun.

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 gives clear procedural guidance: dry_run first to preview, then run plan_id with expect_beyond matching n_beyond, and it flags the PLAN_REQUIRED / PLAN_CHANGED conditions. What it lacks is an explicit 'use this instead of move_elements when...' exclusion, so an agent must infer when a storey-level move is preferred over an element-level move.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources