@mcp-abap-adt/adt-clientsCAUTION
ADT clients for SAP ABAP systems - Read-only, CRUD, and Management operations
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://stand-with-ukraine.pp.ua)
TypeScript clients for SAP ABAP Development Tools (ADT).
Upgrading from 22.x? 23.0.0 makes this package interpret nothing: every member answers the document SAP sent unless you give it a reading when you build it, and judges nothing unless you passanalysewith the call. Every reading and verdict it used to apply is a strategy in@mcp-abap-adt/adt-strategies. The connection contract moved to@mcp-abap-adt/interfaces-adt-connection.docs/usage/MIGRATION-23.mdhas the replacing code for every removed behaviour. From 18.x? Readdocs/usage/MIGRATION-19.mdfirst: 19.0.0 is where members became one endpoint call each.
Features
- ✅ Client API – simplified interface for common operations:
AdtClient– high-level CRUD API; one member, one ADT requestAdtExecutor– execution API viaIExecutorcontracts (class/program, with profiling)AdtRuntimeClient– runtime operations (traces, logs, dumps, ATC check runs)AbapDebugger,AmdpDebugger,MemorySnapshots– the ABAP and AMDP debuggers and memory snapshots, each on connections the caller opensAdtClientsWS– realtime WebSocket facade for event-driven workflowsAdtAbapGitClient– standalone client for SAP-official ADT-integrated abapGit (/sap/bc/adt/abapgit/*); available on cloud and modern on-prem (ABAP Platform 2022+)- ✅ ABAP Unit test support – run and manage ABAP Unit tests (class and CDS view tests)
- ✅ Stateful session management – maintains
sap-adt-connection-idacross operations - ✅ Lock registry – persistent
.locks/active-locks.jsonwith CLI tools for recovery - ✅ TypeScript-first – full type safety with comprehensive interfaces
- ✅ **Response
62e81dc728faOBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add adt-strategies --env NODE_TLS_REJECT_UNAUTHORIZED=${NODE_TLS_REJECT_UNAUTHORIZED} --env SAP_AUTH_TYPE=${SAP_AUTH_TYPE} --env SAP_JWT_TOKEN=${SAP_JWT_TOKEN} --env SAP_PASSWORD=${SAP_PASSWORD} -- npx -y @mcp-abap-adt/[email protected]{
"mcpServers": {
"adt-strategies": {
"command": "npx",
"args": [
"-y",
"@mcp-abap-adt/[email protected]"
],
"env": {
"NODE_TLS_REJECT_UNAUTHORIZED": "${NODE_TLS_REJECT_UNAUTHORIZED}",
"SAP_AUTH_TYPE": "${SAP_AUTH_TYPE}",
"SAP_JWT_TOKEN": "${SAP_JWT_TOKEN}",
"SAP_PASSWORD": "${SAP_PASSWORD}"
}
}
}
}Exposed tools (11)
11 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
TEST_MCP | read | workflow field |
ZCL_AC_LOAN_DEMO | read | Runnable demo of the loan register |
ZCL_AC_LOAN_ITEM | read | One book loan |
ZCL_AC_LOAN_POLICY_STD | read | Standard loan policy: 14 days, 5 per day late |
ZCL_AC_LOAN_REGISTER | read | Loan register: issue, take back, count open |
ZIF_AC_LOAN_POLICY | read | Loan policy: due dates and fines |
ZMC | read | d |
ZT | read | D |
zac_shr_pkg | read | Test |
zok_test | read | A & B |
zp | read | d |
Trust audit
CAUTIONgrade B · trust 86/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | FAIL |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (3 observation(s))
- Network
- declared (1 observation(s))
- Shell
- declared (1 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (19)
probe-domain-create-payload.ts
.keep
.keep
.keep
.keep
.keep
console.log(` x-csrf-token: ${describeToken(csrfToken)}`);console.log(` ${endpoint}: ${token ? describeToken(token) : 'FAILED'}`);const source = path.resolve(__dirname, '../../../docs/usage/ERRATA.md');
const CORPUS = join(__dirname, '../../../../corpus/adt');
join(__dirname, '../../../../src/__tests__/fixtures/transport', name),
import { fetchNodeStructure } from '../../src/core/shared/nodeStructure';import { fetchNodeStructure } from '../../src/core/shared/nodeStructure';baseUrl: `http://127.0.0.1:${address.port}`,@mcp-abap-adt/interfaces-adt, @mcp-abap-adt/interfaces-adt-connection, @mcp-abap-adt/interfaces-network, @mcp-abap-adt/interfaces-utils, @mcp-abap-adt/logger, axios, fast-xml-parser, @biomejs/biome
@mcp-abap-adt/interfaces-adt, @mcp-abap-adt/interfaces-adt-connection, fast-xml-parser, @types/jest, @types/node, jest, ts-jest, typescript
package-lock.json
- `sessionConfig.ts` - Load configuration from `.env` and `test-config.yaml`
> **Note:** These variables must be set in the shell before running the application. They cannot be loaded from `.env` files because `dotenv` does not expand `$PATH`/`%PATH%` and does not modify the s
Gates applied: no_behavioural_pass.
62e81dc728fafull audit observations/trust-audit/mcp-server/fr0ster__mcp-abap-adt-clients.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | 62e81dc728fa | CAUTION | B | 86 | first audit |
Questions
What is the @mcp-abap-adt/adt-clients MCP server?
ADT clients for SAP ABAP systems - Read-only, CRUD, and Management operations
What tools does @mcp-abap-adt/adt-clients expose?
11 in total: 11 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is @mcp-abap-adt/adt-clients safe to connect to an agent?
With care. The audit graded it B (86/100) and found 19 things worth knowing before you trust this server, listed below with the exact line each was found on.
What credentials does @mcp-abap-adt/adt-clients need?
It reads NODE_TLS_REJECT_UNAUTHORIZED, SAP_AUTH_TYPE, SAP_JWT_TOKEN, SAP_PASSWORD, SAP_REFRESH_TOKEN, SAP_UAA_CLIENT_SECRET and UAA_CLIENT_SECRET from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How current is this page?
The grade is for one exact copy of the source (62e81dc728fa), read on 2026-10-11. The repository is watched and re-audited when it changes.