Super-Claude for SAP Home

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

Recommended

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 sc4sap

To update

/plugin marketplace update babamba2/superclaude-for-sap
/plugin install sc4sap
Alternative

Install 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 build

Setup 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
  1. 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

  2. 02

    Install the MCP server

    Clones abap-mcp-adt-powerup into <PLUGIN_ROOT>/vendor/abap-mcp-adt/ and builds it. Skipped if it's already there

  3. 03

    Create a profile and connect

    Set an alias (the KR-DEV format 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

  4. 04

    Verify the connection

    After reconnecting with /mcp, it runs a GetSession round trip, checks the system info, and confirms ADT permissions with GetInactiveObjects. No Claude Code restart is needed

  5. 05

    Create ABAP utility objects

    Installed only on DEV profiles. Creates the ZMCP_ADT_UTILS function group and the ZIF_S4SAP_CM · ZCL_S4SAP_CM_* ALV handlers. On QA and PRD it refuses and prints guidance for a CTS transport

  6. 06

    Install permission hooks required

    Setup isn't complete without this step. Registers block-forbidden-tables.mjs (blocks row extraction) and tier-readonly-guard.mjs (blocks changes by tier) in .claude/settings.json and runs smoke tests for both

Optional steps

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 only

Multiple 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/  ...

Three layers of defense

This is the first thing reviewed before connecting to production. It's enforced in code, not in documentation

L1a

Row extraction block

A Claude Code PreToolUse hook. Based on the profile's blocklistProfile, it rejects GetTableContents · GetSqlQuery on sensitive tables

L1b

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

L2

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

Further reading