Skip to main content
Glama
bw-modeling-mcp

bw-modeling-mcp

by dnic-dev

bw_write_adso

Create, restructure, and configure SAP BW/4HANA aDSOs: add fields, manage key fields, change settings, and switch between planning and loading modes.

Instructions

Create or change an aDSO: structure, keys, settings, planning mode. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_write_adso", 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_write_adso"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNo"planning" for interactive planning, "loading" for staging/loading. [set_planning_mode]
labelNoDescription / label for the new aDSO. [create]
actionNoDefined per operation — bw_describe(tool: "bw_write_adso", operation: "…") gives each definition. [create, update]
fieldsNoPure field definitions for action "add_pure_field". [update]
packageNoDevelopment package (default "$TMP"). [create]
settingsNoSettings to apply (only for action "update_settings"). [update]
adso_nameNoDefined per operation — bw_describe(tool: "bw_write_adso", operation: "…") gives each definition.
adso_typeNoaDSO type preset for action "empty" (default "standard"). [create]
dimensionNoField group ("Feldgruppe") to place the field in, given as the bare group name — e.g. [update]
info_areaNoInfoArea to create the aDSO in (e.g. [create]
operationYesOperation — one of: create: Create a new aDSO shell. Requires adso_name, label, info_area. | update: Add/remove fields, change aDSO type/settings, manage key fields, or update individual field properties. Requires adso_name. | set_planning_mode: Switch a planning-enabled aDSO between interactive planning ("planning") and loading ("loading", shown as "Staging" in the BW cockpit). Requires adso_name, mode.
transportNoTransport request number (e.g. [update]
field_nameNoField name to modify (only for action "update_field_properties"), e.g. [update]
key_fieldsNoList of field names that should be key fields (only for action "manage_keys"). [update]
propertiesNoField properties to update (only for action "update_field_properties"). [update]
partitioningNoPartitioning to write (only for action "manage_partitions"). [update]
source_systemNoSource system name of the DataSource. [create]
template_nameNoTemplate object to propose fields from (action "from_template" only). [create]
template_typeNoType of the template object for action "from_template": "ADSO" (default) to copy from an existing aDSO, or "R… [create]
infoobject_nameNoInfoObject name or comma-separated list to add or remove (e.g. [update]
write_interfaceNoEnable write interface (pushMode="true"). [create]

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.0

TDQS

C2.9/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 burden for a mutating tool. Beyond naming the touched areas, it discloses nothing about transport requests, permissions, irreversibility of create/update, or the effect of switching planning mode; the only behavioral hint is the pointer to the operation enum, which lives in structured data the agent already sees.

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 sentences, front-loaded with the verb and resource, with no filler. The second sentence is a useful dispatch instruction rather than redundancy, though the description is very terse for a 21-parameter tool.

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

Completeness2/5

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

With 21 parameters, nested objects, no output schema, and no annotations, a two-sentence description is thin. Deferring to bw_describe covers parameter detail, but nothing covers the mutation's consequences, required transport handling, or what a successful call yields — an agent must make extra calls before it can act safely.

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

Parameters2/5

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

Schema description coverage is 100%, so the schema already documents all 21 parameters, including per-operation applicability tags. The description adds no parameter meaning of its own and instead delegates entirely to bw_describe, falling below the baseline expected when the schema does the heavy lifting.

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 sentence gives a specific verb and resource ("Create or change an aDSO") and enumerates the aspects touched: structure, keys, settings, planning mode. It is clearly distinguishable from read-side siblings like bw_read or bw_describe, though it does not explicitly contrast itself with adjacent write tools such as bw_write_planning.

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 that the operation enum enumerates each operation and its requirements, and routes to bw_describe for per-operation parameter detail. That is implied usage guidance rather than explicit when-to-use/when-not-to-use versus alternatives; it never states, for example, that existing aDSOs are changed via 'update' rather than re-created.

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