ABAP platform
SAP's application server and development platform for ABAP. For the things here it is the system a developer's editor or an agent's tool reaches over ADT, and a program calls over RFC; where it runs is the deployment's, as for SAP BW/4HANA.
Where it sits
Used by
Required dependency. The system the prompts are about: all six ask after SAP-standard objects such as cl_aff_*, cl_abap_compiler and if_ci_test, and the source the agent has to read lives there rather than on the runner's disk.
Required dependency. The SAP system whose tables, CDS views and function modules are read.
Functional boundary
DataZoo GmbH calls the extension experimental and states that minimal testing and benchmarking were done. The Business Source License 1.1 it carries restricts offering the software to third parties on a hosted or embedded basis, so an embedding product needs a commercial licence. Telemetry is on by default and is switched off per session with `SET erpl_telemetry_enabled = false` or for the machine with `DATAZOO_DISABLE_TELEMETRY=1`.
Required dependency. the SAP-side runtime: ABAP platformABAP platformSAP's application server and development platform for ABAP. For the things here it is the system a developer's editor or an agent's tool reaches over ADT, and a program calls over RFC; where it runs is the deployment's, as for SAP BW/4HANA. 2023 or newer with SAP_BASIS 758 or newer
Required dependency. runs inside the ABAP application server as an ICF service, on ECC or S/4HANA
CommercialIts maker offers it commercially
Optionally used: the on-premise/private-cloud ABAP Platform variant of the handler is installed The ABAP handler needs the XCO i18n APIs available on ABAP Platform 2022+ to run.
Functional boundary
LISA does the translation step only: it does not discover objects or manage transports, and its README pairs it with [an ADT MCP server](artifact:sap-adt-mcp-server) for those. Every write needs a transport request, and which object types it can write differs between public cloud or [the SAP BTP ABAP environment](artifact:btp-abap-environment) and on-premise or private cloud, and by release. Running it locally is meant for development and testing, not production.
Required dependency. is installed as an ABAP add-on and served from an ICF node of the system it runs in, on ECC or S/4HANA
CommercialIts maker offers it commercially
Optionally used: the Recall Rescue part is run The system the recall half runs in: the local package $ZRECALL_RESCUE holds its tables, classes, CDS views and RAP behaviour, and ABAP applies an approved plan there all or nothing.
Functional boundary
The data is illustrative: availability is binary and backup capacity unlimited, and the model carries no inventory; nothing in it is forecast or priced. The recall half runs only against classic ABAP, because its openCypher trace goes through ADBC, which is not released for ABAP Cloud, and it expects an SSH tunnel to the A4H system it was built against. A plain `npm start` passes no model key, so the agent cannot be used on a server started that way.
LicenceNeither the package manifest nor the repository tree declares a licence
Connected from
data, HTTP, outbound. reaches the ABAP system through its ADT REST API, on behalf of the MCP client
data, outbound. reads object definitions and runs syntax check, ABAP Unit and ATC in the system through the ADT communication layer, under the logon of the developer's own ABAP projects
data, HTTP, SOAP, outbound. calls the remote-enabled function modules the kit installs, so the report runs, the spool PDF is fetched and the SmartForms XML is read or written in the system itself
Functional boundary
Not for S/4HANA Public Cloud or [the BTP ABAP environment](artifact:btp-abap-environment), where the README states there is no `SUBMIT`, NAST or SOAP-RFC; the floor elsewhere is SAP_BASIS 7.50, the `/sap/bc/soap/rfc` service active, and an SAP user with `S_RFC` on the kit's function group as well as the authorizations for the reports and the spool. Print output is NAST messages only, so S/4 Output Management through BRF+ or APOC is outside it, and editing covers SmartForms alone, with Adobe Forms and SAPscript previewable but not editable. A report that opens a popup, calls a screen or is a dialog transaction cannot be run at all.
data, outbound. Reading table and CDS view data, invoking function modules, and running BW queries over BICS.
Functional boundary
DataZoo GmbH calls the extension experimental and states that minimal testing and benchmarking were done. The Business Source License 1.1 it carries restricts offering the software to third parties on a hosted or embedded basis, so an embedding product needs a commercial licence. Telemetry is on by default and is switched off per session with `SET erpl_telemetry_enabled = false` or for the machine with `DATAZOO_DISABLE_TELEMETRY=1`.
data, outbound. Opens a connection to an application server from the host, gateway and client in the configuration or from a sapnwrfc.ini destination, and calls RFC-enabled function modules on it.
Functional boundary
BUSL-1.1 rather than node-rfc's Apache-2.0, so a product you distribute has to be read against the licence and its Additional Use Grant first, and the source is closed: the GitHub repository is the issue tracker and the documentation, nothing else. `RfcServerOptions.bgRfcHandlers` raises instead of accepting handlers, so a server receiving inbound bgRFC units is outside what this does. An ABAP `MESSAGE`-raised failure still arrives with its T100 template rather than the rendered sentence, and the dump name is not reported as `key` for that case.
data, outbound. reaches an ECC or S/4HANA system run on premise through ADT, where agents read and change ABAP repositories
Functional boundary
Two licences, by which package you install: the standalone server, `@mcp-abap-adt/core`, is AGPL-3.0-only, a licence to read before shipping anything built around it; the library, `@mcp-abap-adt/lib`, is Apache-2.0. The destination model also expects service keys sitting in a local directory, which is a secrets decision to make deliberately.
data, HTTP, outbound, sync. Reads and writes ABAP development objects in the system over its ADT resources, and looks an object's type, package and owner up there rather than trusting the agent's arguments.
Functional boundary
Development and sandbox systems only: the README warns against pointing it at production. Transport release is never executed, since the tool exists to show the policy stopping it, and separation of duties is checked against the `identity.approvers` list in the policy file rather than against SAP authorisations, so it holds as far as that file does and no further. The write path has been tested with ABAP classes and other object types may need adjustments, there is deliberately no tool that creates or deletes an object, and one server instance serves one SAP system.
data, RFC, outbound, sync. Calls remote-enabled function modules in the system and reads program source from it; a write holds the whole SAP unit of work on one RFC connection until it is committed or rolled back.
Functional boundary
Real SAP calls need the proprietary [SAP NetWeaver RFC SDK](external:sap-nw-rfc-sdk) and the `pyrfc==3.3.1` release the README calls archived and yanked, on Python 3.11, so without those only the demo backend answers. Not over HTTP as it stands: credentials are read from the environment for stdio, and the README says not to expose the server over HTTP without implementing the MCP authorization specification and deployment-level rate limiting. Multi-tenant auth and RBAC beyond the one server-wide policy, rate limiting, metrics and tracing, and deployment packaging are listed as not built. The result limits protect the client and not the system, since the README states they cannot reduce work already performed inside SAP, and the MCP tool annotations that describe read and write risk are advisory metadata rather than an authorisation boundary, so the service account's `S_RFC` and table authorisations are still what decides.
data, HTTP, outbound. reads and writes repository objects, table contents and logs on the one SAP system its entry names, over that system's ADT services, whether the route is a BAS destination, a Cloud Foundry destination record or an ADT URL entered during local setup
data, outbound. Reading the genealogy trace out of A4H and applying the approved plan there, over an SSH tunnel to the system on localhost:50000.
Functional boundary
The data is illustrative: availability is binary and backup capacity unlimited, and the model carries no inventory; nothing in it is forecast or priced. The recall half runs only against classic ABAP, because its openCypher trace goes through ADBC, which is not released for ABAP Cloud, and it expects an SSH tunnel to the A4H system it was built against. A plain `npm start` passes no model key, so the agent cannot be used on a server started that way.
LicenceNeither the package manifest nor the repository tree declares a licence
data, HTTP, RFC, outbound. reaches any ABAP system with ADT enabled over SAP's own ADT resources, through an HTTPS session or a classic-RFC tunnel
Functional boundary
Reach is the reason to use it and the reason to be careful: reading cluster tables and spool output goes well past what a development tool is normally pointed at. Decide what an agent may reach before granting it, not after.
Details
Graph
For your agent
- Ref
external:abap-platform- JSON
- /externals/abap-platform.json
- MCP
- Connecting an agent