Skip to main content
Glama
lingcSun

mcp-bw-adt-api

by lingcSun

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BW_CLIENTNoSAP logon client, e.g. '100'.
BW_DEFAULTNoStartup profile name (default = first in BW_PROFILES).
BW_BASE_URLNoBW server URL (legacy single-env mode).
BW_LANGUAGENoLanguage key, e.g. 'ZH'.
BW_PASSWORDNoPassword (legacy single-env mode).
BW_PROFILESNoComma-separated profile names, e.g. 'test,prod'. Required for multi-profile mode.
BW_READONLYNo'true' to reject mutating tools on this profile.
BW_USERNAMENoSAP logon user (legacy single-env mode).
BW_MCP_WORKDIRNoRoot directory for file buffering (default = <cwd>/.mcp-bw-out).
BW_ALLOW_UNAUTHORIZEDNo'true' to accept self-signed certificates.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
bw_system_statusA

Report MCP server status: current environment profile (name, baseUrl, username, client, language, readOnly), whether a live BW session exists for it, all configured profiles, and workdir for file buffering. No network call. Use this first to confirm the server is wired to the right BW system.

bw_env_listA

List configured BW environment profiles and which one is active. Each profile includes name, baseUrl, username, client, language, and readOnly. No network call. Prefer this (or bw_system_status) before bw_env_switch.

bw_env_switchA

Switch the active BW environment profile (e.g. test → prod). Subsequent tools use the new profile. Does not log in until the next tool that needs a client; existing sessions for other profiles are kept. When switching to/from a read-only profile, mutating tools are hidden/shown and a tools/list_changed notification is sent (host support varies; mutating calls are always rejected on read-only profiles).

bw_system_infoA

Query BW system info and capabilities for the current environment (auto-logs in on first call). Use outputPath for the full document. For a single property or capability check, read the returned document (or buffered file) rather than separate tools.

bw_disconnectA

Drop the current environment's BW session/client so the next call reconnects. Other profiles' sessions are left intact. Useful after errors or to force a fresh login.

bw_search_objectsA

Advanced BW object search with filters (type, dates, name/description). Returns a list of { objectName, objectType, title, uri, ... }. Use outputPath for large result sets.

bw_adso_transformationsA

Get Transformations related to an ADSO (via name search). Each TRFN title carries a 'SOURCE -> TARGET' relation.

bw_adso_dtpsA

Get DTPs related to an ADSO (via name search). Each DTP title carries a 'SOURCE -> TARGET' relation.

bw_dataflow_getB

Get the dataflow/lineage graph around an object (nodes + relations). levels=-1 expands fully; positive N limits depth. Use outputPath for deep graphs.

bw_dataflow_lineageB

Find transformations and DTPs linking a source object to a target object (typical: 'which TRFN/DTP connect ZL_FID01 → ZL_FID40').

bw_object_deleteA

Delete any BW object. Irreversible. For InfoArea (area), pass a lock handle; for other types, pass a transport request number.

bw_adso_detailsC

Get parsed ADSO metadata (fields, indexes, partitioning). Prefer outputPath. May include configuration, associated DDIC tables, and related DDIC links when the enriched client path is available; otherwise returns the standard details projection.

bw_adso_versionsC

Get ADSO version history.

bw_adso_get_xmlA

Get the raw ADSO XML used for PUT updates. ALWAYS prefer outputPath — payloads are 15–80 KB. With outputPath, the full XML is written to disk (reuse as xmlPath in bw_adso_save_and_activate) and the MCP response is only a summary envelope. Without outputPath, format='summary' (default) returns a small overview; format='xml' returns the raw XML inline. Step 1 of read-modify-write.

bw_adso_checkC

Check ADSO consistency.

bw_adso_save_and_activateA

One-stop: lock → PUT → (optional) activate → unlock. Prefer xmlPath (from bw_adso_get_xml + outputPath) over inline xmlContent for large bodies. When a transport is required: pass transport= OR createTransport=true (use bw_transport_check to list available requests). Do not omit both. Returns a compact projection; set outputPath to keep the full update/activate detail.

bw_adso_add_fieldA

Atomic edit: add a local 'field'-type field to an ADSO and save (activate optional via autoActivate, default true). success reflects save/activate outcome; activated only means activation was attempted. Internally reads current XML, inserts the field, and saves — no large XML handling by the caller.

bw_adso_createB

Create an empty ADSO shell (fields are added afterwards via bw_adso_add_field). Required: name, description, infoArea.

bw_adso_validate_info_areaA

Validate that an InfoArea exists (pre-create check for ADSO). Prefer bw_area_validate_exists for InfoArea workflows.

bw_adso_validate_templateC

Validate that a template ADSO exists.

bw_adso_validate_new_nameC

Validate that a new ADSO name is available.

bw_area_validate_existsA

Validate that an InfoArea exists (AREA). Prefer this over bw_adso_validate_info_area.

bw_area_validate_new_nameC

Validate that a new InfoArea name is available.

bw_area_get_xmlA

Get InfoArea raw XML (active version /a). Prefer outputPath. Reuse as xmlPath only if a future save tool is added; create uses structured params.

bw_area_createA

Create an InfoArea under a parent InfoArea. Flow: validate parent → validate name → lock → POST → unlock (no activate). $TMP packages typically need no transport.

bw_area_deleteA

Delete an InfoArea. Locks, DELETE /a?lockHandle=…, then unlocks. Irreversible.

bw_trfn_createA

Create a transformation via the 8TRANSIENT transient flow (Eclipse wizard equivalent). Server mints the id, hydrates all source/target elements and default rules from the two providers. Returns trfnId + hydrated XML. packageName defaults to $TMP; pass a real package together with transport to register in a workbench request. Then use bw_trfn_auto_map_and_save / bw_trfn_add_rules_and_save / bw_trfn_check to finish.

bw_trfn_detailsA

Get parsed transformation details. Prefer outputPath.

bw_trfn_versionsC

Get transformation version history.

bw_trfn_get_xmlA

Get raw transformation XML for PUT updates. ALWAYS prefer outputPath. With outputPath, full XML is written to disk (reuse as xmlPath in bw_trfn_save_and_activate). Without it, format='summary' returns an overview; format='xml' returns raw XML inline. Step 1 of read-modify-write.

bw_trfn_checkC

Check transformation consistency.

bw_trfn_save_and_activateA

One-stop: lock → PUT → (optional) activate → unlock. Prefer xmlPath (from bw_trfn_get_xml + outputPath) over inline xmlContent. When a transport is required: pass transport= OR createTransport=true. Returns a compact projection; set outputPath for full detail.

bw_trfn_set_end_routine_fieldsC

Check a list of target field names into the transformation's end routine and save+activate.

bw_trfn_add_rules_and_saveA

Atomic edit: add DIRECT mapping rules (source→target pairs) to a transformation and save+activate. target omitted means same-name mapping.

bw_trfn_auto_map_and_saveC

Atomic edit: auto-map same-named source→target fields in a transformation and save+activate.

bw_trfn_switch_runtimeC

Switch a transformation between HANA and ABAP runtime. Requires an existing lockHandle.

bw_trfn_class_sourceB

Get the routine's ABAP source code. Prefer outputPath.

bw_trfn_class_save_sourceB

Save+activate the routine's ABAP class source. Prefer sourcePath over inline sourceContent.

bw_dtp_createA

Create a DTP via the generic object POST flow (CREA lock + collection POST). Body is minimal (extractionSettings + overview TRFN binding + source/target); the server hydrates filter fields and program flow. Created DTP is inactive — configure (extractionMode/filter via get_xml → edit → save_and_activate) then activate. Note: DTP filters cannot express empty-value comparisons; encode them as selections without a element ( = not-initial).

bw_dtp_detailsB

Get parsed-and-projected DTP details (fields, filter, program flow extracted from the XML tree). Prefer outputPath.

bw_dtp_get_xmlA

Get the raw DTP XML string for PUT updates. ALWAYS prefer outputPath. With outputPath, the full XML is written to disk (reuse as xmlPath in bw_dtp_save_and_activate) and the MCP response is only a summary envelope. Without outputPath, format='summary' (default) returns a small overview; format='xml' returns the raw XML inline. Step 1 of read-modify-write.

bw_dtp_versionsC

Get DTP version history.

bw_dtp_checkA

Check DTP consistency (READ-ONLY, does NOT activate). Use bw_dtp_activate to (re)activate a DTP.

bw_dtp_activateA

Activate a DTP — typically to re-activate a DTP that a transformation change deactivated. Locks → activates → unlocks; the DTP content is NOT changed. Use bw_dtp_save_and_activate only when the DTP XML was actually modified.

bw_dtp_executeC

Execute a DTP (triggers data transfer). Irreversible action.

bw_dtp_save_and_activateA

One-stop: lock → PUT → (optional) activate → unlock. Prefer xmlPath (from bw_dtp_get_xml + outputPath) over inline xmlContent. When a transport is required: pass transport= OR createTransport=true. Compact projection returned; set outputPath for full detail.

bw_datasource_detailsA

Get parsed DataSource details. Prefer outputPath.

bw_datasource_get_xmlA

Get raw DataSource XML for PUT updates. ALWAYS prefer outputPath. With outputPath, full XML is written to disk (reuse as xmlPath in bw_datasource_save_and_activate). Without it, format='summary' returns an overview; format='xml' returns raw XML inline.

bw_datasource_fieldsC

Get parsed DataSource field list.

bw_datasource_versionsC

Get DataSource version history.

bw_datasource_merge_proposalA

Merge an ODP proposal (field sync after adapter change) into the current DataSource XML. Prefer xmlPath over inline xmlContent; returns the merged XML — write it back via save_and_activate.

bw_datasource_save_and_activateA

One-stop: lock → PUT → (optional) activate → unlock. Prefer xmlPath (from bw_datasource_get_xml + outputPath) over inline xmlContent. When a transport is required: pass transport= OR createTransport=true. Compact projection returned.

bw_replication_infoC

Replication pre-check for a DataSource.

bw_replication_replicateC

Trigger DataSource replication with explicit pre-check tasks. activate is a strategy string (not a boolean).

bw_replication_replicate_fullC

One-stop: pre-check → trigger replication.

bw_processchain_detailsC

Get parsed process chain details (steps). Prefer outputPath.

bw_processchain_checkC

Check process chain consistency.

bw_processchain_executeA

Execute a process chain. Irreversible action.

bw_processchain_stopA

Stop a running process chain. Irreversible action.

bw_processchain_logsA

Get process chain execution logs and current run status. Defaults to the most recent log entries; use limit/offset to page, or outputPath for the full log set. Response shape: { logs, status, ...paging }.

bw_infoobject_getC

Get InfoObject details including metadata. Prefer outputPath.

bw_infoobject_validate_existsC

Validate that an InfoObject exists.

bw_infoobject_validate_new_nameC

Validate that a new InfoObject name is available.

bw_table_describeA

Describe a DDIC table in one call: merges metadata, info, fields, and data-preview metadata. Prefer outputPath when you need the full snapshot.

bw_table_get_dataA

Query DDIC table data via the ADT data-preview service (OpenSQL SELECT). maxRows defaults to a small value and is capped to avoid huge inline payloads; for large reads set outputPath to dump the full result to a file.

bw_table_query_sqlA

Run an arbitrary OpenSQL statement via ADT Data Preview freestyle (POST /sap/bc/adt/datapreview/freestyle — same as ADT SQL Console). Pass the statement inline (sqlStatementContent) or from a file (sqlStatementPath). Prefer outputPath for non-trivial results. ⚠️ Runs with the configured BW credentials — treat as a privileged data-plane operation; prefer SELECT-only statements.

bw_reporting_initial_viewA

GET BICS initial reporting view for an ADSO / InfoObject / Composite Provider (compid !NAME). Returns metadata (characteristics, key figures, ids), default axes, and result set. Prefer outputPath — payloads are large. For axis remapping use bw_reporting_preview instead.

bw_reporting_update_viewA

POST updated BICS axes and refresh the result set. Pass the full infoObject state (name/id/axis/pos) from bw_reporting_initial_view. Prefer bw_reporting_preview when you only need to set row/column characteristic names.

bw_reporting_previewA

Convenience BICS preview: GET metadata → put named characteristics on ROWS (optional COLUMNS) → POST refresh. Same as Eclipse Dashboard Preview for ADSO / characteristic / Composite Provider. Inline response is flatRows (paginated); set outputPath for the full QueryView.

bw_transport_checkA

Check whether saving an object requires a transport request. Returns recording flag (X = transport mandatory) and the current dev class.

bw_transport_createC

Create a new transport request for a referenced object.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3/5.0

Scored across 71 tools

Disambiguation3/5

Most object types have clearly separated read/edit/activate/check operations, but several overlapping pairs exist: bw_system_status vs bw_env_list, bw_adso_validate_info_area vs bw_area_validate_exists, bw_replication_replicate vs bw_replication_replicate_full, and the reporting preview/update tools. Descriptions help, but an agent could still misselect.

Naming Consistency4/5

Tools follow a mostly consistent bw_<object>_<action> snake_case pattern with predictable verbs like get_xml, details, check, create, save_and_activate, and versions. Minor deviations such as bw_system_status, bw_env_list, bw_reporting_initial_view, and bw_datasource_merge_proposal keep it from being fully uniform.

Tool Count2/5

71 tools is far beyond a typical well-scoped set and includes multiple near-duplicates: validation helpers, env status/list, and replication variants. While the broad BW domain explains some volume, the redundancy makes the surface feel heavier than necessary.

Completeness4/5

The set covers full lifecycles for ADSO, transformations, DTPs, and DataSources, plus process chain execution, transport handling, table queries, and reporting. Gaps like missing InfoArea update and InfoObject create/edit are workable via generic object delete or XML routes, so coverage is strong but not perfect.

Maintenance

ActivityMaintained
ResponsivenessNo issues