User guide
Installation guide (CLI)
Add the marketplace inside a Claude Code session and run the setup wizard once, and you're done. The wizard installs the MCP server for you
Requirements
- Node.js
- 20.0.0 or later
- Claude Code
- CLI installed (Max or Pro subscription, or an API key)
- SAP system
- ECC 6.0 · S/4HANA On-Premise · S/4HANA Cloud (Public·Private), with ADT enabled
The MCP server abap-mcp-adt-powerup is installed and configured automatically during /sc4sap:setup. You don't need to download it in advance
Installation
sc4sap is not yet listed in the official Claude Code plugin marketplace. For now, add the repository as a custom marketplace and then install
Add as a custom marketplace
Run these two lines in order inside a Claude Code session
/plugin marketplace add https://github.com/babamba2/superclaude-for-sap.git
/plugin install sc4sapTo update
/plugin marketplace update babamba2/superclaude-for-sap
/plugin install sc4sapInstall from source
Clone and build, then point Claude Code at that directory with /plugin marketplace add <local-path>
git clone https://github.com/babamba2/superclaude-for-sap.git
cd superclaude-for-sap
npm install && npm run buildSetup wizard
The wizard asks one question at a time. If a value already exists, it shows it and you can press Enter to keep it
/sc4sap:setup- 01
System and industry
Choose S4 or ECC, enter the ABAP release, and pick from a menu of 15 industries. These values determine the SPRO tables, BAPIs and TCodes, and ABAP syntax gating
- 02
Install the MCP server
Clones
abap-mcp-adt-powerupinto<PLUGIN_ROOT>/vendor/abap-mcp-adt/and builds it. Skipped if it's already there - 03
Create a profile and connect
Set an alias (the
KR-DEVformat is recommended) and a tier (DEV·QA·PRD), then enter the URL, client, authentication method, account and language one by one. Choose the RFC backend from soap · native · gateway · odata · zrfc - 04
Verify the connection
After reconnecting with
/mcp, it runs aGetSessionround trip, checks the system info, and confirms ADT permissions withGetInactiveObjects. No Claude Code restart is needed - 05
Create ABAP utility objects
Installed only on DEV profiles. Creates the
ZMCP_ADT_UTILSfunction group and theZIF_S4SAP_CM·ZCL_S4SAP_CM_*ALV handlers. On QA and PRD it refuses and prints guidance for a CTS transport - 06
Install permission hooks required
Setup isn't complete without this step. Registers
block-forbidden-tables.mjs(blocks row extraction) andtier-readonly-guard.mjs(blocks changes by tier) in.claude/settings.jsonand runs smoke tests for both
Optional steps
- SPRO configuration extraction - uses a lot of tokens, but the cache greatly reduces token use in later work
- Customization inventory - scans
Z*·Y*enhancements and append structures - HUD status line - after a restart, shows the active profile and tier, and token usage
Subcommands
/sc4sap:setup # full wizard
/sc4sap:setup doctor # route to health check
/sc4sap:setup mcp # route to MCP setup
/sc4sap:setup spro # SPRO config extraction only
/sc4sap:setup customizations # Z*/Y* inventory onlyMultiple profiles
Work with several SAP connections in one Claude Code session. Each connection is one profile, and the project records only which profile is active
~/.sc4sap/ shared across repos
└── profiles/
├── KR-DEV/ sap.env · config.json
├── KR-QA/ sap.env · config.json
└── KR-PRD/ sap.env · config.json
<project>/.sc4sap/ project scope
├── active-profile.txt "KR-DEV"
└── work/
├── KR-DEV/ program · cbo · ...
└── KR-PRD/ ...- The tier drives read-only enforcement On QA and PRD profiles,
Create*·Update*·Delete*are blocked at two layers: the hooks and the MCP server - The tier can't be changed To change it, delete the profile and create it again
- Passwords are stored in the OS keychain Windows Credential Manager · macOS Keychain · Linux libsecret. Where no keychain is available, it falls back to plain text in the profile env and shows a warning
Three layers of defense
This is the first thing reviewed before connecting to production. It's enforced in code, not in documentation
Row extraction block
A Claude Code PreToolUse hook. Based on the profile's blocklistProfile, it rejects GetTableContents · GetSqlQuery on sensitive tables
Tier change block
A Claude Code PreToolUse hook. On every call it rereads the active profile's SAP_TIER and blocks changes on QA and PRD. It keeps no state
MCP server's own guard
The layer that can't be bypassed. Even if the hooks are missing or misconfigured, the guard inside abap-mcp-adt-powerup always runs
The L1 hooks let calls through on IO or parsing errors, while the L2 MCP guard is always on. The recommended defaults are L1a strict and MCP server blocklist standard
After setup
- Switch the active system
/sc4sap:sap-option switch <alias>- Add a company or tier
/sc4sap:sap-option add- List profiles
/sc4sap:sap-option list- Health check
/sc4sap:sap-doctor- Re-extract SPRO
/sc4sap:setup spro