Skip to main content
Glama
bw-modeling-mcp

bw-modeling-mcp

by dnic-dev

bw_find

Search, trace, and inspect SAP BW/4HANA objects and their relations—by name, cross-reference, folder contents, data flow, source systems, DataSources, roles, metadata tables, or system profile.

Instructions

Find BW objects and their relations: search by name, cross references, folder contents, data flows, source systems and DataSources, roles and their queries, metadata tables, system profile. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_find", 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_find"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoWorkbook technical name or pattern with * (e.g. [afo_workbooks]
pathNoRepository path to list. [contents]
roleNog. [afo_workbooks]
userNoOnly workbooks last changed by this user. [afo_workbooks]
formatNoDefined per operation — bw_describe(tool: "bw_find", operation: "…") gives each definition. [dataflow, datasources]
levelsNoNumber of levels to expand in each direction. [dataflow]
directionNoDirection to traverse: "upwards" (towards BW target objects: ADSO, TRFN, TRCS, IOBJ), "downwards" (towards so… [dataflow]
operationYesOperation — one of: search: Universal search for BW objects by name or description. Requires search_term. | xref: Find where-used / dependencies for a BW object. Requires object_type, object_name. | contents: Read the direct children of any node in the BW repository tree. Requires path. | dataflow: Trace the data flow graph for a BW object. Requires object_name, object_type. | dtps: List DTPs (Data Transfer Processes) that depend on a BW object. Requires object_type, object_name. | source_systems: List logical source systems (LSYS) registered in the BW datasource structure. | datasources: List all DataSources (RSDS) available under a logical source system. Requires source_system. | remote_entities: List the remote entities (HANA views / virtual tables) a source system exposes as a DataSource basis — read-only discovery (the value help Eclipse shows on the… Requires source_system. | afo_workbooks: List the Analysis for Office workbooks stored in BW, with the where-used list BW keeps for them: per workbook its text, document and file type, last change (us… | roles: Load the complete BW query role hierarchy as shown in the "Publish to Role" dialog. | role_queries: List all BW queries published in BW roles (via the "Publish to Role" mechanism). | metadata_tables: Read a BW object definition from its metadata tables (ADT DataPreview, read-only; needs ADT authorization). Requires object_type, object_name. | system_profile: Find out what the connected BW system is and which of this server's tools will work on it.
role_nameNoOptional. [role_queries]
changed_toNoOnly workbooks last changed on or before this date or timestamp (ISO, UTC). [afo_workbooks]
max_resultsNoHow many workbooks to show (default 100, at most 1000); the total is always reported. [afo_workbooks]
object_nameNoDefined per operation — bw_describe(tool: "bw_find", operation: "…") gives each definition. [4 of 13 operations]
object_typeNoDefined per operation — bw_describe(tool: "bw_find", operation: "…") gives each definition. [5 of 13 operations]
result_sizeNoMaximum number of rows to return (default 200). [remote_entities]
role_filterNoOptional prefix to filter results. [roles]
search_termNoSearch string. [search]
used_objectNoOnly workbooks that use this object: a query name, planning function, planning sequence, aggregation level or… [afo_workbooks]
changed_fromNoOnly workbooks last changed on or after this date or timestamp (ISO, UTC). [afo_workbooks]
source_systemNoDefined per operation — bw_describe(tool: "bw_find", operation: "…") gives each definition. [4 of 13 operations]
search_patternNoWildcard pattern filtering on technicalName (default "*" for all). [remote_entities]
apco_path_filterNoOptional APCO hierarchy filter. [datasources]
source_system_typeNoOptional source system type filter. [source_systems]

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations supplied, the description carries the full behavioral burden. 'Find' plus the read-oriented operation list implies a non-mutating discovery tool, and the two-step pattern (inspect the operation enum, then call bw_describe for full parameter definitions) is real behavioral value beyond structured fields. But it never states read-only behavior explicitly, nor anything about result limits, pagination, or what the different operations return — notable gaps for a 13-operation tool with no annotation coverage and no output schema.

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 capability summary and immediately followed by the disambiguation mechanism. Every clause earns its place by corresponding to an operation domain. Slightly hedged wording ('… g. [afo_workbooks]' fragments leak in from the schema side) aside, the description text itself is tight.

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?

For a 22-parameter, 13-operation multiplexed tool the description sensibly acts as a table of contents and delegates per-operation detail to the enum and to bw_describe, which is a coherent and complete strategy given full schema coverage. What is missing is any statement of expected return shape or scope limits per operation, which matters because no output schema exists to fill that 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 each parameter is tagged with the operations it applies to, so the schema already does most of the semantic work; the baseline of 3 applies. The description's contribution is the bw_describe escape hatch for parameters whose meaning varies per operation (format, object_name, object_type, source_system), which is useful but does not itself explain any parameter's meaning.

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 specific verb (find) and enumerates the concrete resource families it covers — search, cross references, folder contents, data flows, source systems, DataSources, roles, metadata tables, system profile — which maps one-to-one onto the operation enum, so an agent can tell this is the discovery/query tool rather than a write or data-extraction sibling. It loses a point only because 'Find BW objects and their relations' is a broad umbrella and it never explicitly says it is not the tool for reading object content (bw_read) or activating objects.

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?

Usage is implied by the enumeration of covered domains, and the second sentence gives genuinely useful guidance on how to drill into a specific operation via bw_describe. However there is no explicit when-to-use / when-not-to-use statement relative to siblings such as bw_read, bw_query_data, or bw_monitor, and no prerequisites or typical call sequence are given, leaving the agent to infer selection.

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