Claude Abap Skills MCP Server

by matt1as• 32•• Scanned•Claim this listing•Request removal
Cloud Infrastructureabapabap cloudabap platformbtpclaude

Skill library for Claude Code — opinionated rules and slash commands for modern ABAP (BTP ABAP Environment, S/4HANA 2023+ ABAP Cloud development model). Assumes the official SAP ABAP MCP Server provides system access.

Claude Abap Skills is an open-source mcp server by matt1as, with 32 GitHub stars and the Apache-2.0 license. Its code was last updated Aug 12, 2026.

claude-abap-skills

The official SAP ABAP MCP Server gives your AI coding agent hands. This library gives it a brain.

Two Claude Code plugins for modern ABAP development — SAP BTP ABAP Environment and S/4HANA on-prem in the ABAP Cloud development model. They live together in this repo but are independent — install either or both. An AGENTS.md template is also provided for use with other AI coding agents (GitHub Copilot, Cursor, …).


What this is

A collection of always-on rules, prompt templates, and slash commands that turn raw AI-agent output into production-quality modern ABAP, RAP, and ABAP CDS.

This is not an MCP server. There is no system connector code here. All system access — reading objects, writing source, running ATC, executing ABAP Unit — flows through MCP servers you connect yourself.

ComponentRole
SAPSE.adt-vscode (official SAP MCP)Hands — create/activate objects, run ATC, run unit tests, generate RAP services, transports
ARC-1 (community MCP, optional)Eyes — read source, search the repository, dependency/where-used analysis, API release state; also a second pair of hands when its write scope is enabled
claude-abap-skills (this repo)Brain — what to write, what to avoid, how to structure RAP, how to review

The skills route per capability: the official server first for anything that changes the system and for ATC, ARC-1 for everything read-shaped (which the official server does not offer at all), pasted source when neither is connected. See "Tool routing" below.


The two plugins

clean-abap

Universal Clean ABAP rules plus two skills (the rules in CLAUDE.md are read by each skill on invocation, not loaded at session start):

  • /clean-abap:review — review existing ABAP against the rule set, structured report grouped by severity
  • /clean-abap:refactor — refactor to Clean ABAP style in deterministic passes, behavior-preserving, asks before writing back

abap-cloud-rap

ABAP Cloud / RAP rules plus three skills (rules read on invocation, as above):

  • /abap-cloud-rap:rap-bo-design — design a complete RAP business object end-to-end; drives the SAP ADT MCP x-ui-service / ui-service / webapi-service generators
  • /abap-cloud-rap:atc-remediation — walk ATC violations methodically, grouped by category, refuses pseudo-comment suppressions by default
  • /abap-cloud-rap:clean-core-check — audit objects for clean core compliance (released APIs, no SAP table reads, no classic constructs, no SAP-standard modifications)

Each plugin is independent — install either or both. They do not load each other's rules at runtime; the layering is conceptual, not enforced by Claude Code. If you want Clean ABAP rules applied to a Cloud/RAP skill invocation, install both plugins and reference the Clean ABAP plugin's behaviour explicitly.


Supported systems

  • SAP BTP ABAP Environment (Steampunk)
  • SAP S/4HANA on-prem, when developed in the ABAP Cloud development model

Where the two diverge — released-API surface, allowed @AbapCatalog annotations, ATC variants — the skills call it out explicitly and ask which system you are targeting if unclear.

Not supported

  • SAP ECC
  • Classic non-Cloud development model on S/4HANA (any release)
  • Classic dynpro, logical databases, SAP Query, classic batch input
  • BAPI-style transactional code where RAP is the modern alternative

PRs adding content for unsupported scopes will be closed — see CONTRIBUTING.md.


Prerequisites

  1. Claude Code installed
  2. The official SAP ABAP MCP Server, distributed as part of the SAPSE.adt-vscode extension, installed and connected to your ABAP system. Enable it under VS Code settings: adt.mcpServer.enabled: true
  3. A target system: BTP ABAP Environment or S/4HANA on-prem in Cloud development model
  4. Optional but recommended — a read-capable MCP such as ARC-1. Without one, the review, refactor, and clean-core-check skills can only work on source you paste in, because the official server cannot read existing objects.

See docs/mcp-setup.md for connection details.


Install

Two commands. Both plugins, available in every Claude Code session.

# 1. Register this repo as a plugin source for Claude Code
claude plugin marketplace add https://github.com/matt1as/claude-abap-skills

# 2. Install both plugins (or just one — they work independently, but pair best together)
claude plugin install clean-abap
claude plugin install abap-cloud-rap

Verify:

claude plugin list

You should see both plugins listed. The five skills auto-register and become invokable as /clean-abap:review, /clean-abap:refactor, /abap-cloud-rap:rap-bo-design, /abap-cloud-rap:atc-remediation, /abap-cloud-rap:clean-core-check.

Important — MCP_TIMEOUT

The rap-bo-design skill drives the SAP ADT MCP's RAP generators, which routinely take 60–180 s for a multi-entity BO. Claude Code's default MCP tool timeout (~30 s) is shorter. Launch Claude Code with a longer timeout when generation is on the plan:

MCP_TIMEOUT=600000 claude   # 10 minutes — plenty of headroom

Workspace bootstrap for other AI coding agents — AGENTS.md template

The plugins are packaged for Claude Code, but the rule sets they enforce describe ABAP, not any specific agent. AI coding agents that read an AGENTS.md workspace bootstrap — GitHub Copilot in VS Code, Cursor, and others — can pick up the same guardrails.

templates/AGENTS.md is a drop-in template for an ABAP project workspace. Copy it to the root of your ABAP project, fill in the placeholders (target system, package prefix, GitHub owner), and trim sections that don't apply.

It covers:

  • The same modern-ABAP, released-API, Cloud-development-model guardrails as the plugins
  • VS Code virtual-workspace quirks, scoped so they don't fire in Eclipse or out-of-process MCP clients
  • Pointers back into the installed plugins' rule files and slash commands
  • The MCP_TIMEOUT caveat for RAP generators

The template follows the convention SAP recommends in its ADT-for-VS-Code FAQ and extends it with the project's full rule set.


Updating

claude plugin marketplace update claude-abap-skills
claude plugin update clean-abap
claude plugin update abap-cloud-rap

Uninstall

claude plugin uninstall clean-abap
claude plugin uninstall abap-cloud-rap
claude plugin marketplace remove claude-abap-skills

Repo layout

claude-abap-skills/
├── .claude-plugin/marketplace.json    # manifest listing both plugins
├── clean-abap/                        # Plugin 1
│   ├── .claude-plugin/plugin.json
│   ├── CLAUDE.md                      # universal Clean ABAP rule set
│   ├── review/SKILL.md
│   └── refactor/SKILL.md
├── abap-cloud-rap/                    # Plugin 2
│   ├── .claude-plugin/plugin.json
│   ├── CLAUDE.md                      # RAP / ABAP Cloud overlay rule set
│   ├── rap-bo-design/SKILL.md
│   ├── atc-remediation/SKILL.md
│   └── clean-core-check/SKILL.md
├── templates/
│   └── AGENTS.md                      # workspace bootstrap for any AI coding agent
├── docs/mcp-setup.md
├── CLAUDE.md
├── CONTRIBUTING.md
├── LICENSE
└── README.md

Tool routing — official MCP first, ARC-1 as fallback

The official SAPSE.adt-vscode MCP is creation-focused: strong at bootstrapping and changing a system, and it now ships ATC — but it still has no way to read an existing object or search the repository. ARC-1 is the mirror image: rich reads, gated writes.

So the skills do not pick a server; they pick a server per capability:

CapabilityPrimaryFallback
Read source of an existing objectarc-1 SAPReadpaste from ADT
Search repository / list a packagearc-1 SAPSearch, SAPRead type=DEVCask the user
Dependencies, where-used, CDS impactarc-1 SAPContext, SAPNavigateask the user
Run ATCabap-adt abap_atc_run + abap_atc_get_resultarc-1 SAPDiagnose action="atc"
ATC quick fixesabap-adt deterministic quickfixes / AI fixarc-1 SAPDiagnose quickfix
List ATC check variantsarc-1 SAPDiagnose action="atc_variants"ask the user
Run ABAP Unitabap-adt abap_run_unit_testsarc-1 SAPDiagnose action="unittest"
Syntax-check existing / draft sourcearc-1 SAPDiagnose action="syntax"activate and read the error
Generate a full RAP stackabap-adt abap_generators-*none — only SAP ships the generators
Create objects, write source, activateabap-adt (abap_creation-*, abap_activate_objects)arc-1 SAPWrite + SAPActivate, when write scope is on
Transportsabap-adt abap_transport-*arc-1 SAPTransport
API release contract (C0–C4)read arc-1 SAPRead type=API_STATE / set SAPManage action="set_api_state"ADT

This table is an observation, not a contract. It reflects SAPSE.adt-vscode 1.1.1 (verified 2026-08) and a contemporaneous ARC-1 — notably, 1.1.1 ships ATC, which earlier versions did not. Both servers gain tools over time, so the skills key off "is this tool present in the session", never off a version number. If the live tool list disagrees with this table, the live list wins.

Notes worth knowing before you rely on this:

  • Official-MCP tools take a destination; ARC-1 is bound to one system with no selector. If you work against several systems, only the official server can switch.
  • ARC-1 writes are opt-in and self-declaring. They are gated behind server-side flags (SAP_ALLOW_WRITES and friends). The gating is observable rather than guessable: when write scope is off, the mutating actions are simply absent from each tool's action enum. The skills check that before promising a write.
  • A successful ARC-1 write means "lint passed", not "this compiles." SAPWrite blocks on abaplint errors by default (SAP_LINT_BEFORE_WRITE, FUNC excluded), and can additionally run SAP's server-side syntax check (SAP_CHECK_BEFORE_WRITE) — but that one is advisory by design, because intermediate writes in a multi-object sequence legitimately fail to compile until their dependencies land. Activation is the real gate, so the skills read the object back after writing and confirm SAPRead type=INACTIVE_OBJECTS is clear after activating.
  • Neither server is required. With nothing connected, all five skills still work on pasted source. They will never fabricate source, findings, or object names.

ARC-1 is optional and community-maintained — install it only if you want the read/search half. See arc-mcp/arc-1.


Contributing

Contributions are very welcome. The bar is high quality, opinionated, enforced rules with working ABAP/CDS/BDEF code examples and a clear rationale. See CONTRIBUTING.md for the full process and scope policy.


License

Apache 2.0 — see LICENSE.

Author

Mattias Johansson

Claude Abap Skills alternatives

View more →

Similar mcp servers in Cloud Infrastructure, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Claude Abap Skills (this page)
matt1as
32Apache-2.0Aug 12, 2026Scanned, no flagged issues
TREK
liketrek
15kAGPL-3.0Nov 1, 2026Scanned, no flagged issues
MCP
awslabs
9.9kApache-2.0Oct 31, 2026Scanned, no flagged issues
MCP Context Forge
IBM
4.7kApache-2.0Oct 30, 2026Scanned, no flagged issues
Mcpo
open-webui
4.4kMITMay 17, 2026Scanned, no flagged issues
Lean Ctx
yvgude
3.9kApache-2.0Oct 31, 2026Scanned, no flagged issues