bw-modeling-mcp
MCP server for SAP BW/4HANA and BW 7.5 on HANA: an agent reads and changes modeling objects, runs queries and watches data loads.
- 81 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- Write operations make real changes in a live SAP BW system.
- The SAP password or session cookie sits in the client configuration.
Install
- Works in
Manual install
npm install -g bw-modeling-mcpThe first option in the README; Node.js 22 or newer is required.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Write operations make real changes in a live SAP BW system.
- The SAP password or session cookie sits in the client configuration.
This is third-party code. Review the repository files before installing.
What it does
bw-modeling-mcp connects Claude and other MCP clients to a live SAP BW system. The server calls the same internal APIs as Eclipse BWMT and the BW/4HANA Cockpit: the modeling REST API, the ADT API for generated ABAP and AMDP code, the manage API for the request monitor and the Push API for data loads. By default 21 tools are exposed instead of 134 operations: `bw_read` reads any object, `bw_write_adso` creates and changes aDSOs, `bw_activate` checks and activates, and `bw_describe` returns the full definition of an operation. `BW_TOOL_MODE=full` restores the full set. The server runs over stdio or as an HTTP service on SAP BTP Cloud Foundry with OAuth through XSUAA.
Who it is for. SAP BW developers and analysts who want to drive modeling, queries and load debugging through Claude Code or Claude Desktop.
Good fit when
- You need to create or change an aDSO, InfoObject or transformation and check activation at once.
- An agent must run a BW query and explain the result.
- A failed load is being analyzed: the request monitor and DTPs are read through the API.
- Several analysts work through one BTP server and each must sign in as themselves.
Not a fit when
- The system is not BW/4HANA, BW Bridge or BW 7.5 on HANA.
- A production system must not be written to: every write call makes real changes.
- You need ABAP as such: the README suggests a separate ADT MCP server for reports, classes and transports.
Example request
Read the aDSO definition from the test system, show its fields and keys and check whether it would activate.MCP
- Transport
- stdio, http
- Authentication
- API key
Environment variables
BW_URLrequired- BW system URL, for example `https://myhost:50001`.
BW_USERrequired- SAP user name; `BW_COOKIE_FILE` can replace it.
BW_PASSWORDrequired, secret- SAP password; `BW_COOKIE_FILE` can replace it.
BW_CLIENTrequired- SAP client, for example `001`.
BW_LANGUAGE- Language of object texts, `DE` by default.
Limitations
Node.js 22 or newer and a BW system with the internal SAP APIs enabled are required. BW 7.5 needs the small ABAP enhancement from `bw75/BW75-SUPPORT.md`, otherwise most calls fail with HTTP 406. Every call goes to a live system and write operations make real changes, so start with a test system. Central BTP hosting needs XSUAA and per-user sign-in set up. For ABAP as such the author advises adding a separate ADT MCP server.
How to disable. Remove the `bw-modeling-mcp` entry from `claude_desktop_config.json` or `.mcp.json` and uninstall the package with `npm uninstall -g bw-modeling-mcp`. Delete the SAP password from the configuration too.
FAQ
Which environment variables are required?
`BW_URL`, `BW_CLIENT` and the `BW_USER` and `BW_PASSWORD` pair. For systems behind SAML or OAuth set `BW_COOKIE_FILE` instead of the pair.
What changed in version 2.0?
By default the server exposes 21 tools instead of 134, and definitions take about a third of the previous context. `BW_TOOL_MODE=full` brings the old names back.
Does the server work with BW 7.5?
Yes, modeling reads work after a small ABAP enhancement, and writes exist for object types that have a REST resource on 7.5. Details are in `bw75/BW75-SUPPORT.md`.
How are permissions split on BTP?
Through three role collections: BW MCP Reader, BW MCP Analyst and BW MCP Developer. They are independent of authorizations in BW itself.
How do I connect the server to Claude Code?
Put `.mcp.json` in the project root: command `node`, an argument with the path to `dist/stdio.js` and an `env` block with `BW_URL`, `BW_USER`, `BW_PASSWORD`, `BW_CLIENT`.
Discussion
No questions or reviews yet.
Related
MCP serversAn agent reads Weights & Biases runs, metrics and Weave traces and builds reports from plain-language questions
MCP server for SAP HANA and HANA Cloud: schema browsing, SQL with row caps and 34 tools, with writes blocked by default
SAP HANA CLI: MCP for working with SAP HANA
SAP HANA CLI
A SAP HANA developer CLI with an MCP server: an agent works with the database and HDI containers through core tools
A local Microsoft MCP server for Power BI semantic models: an agent creates tables, DAX measures and relationships in Desktop, Fabric and PBIP files
The Byaan MCP server lets Claude Code and Cursor put questions to your databases and returns queries with read-only results.
SemanticOps MCP for Power BI: an agent reads and edits Power BI Desktop models, writes DAX measures and finds bottlenecks.
README in short
The README covers requirements, installation, environment variables and configurations for Claude Desktop and Claude Code. Separate sections deal with BTP hosting, BW 7.5 compatibility and use alongside an ADT MCP server.