agentleFS
babamba2babamba2/superclaude-for-sap/skills/mcp-setup/SKILL.md

mcp-setup

Skill69 starsChanged 7 months agoMITView on GitHub

Guide to install and configure the abap-mcp-adt-powerup MCP server for SAP ADT connectivity

  • Reads credentials

We split this skill into the rules it gives an agent

13 rules. 0 are common, 3 are distinctive, and 10 are very specific to this project.

  • 0

    Common

    Most of the 14 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 10

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Very specific:

    Every response triggered by this skill MUST begin with [Model: <main-model> · Dispatched: <sub-summary>] per …

    line 17
  2. Very specific:

    Create a profile with /sc4sap:setup (wizard Step 4) or /sc4sap:sap-option add.

    line 50
  3. Very specific:

    After restarting Claude Code (or reconnecting MCP via /mcp), run:

    line 55
  4. Very specific:

    401 Unauthorized: Check SAP_USERNAME / the keychain password of the active profile (/sc4sap:sap-option).

    line 69
  5. Very specific:

    Connection refused: Verify SAP_URL host and ICM HTTPS port.

    line 70
  6. Very specific:

    SSL certificate errors: Add the SAP system certificate to Node.js trust store (recommended), or temporarily set TLS_REJECT_UNAUTHORIZED=0 …

    line 72
  7. Very specific:

    Blocklist refusal on a legitimate table: Run /sc4sap:sap-option to adjust MCP_BLOCKLIST_PROFILE or add the table to MCP_ALLOW_TABLE …

    line 74
  8. Very specific:

    Never commit a sap.env (profile or legacy .sc4sap/sap.env) to version control.

    line 79
  9. Very specific:

    Use process-level environment variables to override sap.env values in CI/CD, so secrets never touch disk.

    line 80
  10. Distinctive:

    Prefer a read-only SAP user for analysis-only workflows.

    line 81
  11. Very specific:

    When ARGUMENTS is check / verify / status (case-insensitive), run the vendor pin health check inline and report — do not print the full …

    line 88
  12. Distinctive:

    Read the script's exit code and stdout/stderr.

    line 93
  13. Distinctive:

    STOP after printing — do not fall through to the full installation guide.

    line 113

“Common” is measured: kept by at least 6 in 10 of the 14 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

SC4SAP MCP Setup

Guides you through installing and configuring the abap-mcp-adt-powerup MCP server, which provides Claude Code with direct connectivity to your SAP system via ABAP Development Tools (ADT) REST APIs. The server exposes 150+ tools covering CRUD for ABAP objects (class, program, CDS, FM, table, etc.) plus runtime, transport, and data-preview operations.

<Purpose> `abap-mcp-adt-powerup` is the bridge between Claude Code and your SAP system. Without it, no SC4SAP skills can read or write ABAP objects. This skill walks you through cloning, configuring, and registering the server so all MCP tools become available. </Purpose>

<Response_Prefix> Every response triggered by this skill MUST begin with [Model: <main-model> · Dispatched: <sub-summary>] per ../../common/model-routing-rule.md § Response Prefix Convention. </Response_Prefix>

<Source> MCP server repository: https://github.com/babamba2/abap-mcp-adt-powerup.git Installed at: `${CLAUDE_PLUGIN_ROOT}/vendor/abap-mcp-adt/` (internal directory name kept short for path-length safety on Windows). </Source><Prerequisites> - Node.js 18+ installed - Access to a SAP system with ADT service enabled (transaction SICF, service `/sap/bc/adt` active) - SAP user with developer authorizations (S_DEVELOP, S_TRANSPRT) - Claude Code with MCP support </Prerequisites>

<Installation_Steps>

  1. Automatic installation (recommended) The MCP server is automatically installed into the plugin's vendor/abap-mcp-adt/ directory during setup:
    /sc4sap:setup          # full setup wizard (includes MCP install)
    /sc4sap:setup mcp      # MCP install only
    Or via npm:
    npm run build          # runs tsc + installs abap-mcp-adt into vendor/
    This clones the repo, runs npm install, and builds it. The plugin's .mcp.json is pre-configured to launch bridge/mcp-server.cjs, which delegates to the vendor-installed server.
  2. Configure SAP connection (multi-profile) Connection settings live in a per-system profile, not in a hand-written file:

    • ~/.sc4sap/profiles/<alias>/sap.env — MCP-server env (SAP_URL, SAP_CLIENT, SAP_AUTH_TYPE, SAP_USERNAME, SAP_LANGUAGE, SAP_SYSTEM_TYPE = onprem | cloud, SAP_TIER, blocklist keys). The password is stored in the OS keychain and referenced as SAP_PASSWORD=keychain:sc4sap/<alias>/<user>.
    • <project>/.sc4sap/active-profile.txt — alias of the active profile.

    Create a profile with /sc4sap:setup (wizard Step 4) or /sc4sap:sap-option add; edit it with /sc4sap:sap-option. Do not hand-write sap.env. Key reference and validation rules: ../sap-option/SKILL.md → <Managed_Keys> / <Validation>. Blocklist keys (MCP_BLOCKLIST_PROFILE = minimal | standard (default) | strict | off, MCP_BLOCKLIST_EXTEND, MCP_ALLOW_TABLE) are documented in ../sap-option/SKILL.md → <Managed_Keys> (policy: ../../common/data-extraction-policy.md).

    The bridge resolves the active profile on startup. Process environment variables take precedence over file values.

  3. Verify the connection After restarting Claude Code (or reconnecting MCP via /mcp), run:
    /sc4sap:sap-doctor
    Or manually test by calling GetSession — it should return your SAP system ID, client, and username.
  4. Update the MCP server To update to the latest version:
    node scripts/build-mcp-server.mjs --update

</Installation_Steps>

<Troubleshooting> - **401 Unauthorized**: Check `SAP_USERNAME` / the keychain password of the active profile (`/sc4sap:sap-option`); confirm the user is not locked (SU01). - **Connection refused**: Verify `SAP_URL` host and ICM HTTPS port; check VPN if required. - **ADT service not found**: Activate `/sap/bc/adt` in transaction SICF and ensure ICF is running. - **SSL certificate errors**: Add the SAP system certificate to Node.js trust store (recommended), or temporarily set `TLS_REJECT_UNAUTHORIZED=0` in the profile `sap.env` (dev only — never in prod). - **No tools visible in Claude Code**: Reconnect the MCP server via `/mcp` after editing `sap.env`. `sap.env` changes are NOT hot-reloaded. Check MCP server stderr logs under `%LOCALAPPDATA%\claude-cli-nodejs\Cache\<cwd-slug>\mcp-logs-plugin-sc4sap-sap\`. - **Blocklist refusal on a legitimate table**: Run `/sc4sap:sap-option` to adjust `MCP_BLOCKLIST_PROFILE` or add the table to `MCP_ALLOW_TABLE` (audited bypass). - **`vendor/abap-mcp-adt` not built**: Re-run `node scripts/build-mcp-server.mjs` (or `--update` to refresh). </Troubleshooting>

<Security_Notes>

  • Never commit a sap.env (profile or legacy .sc4sap/sap.env) to version control. Profiles live under ~/.sc4sap/profiles/, outside the repository.
  • Use process-level environment variables to override sap.env values in CI/CD, so secrets never touch disk.
  • Prefer a read-only SAP user for analysis-only workflows.
  • TLS_REJECT_UNAUTHORIZED=0 is dev-only — never set in production. Install the SAP system certificate into Node.js trust store instead.
  • The MCP server communicates only with the SAP host in SAP_URL. No outbound calls to third parties.
  • Row-extraction on sensitive tables is gated by the blocklist policy above (MCP_BLOCKLIST_PROFILE, MCP_BLOCKLIST_EXTEND, MCP_ALLOW_TABLE). See common/data-extraction-policy.md. </Security_Notes>

<Health_Check> When ARGUMENTS is check / verify / status (case-insensitive), run the vendor pin health check inline and report — do not print the full installation guide.

Execution:

  1. Resolve plugin root (from CLAUDE_PLUGIN_ROOT env; fallback to cache path ~/.claude/plugins/cache/sc4sap/sc4sap/<version>/).
  2. Run: node "<plugin>/scripts/build-mcp-server.mjs" --check
  3. Read the script's exit code and stdout/stderr.
  4. Format the result for the user:
ExitMeaningUser message (follow conversation language)
0 + pinned to <SHA> ✓ on stdoutOK — vendor matches expected pin✅ abap-mcp-adt vendor verified · pinned to <SHA> (truncate to first 12 chars)
0 + pin cannot be verified on stderrWARN — launcher OK, .git stripped (packaged cache install)⚠️ Vendor launcher present, but pin cannot be verified (packaged cache lacks .git). Expected pin: <SHA>. To force a verifiable reinstall: node scripts/build-mcp-server.mjs --update.
1FAIL — vendor missing❌ abap-mcp-adt not installed. Run: node scripts/build-mcp-server.mjs (or /sc4sap:setup mcp).
2FAIL — pin drift❌ abap-mcp-adt vendor drift detected (current HEAD ≠ pinned SHA). Run: node scripts/build-mcp-server.mjs --update.

Output format (single block):

MCP Vendor Health Check
=======================
Status:  <OK|WARN|FAIL>
Pin:     <expected SHA>
Current: <current HEAD or "unverified" or "not installed">
Action:  <user message from table above>

STOP after printing — do not fall through to the full installation guide. </Health_Check>

Task: $ARGUMENTS

Download now (ZIP)

  • Other versions17 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 17

    1. thejaustin/ShizukuPlus★ 1.7ksame name
    2. vellum-ai/vellum-assistant★ 1.5ksame name
    3. fmind/dot★ 12same name
    4. fmind/dotfiles★ 12same name
    5. DebugSwift/XcodeBazelMCP★ 9same name
    6. ingpoc/SKILLS★ 9same name
    7. naman10parikh/agentgrid★ 9same name
    8. mintorain/mintorain-tmux-ocastra★ 8same name
    9. hajekim/agentic-design-patterns-skills★ 4same name
    10. AzamatRaimbekov/vibe-coding-mentor★ 3same name

    7 more not listed

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • Used alongsideProjects with it also use ecosystem-reference, fractal-delegation and 10 more.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • naman10parikhSkill

      ecosystem-reference

      Quick-access directory of Claude Code ecosystem repos, skills, plugins, MCPs, and patterns. Use when improving the harness.

      Also in 3 projects that use this

    • naman10parikhSkill

      fractal-delegation

      Also in 3 projects that use this

    • DebugSwiftSkill

      cli-development

      Develop CLI commands and parsers. Use when adding CLI subcommands, modifying argument parsing, working on streaming output, or editing files under src/cli/.

      Also in 3 projects that use this

    • KirchliveSkill

      skill-routing

      Decides which of the installed skills a task needs and loads them before the work starts. This skill should be used at the beginning of any multi-step task — build, fix, refactor, migrate, review, plan, release, research, write, design, video — and again at every phase change, after context compaction, and when work moves into a different part of the codebase. Use it for requests like "let's build X", "fix this bug", "refactor Y", "plan the migration", "review this", and also when the user asks which skill applies, why a skill did not fire, or asks to check what is available.

      Also in 3 projects that use this

    • GoZippySkill

      repo-scout

      Also in 3 projects that use this

    • sublimotionSkill

      agent-runtime

      Launch and manage detached agent runs on EKS via the agent-runner CLI. Use when the user says "launch an agent run", "agent runtime", "agent-runner", "run this spec on the cluster", "check run status", "agent run logs", or "stop a run". Do NOT use for writing the agent-runner code itself (edit the sibling ../agent-runner repo), Terraform of the foundation (use terraform-automation), or GPU serving deployments (use infra-deployer).

      Also in 3 projects that use this

    • +6 more from naman10parikh
  • In this repository23 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.