Skip to main content
Glama
bw-modeling-mcp

bw-modeling-mcp

by dnic-dev

bw_run

Executes SAP BW/4HANA DTPs, process chains, failed chain steps, request activation or deletion, and remodeling requests through operation-based run controls.

Instructions

Execute: run a DTP, start a process chain or repeat a failed step, activate or delete a request, run a remodeling request. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_run", 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_run"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoProcess chain technical name (e.g. [process_chain]
startNoStart time for "execute" and "restart": "immediate" (default) or an ISO 8601 timestamp to schedule the backgr… [remodeling]
actionNoAction to perform (default "execute"). [remodeling]
log_idNoLog ID of the run, from bw_list_process_chain_runs or bw_list_process_chain_last_status. [restart_chain_step]
targetNog. [delete_request]
storageNoDefined per operation — bw_describe(tool: "bw_run", operation: "…") gives each definition. [activate_request, delete_request]
chain_idNoProcess chain technical name (e.g. [restart_chain_step]
dtp_nameNoTechnical name of the DTP to run (e.g. [dtp]
operationYesOperation — one of: dtp: Start (execute) a run of an existing, active DTP. Requires dtp_name. | process_chain: Start a process chain once, now, as the BW/4HANA Cockpit does with "Execute" (asynchronous): the run goes to the background under the technical user of the cha… Requires name. | restart_chain_step: Repeat a failed or canceled step of a process chain run, as the process chain monitor does with "Repeat": the step runs again as a new instance within the same… Requires chain_id, log_id. | activate_request: Activate loaded data (DSO request activation): move a finished load from the Inbound Table into the active data table and change log. Requires request_tsn. | delete_request: Delete load requests from an InfoProvider, removing the data they brought in along with their entry in the request management. | remodeling: Start, restart or reset a remodeling request. Requires info_provider, remodeling_rule.
process_idNoStep number as bw_get_process_chain_run_detail shows it (e.g. [restart_chain_step]
request_tsnNoDefined per operation — bw_describe(tool: "bw_run", operation: "…") gives each definition. [activate_request, delete_request]
target_typeNoTarget object type (default "ADSO"). [delete_request]
all_requestsNoDelete every request of target in one run (default false): roll back the activations, then delete what is lef… [delete_request]
wait_secondsNoWait up to this many seconds for the run to end before answering (0 = answer right after the start, the defau… [process_chain]
info_providerNoInfoProvider technical name the rule belongs to. [remodeling]
request_numberNoOptional request GUID from bw_list_remodeling_requests output. [remodeling]
remodeling_ruleNoRemodeling rule ID, from bw_list_remodeling_requests output. [remodeling]

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. It signals that this tool mutates and destroys state only through verbs like 'delete', and discloses nothing about irreversibility, permissions, asynchronous execution, or how long a call may block — details that are buried in individual schema parameter descriptions rather than in the description itself.

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 operation list, followed by the routing hint. No filler or marketing language. The second sentence could be tightened slightly, but nothing is wasted.

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 17-parameter multi-operation dispatcher with no annotations and no output schema, the description establishes the operation surface and points to bw_describe for details, which is a reasonable strategy. It still leaves an agent without any statement of what a call returns or whether the run completes synchronously, so it is adequate rather than complete.

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 each enum value already documents its own required parameters, so the schema does the semantic work. The description only adds a pointer to bw_describe for per-operation parameter definitions; it contributes no meaning about the 17 parameters beyond that delegation, which is the baseline case for high coverage.

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 a concrete verb set with concrete resources: run a DTP, start a process chain, repeat a failed step, activate/delete a request, run remodeling. That is far more specific than a restated name. It stops short of a 5 because it does not distinguish this dispatcher from plausible siblings such as bw_activate or bw_delete, which an agent may reasonably consider for the activate_request and delete_request cases.

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 drive the tool (pick an operation from the enum, then call bw_describe for that operation's full parameter set), which is useful procedural guidance. It gives no when-not guidance and no indication of why one would route activation or deletion through bw_run rather than the sibling tools, so usage is implied rather than decided.

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