← Index

io.github.williansaez/abap-adt-mcp

io.github.williansaez/abap-adt-mcpv2.8.0Other

ABAP development from Claude and other MCP hosts: source, transports, tests, ATC, debugger

The current version, v2.8.0, was published to the official MCP registry on 2026-10-16. It is distributed as abap-adt-mcp on npm, filed under Other by this index, and declares 41 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.

In-path gate · all MCP tools

Using io.github.williansaez/abap-adt-mcp in Claude, Cursor, Gemini CLI, Cline, or Zed?

MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).

Install the mcpindex gate (one command)

Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less

uv tool install mcpindex-gate && mcpindex-config-wire
Trust verdict · v1 advisory · method
REVIEWstatus: PARTIALfresh until 2026-10-31 00:44 UTC
screened 2026-09-05tier: scannedgranularity: description-levelsource: registry

Semantic screen found no manipulation pattern in the description. Conformance probe not yet run.

mcpindex.integrity.descriptionpassINFO

evidence“No malicious instructions”via static_description

Limits of this verdict
  • - Semantic screen only - the deterministic conformance probe has not run on this server
  • - Confidence is reported but not yet calibrated (v1)
  • - Screen reads the tool description, not the live behavior
  • - advisory
  • - registry description only no input schema
  • - screen model 8b
  • - Still current: the description we screened is unchanged, re-checked against the registry
  • - The registry listing (version, packages, links) changed after this screen ran - the description we assessed did not

Semantic screen: an LLM judge reads the tool description for hidden instructions (status PARTIAL). A pass means the description is not lying, not that the tool is safe: a high-capability tool with an honest description still warrants caution. The deterministic conformance probe has not been run on this server yet, so the screen here is semantic-only. Posture: advisory. Confidences are reported but not yet calibrated (calibrated=false at v1). Full verdict history is not shown on this page.

Own this server? Test a description on the public screen → It is a separate check from the verdict above, so the two can differ.

That verdict was true at screening time (snapshot 2026-10-24).

Contracts can change after screening, with no version bump. The gate pins io.github.williansaez/abap-adt-mcp’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.

See your first HOLD in 2 minutes →

Related: how to trust an MCP server · screen before install · silent contract drift

Cite this record

People vet a server before wiring it in. One line on your project site or docs answers that with an independent record: screening verdict, registry provenance, contract drift history. It stays current as new screens and drift events land.

Markdown
[Independent trust record for io.github.williansaez/abap-adt-mcp](https://mcpindex.ai/server/io-github-williansaez-abap-adt-mcp) - screening verdict, registry provenance, and contract drift monitoring.
HTML
<a href="https://mcpindex.ai/server/io-github-williansaez-abap-adt-mcp">Independent trust record for io.github.williansaez/abap-adt-mcp</a> - screening verdict, registry provenance, and contract drift monitoring.
Embed this badge

A live verdict badge for your README or listing. It reflects the current screen, links back here, and updates when the verdict does.

Markdown
[![mcpindex](https://mcpindex.ai/api/v1/badge/io-github-williansaez-abap-adt-mcp)](https://mcpindex.ai/server/io-github-williansaez-abap-adt-mcp)
HTML
<a href="https://mcpindex.ai/server/io-github-williansaez-abap-adt-mcp"><img src="https://mcpindex.ai/api/v1/badge/io-github-williansaez-abap-adt-mcp" alt="mcpindex verdict" height="20" /></a>
Environment variables
SAP_SYSTEMS_FILE

Path to a JSON file mapping destination names to system configs (url, client, authType basic/sso/sso2/oauth, credentials). Recommended; keep the file mode 0600. See systems.example.json

SAP_SYSTEMS
secret

Inline JSON map of destinations (same shape as SAP_SYSTEMS_FILE). Contains credentials — prefer SAP_SYSTEMS_FILE

SAP_DEFAULT_DESTINATION

Destination name used when a tool call omits `destination` (alternatively mark an entry with "default": true)

SAP_AUTH_TYPE

Default auth type for entries that don't specify one: sso (default), sso2, basic, or oauth

MCP_HTTP_PORT

When set (1024-65535), serve Streamable HTTP on http://127.0.0.1:<port>/mcp with bearer-token auth instead of stdio

MCP_HTTP_HOST

Bind address for the HTTP transport (default 127.0.0.1). Set 0.0.0.0 only inside containers that publish the port

MCP_HTTP_TOKEN
secret

Bearer token for the HTTP transport; auto-generated and written to ~/.abap-adt-mcp/http-token when unset

MCP_HTTP_MAX_SESSIONS

Maximum concurrent MCP sessions on the HTTP transport (default 16); further initialize requests get 503

MCP_HTTP_MAX_BODY_BYTES

Largest request body the HTTP transport accepts, in bytes (default 4194304); larger bodies are refused with HTTP 413

MCP_HTTP_SESSION_TTL_MINUTES

Idle minutes after which an HTTP session (and its SAP sessions/locks) is closed (default 30)

MCP_HTTP_ALLOWED_ORIGINS

Comma-separated Origin values allowed on the HTTP transport (loopback origins always allowed when bound to loopback; * allows any)

MCP_HTTP_ALLOWED_HOSTS

Comma-separated Host header values allowed (DNS-rebinding protection; loopback hosts always allowed when bound to loopback)

MCP_EXPORT_ROOT

When set, exportPackageSources may only write inside this directory

MCP_AUDIT_FILE

Path of a JSONL audit trail: one record per tool call (tool, destination, duration, outcome ok/error/denied/unavailable, policy gate, redacted argument summary)

MCP_ADT_TRACE_FILE

Diagnostics: path of a JSONL trace with one line per ADT request (method, URI, status, headers). Cookie, Set-Cookie, Authorization and CSRF values are reduced to name and length; no response body is kept, error lines carry the first 300 characters of the redacted error text. Off when unset.

MCP_READ_ONLY

Set to 1 to make every destination read-only (server-side; only read-only annotated tools plus login/logout run). Per-destination policies live in systems.json

MCP_ALLOW_DATA_PREVIEW

Set to 1 to let tableContents read table and CDS rows on every destination that does not state policy.allowDataPreview itself (reading table data is off by default)

MCP_ALLOW_FREE_SQL

Set to 1 to allow runQuery and tableContents with sqlQuery on every destination that does not state policy.allowFreeSql itself (free SQL is off by default; implies table data)

MCP_TOOLSETS

Toolsets to publish: comma list (core,source,objects,transports,analysis,tests,atc,data,discovery,runtime,refactoring,rap,services,git,debugger,traces) or a preset: all (default) or focused

MCP_DISABLED_TOOLSETS

Toolsets to hide, comma list (core cannot be disabled)

MCP_MAX_RESPONSE_CHARS

Character budget for a single tool response before results are paged/truncated (default 40000, minimum 5000). Raise it if your MCP host accepts larger tool outputs

SAP_ALLOW_REENTRANCE_TICKET

Set to 1 to enable the reentranceTicket tool (disabled by default: it returns a live SAP logon credential into the conversation)

SAP_URL

Legacy single-system mode: base URL of the SAP system, e.g. https://host:44300

SAP_USER

Legacy single-system mode: SAP username

SAP_PASSWORD
secret

Legacy single-system mode: SAP password

SAP_CLIENT

Legacy single-system mode: SAP client number, e.g. 100

SAP_LANGUAGE

Legacy single-system mode: logon language, e.g. EN

SAP_BROWSER_PATH

SSO destinations: path to a Chromium/Chrome/Edge binary for the browser login (auto-detected when unset)

SAP_BROWSER_PROFILE_DIR

SSO destinations: directory of the persistent browser profile that keeps the identity-provider session (default ~/.abap-adt-mcp/sso/<host>)

SAP_SSO2_COMMAND

Legacy single-system sso2 mode: absolute path to the trusted local ticket provider

SAP_SSO2_ARGS

Legacy single-system sso2 mode: JSON array of provider arguments (never put a ticket here)

SAP_SSO2_TIMEOUT_MS

Legacy single-system sso2 mode: provider timeout in milliseconds (default 30000; range 1000-300000)

SAP_TLS_INSECURE

Legacy single-system mode: set to 1 to skip TLS certificate verification for that system only (sandboxes with self-signed certificates)

SAP_OAUTH_TOKEN_URL

Legacy single-system mode with SAP_AUTH_TYPE=oauth: OAuth2 token endpoint (client_credentials)

SAP_OAUTH_CLIENT_ID

Legacy single-system mode with SAP_AUTH_TYPE=oauth: OAuth2 client id

SAP_OAUTH_CLIENT_SECRET
secret

Legacy single-system mode with SAP_AUTH_TYPE=oauth: OAuth2 client secret

SAP_OAUTH_SCOPE

Legacy single-system mode with SAP_AUTH_TYPE=oauth: optional OAuth2 scope

MCP_PROFILE_GATE

Platform gate for toolsets the destination does not expose (debugger, traces, abapGit, ...): enforce (default, refuse before calling SAP), warn (log only) or off

MCP_SOURCE_CACHE_TTL_SECONDS

Lifetime of the per-session source cache used by grepPackage, cdsViewInfo and syntaxCheckCode (default 300; 0 keeps entries until logout)

MCP_CACHE_DIR

Directory for the cached SAP cloudification repository used by apiReleaseState (default ~/.abap-adt-mcp/cache)

MCP_API_CLASSIFICATION_FILES

Extra classification files for apiReleaseState, comma list: a path inside SAP's cloudification repository (partner/objectClassifications_ACME.json) or an https URL

MCP quality score · maturity, not trust · methodology
freshness
25
completeness
10
installability
25
documentation
15
stability
10
Alternatives in Other