Skip to main content
Glama
bw-modeling-mcp

bw-modeling-mcp

by dnic-dev

bw_move_object

Moves a BW modeling object such as an aDSO, InfoObject, or InfoArea to a different InfoArea in one POST operation, including repositioning InfoAreas to the top level.

Instructions

Move a BW object (aDSO, InfoObject, InfoArea, …) to a different InfoArea. Single POST operation — no lock/unlock needed. To put an InfoArea at the top level of the tree, move it with position "before" next to an InfoArea that is already there — bw_list_contents with path "/" lists them. An InfoArea can also be created at the top level directly (bw_create_infoarea without a parent); other objects always belong to an InfoArea.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "object_type": "<object_type>",
      "object_name": "<object_name>",
      "target_info_area": "<target_info_area>"
    },
    "name": "bw_move_object"
  }
}

Input Schema

NameRequiredDescriptionDefault
positionNo"child" (default): into the target InfoArea. "before": an InfoArea only — placed before the target on its level, so it gets the same parent; with a top-level target it moves to the top level.
object_nameYesTechnical name of the object to move (e.g. "OBJECT_NAME").
object_typeYesBW object type URL segment (e.g. "adso", "iobj", "area").
target_info_areaYesTechnical name of the target InfoArea (e.g. "MCPBW").

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.9.0
    • addedInput schema / properties / position
      Added value: +{
      +  "description": "\"child\" (default): into the target InfoArea. \"before\": an InfoArea only — placed before the target on its level, so it gets the same parent; with a top-level target it moves to the top level.",
      +  "enum": [
      +    "child",
      +    "before"
      +  ],
      +  "type": "string"
      +}
  2. First observedv0.7.0

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it does disclose that this is a single POST with no lock/unlock needed, which is genuinely useful operational context. However it says nothing about permissions/transport implications, what side effects a move has on dependent objects, or failure behavior, leaving meaningful gaps for a mutation tool.

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?

Front-loads purpose, then operation semantics, then the tricky top-level edge case; every sentence carries information. The middle sentence about "before" next to an already-top-level InfoArea is somewhat convoluted and could be split for readability.

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?

Given four parameters, an enum, and no annotations or output schema, the description covers the ambiguous positioning case and the alternative creation tool well. It does not indicate what the call returns or what happens to references when an object moves, but for a straightforward move operation the essentials are present.

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 100%, so the baseline is 3, but the description adds actionable meaning beyond the schema by explaining the concrete workflow for achieving a top-level placement via the "before" enum value plus bw_list_contents. Other parameters (object_type, object_name, target_info_area) are left entirely to the schema.

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?

States a specific verb and resource ("Move a BW object ... to a different InfoArea") and enumerates the object kinds covered (aDSO, InfoObject, InfoArea, …). This clearly separates it from sibling creation/read tools such as bw_create_infoarea or bw_get_infoarea.

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 routes the agent for the non-obvious case: to place an InfoArea at the top level, use position "before" next to an existing top-level InfoArea, and it names bw_list_contents with path "/" to discover those. It also names the alternative path (bw_create_infoarea without a parent) and the constraint that other object types always belong to an InfoArea.

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

Deploy Server

Other Tools