Skip to main content
Glama
bw-modeling-mcp

bw-modeling-mcp

by dnic-dev

bw_manage

Manage SAP BW repository tasks: create InfoAreas, move modeling objects, reassign packages, and create or inspect transport requests and tasks.

Instructions

Repository management: InfoAreas, moving objects, package and transport assignment, transport tasks. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_manage", operation: "…") gives the complete parameter definition of one.

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": {
      "operation": "<operation>"
    },
    "name": "bw_manage"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoInfoArea name, max 12 characters (e.g. [create_infoarea]
userNoTarget user the task is created for (task owner), e.g. [create_transport_task]
packageNoDefined per operation — bw_describe(tool: "bw_manage", operation: "…") gives each definition. [create_infoarea, change_package]
own_onlyNoOnly the caller's own requests (default true). [changeable_transports]
positionNo"child" (default): into the target InfoArea. [move_object]
operationYesOperation — one of: create_infoarea: Create a new InfoArea. Requires name. | move_object: Move a BW object (aDSO, InfoObject, InfoArea, …) to a different InfoArea. Requires object_type, object_name, target_info_area. | change_package: Assign an existing BW object to a different package (Development Class) and record the change on a transport request. Requires object_name, object_type, package. | create_transport_task: Add a task (sub-request) for a user to an existing workbench transport request. Requires transport_request, user. | changeable_transports: List transport requests and their tasks via the BW transport state (cto/check).
transportNoTransport request number (e.g. [change_package]
descriptionNoDescription text for the InfoArea. [create_infoarea]
object_nameNoDefined per operation — bw_describe(tool: "bw_manage", operation: "…") gives each definition. [move_object, change_package]
object_typeNoDefined per operation — bw_describe(tool: "bw_manage", operation: "…") gives each definition. [move_object, change_package]
source_systemNoSource system — required only for object_type "RSDS" (a DataSource is identified by DataSource name plus sour… [change_package]
include_objectsNoInclude the objects contained in each task (default false). [changeable_transports]
modifiable_onlyNoOnly modifiable requests, i.e. [changeable_transports]
parent_info_areaNoParent InfoArea name. [create_infoarea]
target_info_areaNoTechnical name of the target InfoArea (e.g. [move_object]
transport_requestNoParent workbench transport request number (e.g. [create_transport_task]

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.0

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden for a tool containing writes (create_infoarea, move_object, change_package, create_transport_task). It discloses some effects indirectly through the enum (changes recorded on a transport request) but says nothing about reversibility, required authorizations, side effects on existing objects, or failure behavior — significant gaps for a mutating 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?

Two tightly packed sentences with the resource scope front-loaded and the lookup instructions second. No filler, though the second sentence is essentially a meta-instruction rather than tool semantics.

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 16-parameter, five-operation tool with no output schema and no annotations, the definition gives adequate navigation (operation enum plus bw_describe pointer). It stops short of the behavioral detail an agent needs to invoke mutating operations safely, which is the main 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 description coverage is 100% and the enum descriptions already spell out each operation's required parameters, so the baseline of 3 applies. The description adds only the pointer to bw_describe for per-operation parameter definitions, not new semantics.

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 names the resource domain precisely — InfoAreas, object moves, package/transport assignment, transport tasks — and frames the tool as repository management, which separates it from the bw_write_* and bw_activate siblings. It never uses a single verb, but the operation enum carries the concrete actions, so an agent can tell what the tool is for.

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 tells the agent how to proceed — read the operation enum for requirements and call bw_describe for full parameter definitions — which is useful routing guidance. It does not say when to choose bw_manage over siblings such as bw_activate or bw_write_* for a given change, so operation selection guidance is only implied.

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