AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified Apache-2.0 Self-run

Erpl Adt

mcp-datazoode-erpl-adt · by DataZooDE

CLI and MCP server for the SAP ADT REST API — search, read/write ABAP source, run tests, manage transports. No Eclipse, no RFC SDK, no JVM.

No reviews yet
0 installs
11 views
0.0% view→install

Install

$ agentstack add mcp-datazoode-erpl-adt

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-datazoode-erpl-adt)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
21d ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Erpl Adt? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

erpl-adt

CLI and MCP server for the SAP ADT REST API — a single binary that talks the same HTTP endpoints Eclipse ADT uses. No Eclipse, no SAP NW RFC SDK, no JVM.

[](https://github.com/datazooDE/erpl-adt/actions/workflows/build.yaml)

Part of the Datazoo ERPL family.

What it does

  • Search and browse ABAP objects, packages, data dictionary tables, CDS views
  • Read and write source code with lock management and transport integration
  • Run tests — ABAP Unit and ATC quality checks from the command line
  • Manage transports — create, list, and release transport requests
  • MCP server — expose all capabilities to AI agents over JSON-RPC (MCP 2024-11-05)

Every command accepts --json for machine-readable output.

In action

Find ABAP objects by name pattern:

Read a data-dictionary table, with field types and check tables resolved:

Read ABAP source code with built-in syntax highlighting:

Browse a package recursively to enumerate everything it contains:

BW/4HANA Modeling

Search the BW catalog across ADSOs, composite providers, DTPs, transformations, and queries:

Inspect an ADSO's field structure, complete with the InfoObject each field maps to:

Export an InfoProvider's dataflow as Mermaid — pipe it straight into a renderer or commit it next to the model:

Quick examples

# Save connection credentials (prompts for password)
erpl-adt login --host sap.example.com --port 44300 --https --user DEVELOPER

# Search for classes matching a pattern
erpl-adt search ZCL_MY_* --type CLAS --max 20

# Read object metadata and source code
erpl-adt object read /sap/bc/adt/oo/classes/zcl_my_class
erpl-adt source read /sap/bc/adt/oo/classes/zcl_my_class/source/main

# Write source code (auto-locks, writes, unlocks)
erpl-adt source write /sap/bc/adt/oo/classes/zcl_my_class/source/main --file impl.abap

# Write and activate in one step
erpl-adt source write /sap/bc/adt/oo/classes/zcl_my_class/source/main --file impl.abap --activate

# Activate an object by name
erpl-adt activate ZCL_MY_CLASS

# Run unit tests and ATC checks (by name or URI)
erpl-adt test ZCL_MY_CLASS
erpl-adt check ZCL_MY_CLASS --variant DEFAULT

# Create a transport request and release it
erpl-adt transport create --desc "Feature XYZ" --package ZPACKAGE
erpl-adt transport release NPLK900042

# Browse packages and data dictionary
erpl-adt package tree ZPACKAGE --type CLAS
erpl-adt ddic table SFLIGHT
erpl-adt ddic cds I_AIRLINE

# Check syntax
erpl-adt source check /sap/bc/adt/oo/classes/zcl_my_class/source/main

Installation

The quickest way to run erpl-adt — no download needed:

uvx erpl-adt --help

Or install permanently:

pip install erpl-adt

Alternatively, download the binary for your platform from the latest release, or [build from source](#building-from-source).

| Platform | Architecture | |----------|-------------| | Linux | x8664 | | macOS | arm64, x8664 | | Windows | x64 |

Full reference

Run erpl-adt --help for the complete command listing. Key commands:

SEARCH — Search for ABAP objects
  search                         Search for ABAP objects
      --type                        Object type: CLAS, PROG, TABL, INTF, FUGR
      --max                            Maximum number of results

OBJECT — Read, create, delete, lock/unlock ABAP objects
  object create                           Create an ABAP object
      --type, --name, --package           (required)
      --description, --transport
  object delete                      Delete an ABAP object
  object lock                        Lock an object for editing
  object read                Read object structure
  object run           Run an ABAP console class (IF_OO_ADT_CLASSRUN)
  object unlock                      Unlock an object

SOURCE — Read, write, and check ABAP source code
  source check               Check syntax
  source edit                Open source in $EDITOR and write back
  source read                Read source code
      --version                  active or inactive (default: active)
      --section                  main, localdefinitions, localimplementations, testclasses, all
      --color / --no-color                ANSI syntax highlighting
  source write               Write source code
      --file                        Path to local source file  (required)
      --activate                          Activate the object after writing
      --optimistic                        Try lockless write first (pre-7.51 SAP)

ACTIVATE — Activate inactive ABAP objects
  activate 

TEST / CHECK
  test                       Run ABAP unit tests
  check                      Run ATC quality checks
      --variant                     ATC variant (default: DEFAULT)

TRANSPORT — List, create, and release transports
  transport create --desc  --package 
  transport list [--user ]
  transport release 

DATA DICTIONARY — Tables and CDS views
  ddic table                        Get table definition (fetches lengths + descriptions by default)
      --no-resolve-types                  Skip data-element lookup; show field names and types only
      --raw                               Print raw SAP XML response
  ddic cds                          Get CDS view source

PACKAGE — List contents and check package existence
  package exists 
  package list 
  package tree                      Recursive BFS traversal
      --type                        Filter: CLAS, PROG, TABL, INTF, FUGR
      --max-depth                      (default: 50)

GLOBAL FLAGS
  --host, --port, --user, --password, --client
  --https, --insecure
  --json                                  Machine-readable JSON output
  --color / --no-color
  --timeout 
  --session-file                    Persist session for lock/write/unlock workflows
  -v / -vv                                INFO / DEBUG logging

EXIT CODES
  0  Success   1  Connection/auth   2  Not found   5  Activation error
  6  Lock conflict   7  Test failure   8  ATC check error   99  Internal error

MCP server

erpl-adt includes a built-in MCP server (Model Context Protocol, version 2024-11-05) that exposes all ADT operations as tools over JSON-RPC 2.0 on stdin/stdout. This lets AI agents search, read, write, test, and manage ABAP code directly.

erpl-adt mcp --host sap.example.com --port 44300 --https

Configure it in your MCP client (e.g., Claude Desktop, Claude Code):

{
  "mcpServers": {
    "erpl-adt": {
      "command": "erpl-adt",
      "args": ["mcp", "--host", "sap.example.com", "--port", "44300", "--https"],
      "env": {
        "SAP_PASSWORD": "your_password"
      }
    }
  }
}

Deploy workflow

erpl-adt also includes the original deploy workflow for automated abapGit package deployment via YAML configuration:

cat > config.yaml <<EOF
connection:
  host: localhost
  port: 50000
  use_https: false
  client: "001"
  user: DEVELOPER
  password_env: SAP_PASSWORD

repos:
  - name: flight
    url: https://github.com/SAP-samples/abap-platform-refscen-flight.git
    branch: refs/heads/main
    package: /DMO/FLIGHT
    activate: true
EOF

export SAP_PASSWORD=your_password
erpl-adt deploy -c config.yaml

The deploy workflow is an idempotent state machine: discover → create package → clone → pull → activate. Each step checks preconditions and skips if already satisfied. Re-running is safe. Supports multi-repo deployments with depends_on for topological ordering.

Building from source

git clone --recurse-submodules https://github.com/datazooDE/erpl-adt.git
cd erpl-adt
make release

Requires CMake 3.21+, Ninja, and a C++17 compiler (GCC 13+, Apple Clang 15+, or MSVC 17+). vcpkg is included as a git submodule.

To run the tests:

make test                          # Unit tests (offline, no SAP system needed)
make test-integration-py           # Integration tests (requires SAP system)

Docker

docker build -t erpl-adt .
docker run --rm -v $(pwd)/config.yaml:/config.yaml \
    -e SAP_PASSWORD=your_password \
    erpl-adt deploy -c /config.yaml

Or use Docker Compose for end-to-end provisioning with a SAP ABAP Cloud Developer Trial:

docker compose up

Telemetry

erpl-adt collects anonymous, aggregate usage telemetry (feature usage, outcomes, and durations) — never source code, object/package names, transport IDs, SAP hosts/users, or error text. It is on by default and easy to disable:

erpl-adt --no-telemetry ...          # per invocation
export DATAZOO_DISABLE_TELEMETRY=1   # or DO_NOT_TRACK=1

See [TELEMETRY.md](TELEMETRY.md) for exactly what is collected and the privacy contract.

License

[Apache License 2.0](LICENSE) — Copyright 2026 Datazoo GmbH

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.