bw-modeling-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BW_URL | Yes | BW system URL (e.g. https://myhost:50001) | |
| BW_USER | Yes | SAP user name | |
| BW_CLIENT | Yes | SAP client (e.g. 001) | |
| BW_LANGUAGE | No | Language for object texts (e.g. EN, DE). Default: DE | DE |
| BW_PASSWORD | Yes | SAP password |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
SAP BW modeling over the BW backend APIs: aDSOs, InfoObjects, CompositeProviders, transformations, DTPs, DataSources, InfoSources, source systems, process chains and their runs, requests/loads, queries and query data, planning artifacts, and transports. Reach for it for any question about BW metadata, data flows, load monitoring, or query definitions on this system.
One BW system per instance: there is no system selector, by design.
Focused tool surface: each tool stands for a group of operations selected by its type or operation parameter. bw_describe lists them and gives the complete parameter definition of one operation.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bw_readA | Read the definition of one BW object. type selects the object type, name is its technical name. The type enum lists every operation with what it requires; bw_describe(tool: "bw_read", type: "…") gives the complete parameter definition of one. |
| bw_findA | 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. |
| bw_monitorA | Monitor loads and runs: requests, process chain runs and their steps, remodeling requests, query statistics. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_monitor", operation: "…") gives the complete parameter definition of one. |
| bw_query_dataC | Run a query or read a provider and return its data. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_query_data", operation: "…") gives the complete parameter definition of one. |
| bw_dataA | Work with data rather than definitions: filter values, DataSource preview, push into a write-interface aDSO, selective deletion, save an Analysis for Office workbook. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_data", operation: "…") gives the complete parameter definition of one. |
| bw_activateA | Activate an object with the lock handle a write returned, check it without activating, release a lock, or activate a process chain. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_activate", operation: "…") gives the complete parameter definition of one. |
| bw_deleteB | Delete a BW object permanently. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_delete", operation: "…") gives the complete parameter definition of one. |
| bw_runB | 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. |
| bw_write_adsoC | 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. |
| bw_write_infoobjectA | Create or change an InfoObject and its hierarchies. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_write_infoobject", operation: "…") gives the complete parameter definition of one. |
| bw_write_infosourceB | Create or change an InfoSource. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_write_infosource", operation: "…") gives the complete parameter definition of one. |
| bw_write_composite_providerB | Create or change a CompositeProvider. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_write_composite_provider", operation: "…") gives the complete parameter definition of one. |
| bw_write_transformationB | Create a transformation, change the rule of a field, and set or remove its routines and runtime. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_write_transformation", operation: "…") gives the complete parameter definition of one. |
| bw_write_dtpB | Create or change a DTP, including its filters and a filter routine. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_write_dtp", operation: "…") gives the complete parameter definition of one. |
| bw_write_datasourceB | Create a DataSource, set its fields, change its delta process. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_write_datasource", operation: "…") gives the complete parameter definition of one. |
| bw_write_open_hubB | Create or change an Open Hub Destination. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_write_open_hub", operation: "…") gives the complete parameter definition of one. |
| bw_write_queryA | Create or change a query and its reusable components: layout, filter, key figures, characteristics, cells, exceptions, settings, restricted and calculated key figures, structures, variables, role assignments. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_write_query", operation: "…") gives the complete parameter definition of one. |
| bw_write_planningA | Create or change planning objects: aggregation levels, planning functions, sequences, filters, conversion types. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_write_planning", operation: "…") gives the complete parameter definition of one. |
| bw_write_process_chainA | Create or change a process chain: steps, edges, DTP and program steps, error links, decision variants. The operation enum lists every operation with what it requires; bw_describe(tool: "bw_write_process_chain", operation: "…") gives the complete parameter definition of one. |
| bw_manageB | 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. |
| bw_describeA | Describe the focused tools: without arguments the catalogue of every tool and its operations; with tool and the operation value (type for bw_read, operation otherwise) the complete parameter definition of that operation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
The write_* tools are mostly distinct by BW object type, but several broad tools overlap: bw_run, bw_activate, bw_monitor, bw_data, and bw_query_data have fuzzy boundaries around execution, activation, monitoring, and data access. The operation enums and bw_describe help, but an agent can still struggle to pick the right tool without inspecting operations.
All tools use a consistent bw_ prefix and snake_case, with most following a predictable verb_noun pattern such as bw_write_adso or bw_query_data. Minor deviations exist, notably bw_data as a noun and broad verbs like bw_manage, but the convention is still readable and predictable.
At 21 tools, the surface is on the heavy side, but SAP BW is a broad modeling domain and the write_* tools map to distinct object types rather than duplicating functionality. Each tool has a plausible role, though the count sits at the upper end of practical.
The surface covers major BW modeling objects and lifecycle actions: read/find, write for key object types, activate, delete, run, monitor, query data, and repository management. Minor gaps may exist for less common object types or administrative operations, but core modeling workflows appear well covered.