Skip to main content
Glama
dnic-dev

bw-modeling-mcp

by dnic-dev

bw_delete_adso_data_selective

Selectively deletes aDSO records by characteristic conditions, or simulates the deletion to count matches. Simulates by default; set simulate=false to delete.

Instructions

Selectively delete records from an aDSO by conditions on its characteristics, or simulate the deletion to count the matching records. Simulates by default; pass simulate=false to actually delete. Conditions are select-option rows per field; several rows on one field are combined with OR, rows on different fields with AND. BW decides by aDSO type which tables the deletion covers (for a standard aDSO the active table only, for other types also the inbound table); the change log is not touched, and the requests stay in the request management. To remove whole load requests, use bw_delete_request instead. Returns the record count summed over all affected tables, with the BW messages that name each table and its count.

Input Schema

NameRequiredDescriptionDefault
job_nameNoName of the background job (default: BW-generated).
simulateNoOnly count the matching records, delete nothing (default true).
adso_nameYesTechnical name of the aDSO (e.g. "OBJECT_NAME").
conditionsYesAt least one condition. Only key fields can be restricted when the aDSO has a key; an invalid field is answered with the list of allowed ones.
force_deletionNoForce the deletion where BW otherwise refuses it (default false).
propagate_deletionNoThe cockpit option "Propagate deletion" (default false). BW offers it only for aDSOs that write a change log.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.9.0

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full safety burden and does: it discloses the dry-run default, the side effects that are NOT applied (change log untouched, requests remain in request management), that scope depends on aDSO type (active table only vs. also inbound), and that force/propagate options exist for cases BW otherwise refuses. That is the kind of blast-radius information a destructive tool needs.

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-loaded with the core action and the simulate default, and essentially every sentence adds new information. Some sentences are heavily clause-stacked (the aDSO-type table-coverage sentence), which slightly reduces scanability, but there is no filler.

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

Completeness5/5

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

For a six-parameter destructive tool with no annotations and no output schema, the description covers defaults, scope of effect, non-effects, error/validation behavior (invalid field returns the allowed list), and the return shape (count summed over affected tables plus BW messages per table). Nothing an agent needs to invoke it safely is missing.

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 would be 3, but the description adds real semantics the schema does not state: how multiple condition rows combine (OR within a field, AND across fields) and the default simulate behavior. It does not explain job_name, force_deletion, or propagate_deletion in prose beyond what the schema already says, so it stops short of a 5.

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 ("selectively delete records from an aDSO by conditions on its characteristics") plus the simulate variant, so the operation is unambiguous. It also explicitly differentiates from the sibling bw_delete_request, which handles whole load requests, rather than leaving the agent to guess between the two delete tools.

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?

Gives the concrete when-to-use rule: "Simulates by default; pass simulate=false to actually delete." It also names the alternative and the condition that selects it ("To remove whole load requests, use bw_delete_request instead"), which is exactly the routing guidance an agent needs among many bw_* deletion-adjacent siblings.

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