Lesson 1 of 7
Three routes to ABAP, and the compliance check
12 min
Listen to this lesson
Kenji, Contoso's ABAP development lead, wants his team to use Claude Code, Anthropic's agentic coding tool, on the custom code in CMD, the SAP S/4HANA development system. Claude Code is built for files: it reads a codebase, edits files, runs shell commands and calls tools on MCP servers (Model Context Protocol), asking for permission according to rules you set. ABAP doesn't live in files. It lives in the repository of an ABAP system, where it is locked, versioned, activated and transported. So the first decision isn't which prompt to write. It's how Claude Code reaches ABAP at all.
There are three routes. They differ in who supports them, what the agent can change, how fast the edit-and-test loop is, and which questions your legal team will ask. This lesson compares them; the rest of the course shows the two Contoso uses, end to end.
Route A: SAP's ADT MCP server
SAP ships an MCP server inside ABAP Development Tools (ADT), both in ADT for Eclipse and in ADT for VS Code. SAP News (18 August 2026) calls the ABAP MCP server for Eclipse and VS Code generally available for connecting third-party solutions to ABAP systems. When you enable it, the IDE starts a local HTTP server at http://localhost:<port>/mcp, protected by an auto-generated bearer token, and the agent works through the IDE's own ABAP project logon. Setup, ports and access restrictions are covered in sap-aid-202; here is what matters for Claude Code.
- It runs only while the IDE runs. Claude Code in a terminal can use the tools only while VS Code or Eclipse is open with the server enabled.
- The tool set is broad. SAP's tool reference lists search, read and edit file tools, object creation, generators, activation, object checks, ABAP Unit, ATC (with deterministic quick fixes, AI fixes and exemption requests), transport requests and a unified diff per request, business service information, runtime feeds and custom actions.
- File tools are new.
abap_read_fileandabap_edit_filearrived with ADT for VS Code 1.2 and ADT for Eclipse 3.62. SAP's What's New table lists these tool additions against backend releases SAP BTP ABAP environment 2611, SAP S/4HANA Cloud Public Edition 2702 and SAP S/4HANA and Private Edition 2027. On an SAP S/4HANA 2025 system such as CMD, prove in a read-only test which tools work before you plan agent edits through them. - Support needs a license. SAP supports the MCP tools only for customers with a valid SAP Joule for Developers, ABAP AI capabilities license.
Route B: abapGit files
abapGit serializes a package into files in a git repository: zcl_cmc_core_deposit.clas.abap for the class source, .clas.testclasses.abap for its test include, .clas.xml for metadata, .bdef.asbdef for a behavior definition. Claude Code edits those files in a local clone like any other code. A person then pulls the reviewed branch into CMD with abapGit, which creates or overwrites the objects and asks for a transport request. The details of flavors, pulls and pitfalls are in sap-aid-204.
This route is slower, because every round trip to the system goes through a person's pull. It is also the one where the agent never touches an SAP interface at all: Claude Code works on text files, and the only thing that writes into CMD is abapGit, run by a developer.
Route C: community ADT bridges
Several open-source MCP servers call the ADT REST interface from their own code, without an IDE. All are community projects, not SAP-supported. Examples whose GitHub repositories exist in October 2026:
- mcp-abap-adt (
mario-andreschak/mcp-abap-adt, MIT): its README says its sixteen tools are read-only, and it documents a.mcp.jsonsetup for Claude Code. - ARC-1 (
arc-mcp/arc-1, MIT): read-only by default, with explicit flags to allow writes, transport writes and git writes, and a package allowlist for write operations. - vibing-steampunk (
oisee/vibing-steampunk, MIT): an ADT-to-MCP bridge that reads and writes code, debugs and runs tests, and also reads data such as cluster tables and short dumps. - fr0ster/mcp-abap-adt (Apache-2.0): advertises full create, change and delete support.
A community catalog, marianfoo/sap-ai-mcp-servers, tracks these and many more. Some are carefully engineered. The question for a company system isn't code quality; it's who answers when something breaks, and whether the access path is one SAP endorses.
| Route A: ADT MCP server | Route B: abapGit files | Route C: community bridge | |
|---|---|---|---|
| Supported by | SAP (component BC-DWB-AIV; MCP tools with a J4D license) | abapGit community (community version on private cloud and on-premise) | Its maintainers only |
| How edits reach CMD | MCP edit tool or object creation, under the IDE's logon | A person pulls a reviewed branch with abapGit | The bridge writes over ADT REST under its own logon |
| Loop speed | Fast: edit, activate, test in one session | Slower: each pull is a human step | Fast |
| Runs without an IDE | No | Yes (editing); pull runs in SAP GUI | Yes |
| Main risk | Agent has the IDE user's rights; file tools depend on backend release | Pulls overwrite objects; branch switch affects everyone | Unvetted code with system access; API Policy questions |
Route comparison for Claude Code on ABAP (October 2026).
The compliance check: SAP API Policy section 2.2.2
SAP's API Policy v.4.2026a forms part of the documentation for SAP solutions. Section 2.2.2 prohibits API use for interaction or integration with (semi-)autonomous or generative AI systems that plan, select or execute sequences of API calls, except through and within the limits of SAP-endorsed architectures, data services or pathways expressly intended for such purposes. A coding agent that calls MCP tools is exactly such a system, so the question for every route is: is this an endorsed pathway, used within its limits?
SAP's API Policy FAQ (version 1.3, June 2026), question 33, answers the developer-tooling part. ADT APIs are SAP-internal and may be used for development purposes through endorsed channels only. The FAQ lists SAP's Eclipse ADT, abapGit (called an endorsed tool for ABAP development), SAP-provided developer tools that use ADT APIs, CI/CD pipelines using SAP-published tooling, and custom utilities built on the documented Eclipse Java SDK. It adds that ADT APIs aren't intended for reading application tables, exporting business data, running SQL against SAP systems, or agentic AI workflows on business data.
| Question for counsel | Route A | Route B | Route C |
|---|---|---|---|
| Which SAP interface does the agent use? | SAP's ADT MCP server (an SAP-provided tool on ADT APIs) | None; abapGit, run by a person, writes the objects | ADT REST, called by third-party code |
| Is the channel named in FAQ question 33? | SAP-provided developer tools are listed | abapGit is listed | Not as such; it is neither SAP-provided nor abapGit |
| Can the setup touch business data? | Yes, through feeds or reads, unless you deselect them | No, unless test data is committed to git | Often yes (table reads, dumps) |
| Who decides? | Counsel, with your SAP contract owner | Counsel, with your SAP contract owner | Counsel, with your SAP contract owner |
- Will the agent change objects in an SAP system?No → Route A with read, check and test tools only, or Route B for analysis of files · Yes → next question
- Does Route A's edit tool work on your backend release?Yes → Route A for the edit loop, with abapGit for review · No or unknown → Route B for edits, Route A for activation, tests and ATC
- Is someone proposing a community bridge?Yes → documented risk decision with security, Basis and counsel first; read-only mode, development only · No → stay with A and B
- Would any step read business data?Yes → deselect or deny those tools; keep agents on code · No → proceed to setup (lesson 2)
What would you do?
Kenji's team proposes a nightly job in which Claude Code, running headless on a build server, connects to CMD and fixes ATC findings in classic packages while everyone sleeps. Which response fits the routes and the compliance check?
- Claude Code reaches ABAP in three ways: SAP's ADT MCP server, abapGit files, or a community ADT bridge.
- Route A is SAP-supported (with a J4D license) but runs only inside the IDE; prove which file tools work on your backend release.
- Route B keeps the agent away from SAP interfaces; a person pulls reviewed code with abapGit, which the API Policy FAQ lists as endorsed.
- Community bridges aren't SAP-supported; treat them as a documented risk decision.
- API Policy section 2.2.2 is a per-route compliance check: supply facts, let counsel conclude.
Check your understanding · not graded
Lesson check
1. Why can't Claude Code simply open ABAP source the way it opens a Java project?
2. Which statement about SAP's ADT MCP server is accurate for a Claude Code user?
3. In the API Policy FAQ, question 33, which of these is named as an endorsed channel for using ADT APIs in development?
4. What should a team bring to counsel about a proposed agent setup?