Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
ABAP development from Claude and other MCP hosts: source, transports, tests, ATC, debugger
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
SAP_SYSTEMS_FILE, SAP_SYSTEMS, SAP_DEFAULT_DESTINATION, SAP_AUTH_TYPE, MCP_HTTP_PORT, MCP_HTTP_HOST, MCP_HTTP_TOKEN, MCP_HTTP_MAX_SESSIONS, MCP_HTTP_MAX_BODY_BYTES, MCP_HTTP_SESSION_TTL_MINUTES, MCP_HTTP_ALLOWED_ORIGINS, MCP_HTTP_ALLOWED_HOSTS, MCP_EXPORT_ROOT, MCP_AUDIT_FILE, MCP_ADT_TRACE_FILE, MCP_READ_ONLY, MCP_ALLOW_DATA_PREVIEW, MCP_ALLOW_FREE_SQL, MCP_TOOLSETS, MCP_DISABLED_TOOLSETS, MCP_MAX_RESPONSE_CHARS, SAP_ALLOW_REENTRANCE_TICKET, SAP_URL, SAP_USER, SAP_PASSWORD, SAP_CLIENT, SAP_LANGUAGE, SAP_BROWSER_PATH, SAP_BROWSER_PROFILE_DIR, SAP_SSO2_COMMAND, SAP_SSO2_ARGS, SAP_SSO2_TIMEOUT_MS, SAP_TLS_INSECURE, SAP_OAUTH_TOKEN_URL, SAP_OAUTH_CLIENT_ID, SAP_OAUTH_CLIENT_SECRET, SAP_OAUTH_SCOPE, MCP_PROFILE_GATE, SAP_REQUEST_TIMEOUT_SECONDS, MCP_SOURCE_CACHE_TTL_SECONDS, MCP_CACHE_DIR, MCP_API_CLASSIFICATION_FILESAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"abap-adt": {
"command": "npx",
"args": [
"-y",
"abap-adt-mcp"
],
"env": {
"SAP_SYSTEMS_FILE": "your-value",
"SAP_SYSTEMS": "your-value",
"SAP_DEFAULT_DESTINATION": "your-value",
"SAP_AUTH_TYPE": "your-value",
"MCP_HTTP_PORT": "your-value",
"MCP_HTTP_HOST": "your-value",
"MCP_HTTP_TOKEN": "your-value",
"MCP_HTTP_MAX_SESSIONS": "your-value",
"MCP_HTTP_MAX_BODY_BYTES": "your-value",
"MCP_HTTP_SESSION_TTL_MINUTES": "your-value",
"MCP_HTTP_ALLOWED_ORIGINS": "your-value",
"MCP_HTTP_ALLOWED_HOSTS": "your-value",
"MCP_EXPORT_ROOT": "your-value",
"MCP_AUDIT_FILE": "your-value",
"MCP_ADT_TRACE_FILE": "your-value",
"MCP_READ_ONLY": "your-value",
"MCP_ALLOW_DATA_PREVIEW": "your-value",
"MCP_ALLOW_FREE_SQL": "your-value",
"MCP_TOOLSETS": "your-value",
"MCP_DISABLED_TOOLSETS": "your-value",
"MCP_MAX_RESPONSE_CHARS": "your-value",
"SAP_ALLOW_REENTRANCE_TICKET": "your-value",
"SAP_URL": "your-value",
"SAP_USER": "your-value",
"SAP_PASSWORD": "your-value",
"SAP_CLIENT": "your-value",
"SAP_LANGUAGE": "your-value",
"SAP_BROWSER_PATH": "your-value",
"SAP_BROWSER_PROFILE_DIR": "your-value",
"SAP_SSO2_COMMAND": "your-value",
"SAP_SSO2_ARGS": "your-value",
"SAP_SSO2_TIMEOUT_MS": "your-value",
"SAP_TLS_INSECURE": "your-value",
"SAP_OAUTH_TOKEN_URL": "your-value",
"SAP_OAUTH_CLIENT_ID": "your-value",
"SAP_OAUTH_CLIENT_SECRET": "your-value",
"SAP_OAUTH_SCOPE": "your-value",
"MCP_PROFILE_GATE": "your-value",
"SAP_REQUEST_TIMEOUT_SECONDS": "your-value",
"MCP_SOURCE_CACHE_TTL_SECONDS": "your-value",
"MCP_CACHE_DIR": "your-value",
"MCP_API_CLASSIFICATION_FILES": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add abap-adt --env SAP_SYSTEMS_FILE=your-value --env SAP_SYSTEMS=your-value --env SAP_DEFAULT_DESTINATION=your-value --env SAP_AUTH_TYPE=your-value --env MCP_HTTP_PORT=your-value --env MCP_HTTP_HOST=your-value --env MCP_HTTP_TOKEN=your-value --env MCP_HTTP_MAX_SESSIONS=your-value --env MCP_HTTP_MAX_BODY_BYTES=your-value --env MCP_HTTP_SESSION_TTL_MINUTES=your-value --env MCP_HTTP_ALLOWED_ORIGINS=your-value --env MCP_HTTP_ALLOWED_HOSTS=your-value --env MCP_EXPORT_ROOT=your-value --env MCP_AUDIT_FILE=your-value --env MCP_ADT_TRACE_FILE=your-value --env MCP_READ_ONLY=your-value --env MCP_ALLOW_DATA_PREVIEW=your-value --env MCP_ALLOW_FREE_SQL=your-value --env MCP_TOOLSETS=your-value --env MCP_DISABLED_TOOLSETS=your-value --env MCP_MAX_RESPONSE_CHARS=your-value --env SAP_ALLOW_REENTRANCE_TICKET=your-value --env SAP_URL=your-value --env SAP_USER=your-value --env SAP_PASSWORD=your-value --env SAP_CLIENT=your-value --env SAP_LANGUAGE=your-value --env SAP_BROWSER_PATH=your-value --env SAP_BROWSER_PROFILE_DIR=your-value --env SAP_SSO2_COMMAND=your-value --env SAP_SSO2_ARGS=your-value --env SAP_SSO2_TIMEOUT_MS=your-value --env SAP_TLS_INSECURE=your-value --env SAP_OAUTH_TOKEN_URL=your-value --env SAP_OAUTH_CLIENT_ID=your-value --env SAP_OAUTH_CLIENT_SECRET=your-value --env SAP_OAUTH_SCOPE=your-value --env MCP_PROFILE_GATE=your-value --env SAP_REQUEST_TIMEOUT_SECONDS=your-value --env MCP_SOURCE_CACHE_TTL_SECONDS=your-value --env MCP_CACHE_DIR=your-value --env MCP_API_CLASSIFICATION_FILES=your-value -- npx -y abap-adt-mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"abap-adt": {
"command": "npx",
"args": [
"-y",
"abap-adt-mcp"
],
"env": {
"SAP_SYSTEMS_FILE": "your-value",
"SAP_SYSTEMS": "your-value",
"SAP_DEFAULT_DESTINATION": "your-value",
"SAP_AUTH_TYPE": "your-value",
"MCP_HTTP_PORT": "your-value",
"MCP_HTTP_HOST": "your-value",
"MCP_HTTP_TOKEN": "your-value",
"MCP_HTTP_MAX_SESSIONS": "your-value",
"MCP_HTTP_MAX_BODY_BYTES": "your-value",
"MCP_HTTP_SESSION_TTL_MINUTES": "your-value",
"MCP_HTTP_ALLOWED_ORIGINS": "your-value",
"MCP_HTTP_ALLOWED_HOSTS": "your-value",
"MCP_EXPORT_ROOT": "your-value",
"MCP_AUDIT_FILE": "your-value",
"MCP_ADT_TRACE_FILE": "your-value",
"MCP_READ_ONLY": "your-value",
"MCP_ALLOW_DATA_PREVIEW": "your-value",
"MCP_ALLOW_FREE_SQL": "your-value",
"MCP_TOOLSETS": "your-value",
"MCP_DISABLED_TOOLSETS": "your-value",
"MCP_MAX_RESPONSE_CHARS": "your-value",
"SAP_ALLOW_REENTRANCE_TICKET": "your-value",
"SAP_URL": "your-value",
"SAP_USER": "your-value",
"SAP_PASSWORD": "your-value",
"SAP_CLIENT": "your-value",
"SAP_LANGUAGE": "your-value",
"SAP_BROWSER_PATH": "your-value",
"SAP_BROWSER_PROFILE_DIR": "your-value",
"SAP_SSO2_COMMAND": "your-value",
"SAP_SSO2_ARGS": "your-value",
"SAP_SSO2_TIMEOUT_MS": "your-value",
"SAP_TLS_INSECURE": "your-value",
"SAP_OAUTH_TOKEN_URL": "your-value",
"SAP_OAUTH_CLIENT_ID": "your-value",
"SAP_OAUTH_CLIENT_SECRET": "your-value",
"SAP_OAUTH_SCOPE": "your-value",
"MCP_PROFILE_GATE": "your-value",
"SAP_REQUEST_TIMEOUT_SECONDS": "your-value",
"MCP_SOURCE_CACHE_TTL_SECONDS": "your-value",
"MCP_CACHE_DIR": "your-value",
"MCP_API_CLASSIFICATION_FILES": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"abap-adt": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"abap-adt-mcp"
],
"env": {
"SAP_SYSTEMS_FILE": "your-value",
"SAP_SYSTEMS": "your-value",
"SAP_DEFAULT_DESTINATION": "your-value",
"SAP_AUTH_TYPE": "your-value",
"MCP_HTTP_PORT": "your-value",
"MCP_HTTP_HOST": "your-value",
"MCP_HTTP_TOKEN": "your-value",
"MCP_HTTP_MAX_SESSIONS": "your-value",
"MCP_HTTP_MAX_BODY_BYTES": "your-value",
"MCP_HTTP_SESSION_TTL_MINUTES": "your-value",
"MCP_HTTP_ALLOWED_ORIGINS": "your-value",
"MCP_HTTP_ALLOWED_HOSTS": "your-value",
"MCP_EXPORT_ROOT": "your-value",
"MCP_AUDIT_FILE": "your-value",
"MCP_ADT_TRACE_FILE": "your-value",
"MCP_READ_ONLY": "your-value",
"MCP_ALLOW_DATA_PREVIEW": "your-value",
"MCP_ALLOW_FREE_SQL": "your-value",
"MCP_TOOLSETS": "your-value",
"MCP_DISABLED_TOOLSETS": "your-value",
"MCP_MAX_RESPONSE_CHARS": "your-value",
"SAP_ALLOW_REENTRANCE_TICKET": "your-value",
"SAP_URL": "your-value",
"SAP_USER": "your-value",
"SAP_PASSWORD": "your-value",
"SAP_CLIENT": "your-value",
"SAP_LANGUAGE": "your-value",
"SAP_BROWSER_PATH": "your-value",
"SAP_BROWSER_PROFILE_DIR": "your-value",
"SAP_SSO2_COMMAND": "your-value",
"SAP_SSO2_ARGS": "your-value",
"SAP_SSO2_TIMEOUT_MS": "your-value",
"SAP_TLS_INSECURE": "your-value",
"SAP_OAUTH_TOKEN_URL": "your-value",
"SAP_OAUTH_CLIENT_ID": "your-value",
"SAP_OAUTH_CLIENT_SECRET": "your-value",
"SAP_OAUTH_SCOPE": "your-value",
"MCP_PROFILE_GATE": "your-value",
"SAP_REQUEST_TIMEOUT_SECONDS": "your-value",
"MCP_SOURCE_CACHE_TTL_SECONDS": "your-value",
"MCP_CACHE_DIR": "your-value",
"MCP_API_CLASSIFICATION_FILES": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
SAP_SYSTEMS_FILE envSAP_DEFAULT_DESTINATION envSAP_AUTH_TYPE envMCP_HTTP_PORT envMCP_HTTP_HOST envMCP_HTTP_MAX_SESSIONS envMCP_HTTP_MAX_BODY_BYTES envMCP_HTTP_SESSION_TTL_MINUTES envMCP_HTTP_ALLOWED_ORIGINS envMCP_HTTP_ALLOWED_HOSTS envMCP_EXPORT_ROOT envMCP_AUDIT_FILE envMCP_ADT_TRACE_FILE envMCP_READ_ONLY envMCP_ALLOW_DATA_PREVIEW envMCP_ALLOW_FREE_SQL envMCP_TOOLSETS envMCP_DISABLED_TOOLSETS envMCP_MAX_RESPONSE_CHARS envSAP_ALLOW_REENTRANCE_TICKET envSAP_URL envSAP_USER envSAP_CLIENT envSAP_LANGUAGE envSAP_BROWSER_PATH envSAP_BROWSER_PROFILE_DIR envSAP_SSO2_COMMAND envSAP_SSO2_ARGS envSAP_SSO2_TIMEOUT_MS envSAP_TLS_INSECURE envSAP_OAUTH_TOKEN_URL envSAP_OAUTH_CLIENT_ID envSAP_OAUTH_SCOPE envMCP_PROFILE_GATE envSAP_REQUEST_TIMEOUT_SECONDS envMCP_SOURCE_CACHE_TTL_SECONDS envMCP_CACHE_DIR envMCP_API_CLASSIFICATION_FILES envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto williansaez bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: SAP_SYSTEMS, MCP_HTTP_TOKEN, SAP_PASSWORD, SAP_OAUTH_CLIENT_SECRET
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (2.8.2) kam vor 5 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Signoff
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Five gates that make an agent's 'done' provable: run them, read the verdict, audit the record.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Let Claude read, write, test and check ABAP code on your SAP systems.
English · Português (Brasil) · Deutsch · Project site
You type a sentence in Claude. You get back an activated class, green unit tests and a transport number. abap-adt-mcp is the server in between: a Model Context Protocol server that gives Claude Desktop, Claude Code, VS Code or any other MCP host the same ADT services Eclipse uses, on every SAP system you configure, S/4HANA Cloud and on-prem alike. 173 tools, one process, and guard rails the server enforces itself: a destination marked read-only refuses every write before it reaches SAP, whatever the host approves.
See it in motion. The project site has seven short films, the setup in three steps and what to ask the model.
Before you connect a production system
- The model acts as your SAP user and can do nothing Eclipse would refuse you. What it reads (source, dumps, table rows where you open them) is sent to the model.
- A destination without a
policyblock is writable in every package your user may edit; table data stays closed until you open it.
- Recommended: development and test systems only. If a production destination must exist, give it the
PRDpolicy of step 4: the server enforces it before any SAP call, whatever the host approves, so a careless prompt cannot write where the policy forbids it (For administrators).
That is the whole idea. You type a sentence. The model picks the tools, the server locks the object, writes, activates and unlocks it, and the unit tests come back green with a transport number attached. Ask for the same change on a production system and the answer is policyDenied before a single SAP call goes out: the guard rails live in the server, not in the chat window.
Seven short films show this and the single jobs behind it, a short dump traced to its line, an ATC run with its quickfixes, a transport review, a class created with its test, an ABAP Cloud readiness check. They are on the project site.
Three prerequisites:
SAP_BR_DEVELOPER in the standard delivery); on-prem, ask your Basis team for the /sap/bc/adt service in SICF and the usual ADT authorizations.authType: sso, the default); not needed for basic, oauth or sso2.Create the folder .abap-adt-mcp in your home directory and the file systems.json inside it, one entry per system (a "destination"):
C:\Users\ \.abap-adt-mcp. Paste the JSON into Notepad and in Save As set "Save as type" to "All files" and the name to systems.json, otherwise Notepad saves systems.json.txt and the server finds nothing./Users/ /.abap-adt-mcp (Finder, Shift-Cmd-G, ~); any editor.{
"DEV": { "url": "https://myXXXXXX.s4hana.cloud.sap", "client": "080", "authType": "sso", "default": true, "policy": { "allowedPackages": ["ZFIN"] } } }
DEV is your name for the system and the word you will use in chats; "default": true lets you omit it.url: the address you open the launchpad or Eclipse with, without a path.client: the client your SSO session logs on to (About in the launchpad's user menu shows it). A wrong client shows up later as "not authorized" on objects you can open in Eclipse.authType defaults to sso: a browser window opens once for the login, like Eclipse ADT. Other modes: Authentication.policy.allowedPackages: the packages the model may write to, exact names or patterns (ZFIN, Z*). Leave it out and every package you can edit in Eclipse is writable; start with one.Production and on-prem systems come in step 4, after the first successful call.
The package is on npm as abap-adt-mcp; npx fetches it. Claude Desktop, no terminal: first block. Claude Code: one command. VS Code, Cursor and others: pointer below. Every entry passes the server two settings: SAP_SYSTEMS_FILE (where systems.json is) and MCP_TOOLSETS=focused, which publishes the 114 everyday development tools instead of all 173 so the tool schemas do not eat the chat's context (drop it when you need the debugger, traces, abapGit, RAP or refactoring).
Claude Desktop, no terminal needed:
claude_desktop_config.json; open the file in Notepad or any editor. If Settings has no Developer tab, your Claude Desktop is managed by IT: ask them to add the entry below."mcpServers", add only the "abap-adt-mcp" entry inside it; if it is empty, paste the whole block. with your user name (macOS: /Users/ /.abap-adt-mcp/systems.json). The forward slashes in the Windows path are deliberate: JSON needs \\ for every backslash, forward slashes need nothing.{
"mcpServers": { "abap-adt-mcp": { "command": "npx", "args": ["-y", "abap-adt-mcp"], "env": { "SAP_SYSTEMS_FILE": "C:/Users/ /.abap-adt-mcp/systems.json", "MCP_TOOLSETS": "focused" } } } }
Claude Code, one line in a terminal (-s user registers the server for every project, not only the current folder):
claude mcp add -s user abap-adt-mcp -e SAP_SYSTEMS_FILE=$HOME/.abap-adt-mcp/systems.json -e MCP_TOOLSETS=focused -- npx -y abap-adt-mcp
The same on Windows PowerShell:
claude mcp add -s user abap-adt-mcp -e SAP_SYSTEMS_FILE=$env:USERPROFILE\.abap-adt-mcp\systems.json -e MCP_TOOLSETS=focused -- npx -y abap-adt-mcp
VS Code with GitHub Copilot: the same entry in .vscode/mcp.json under a top-level servers key instead of mcpServers; docs/HOSTS.md has the file as tested, with ${input:} for secrets.
abap-adt-mcp: it is the name the host shows, the prefix of every tool, and what this project's agent skills look for.Open a new chat and type (replace DEV with the key you chose; the class is standard SAP, so the prompt is read-only and safe on any system):
List my SAP systems, log in to DEV and show me the source of class CL_ABAP_CHAR_UTILITIES.
A browser window opens for the SSO login (tick "stay signed in" and later logins are silent); the model then calls listSystems, searchObject and getObjectSource, and the reply names your destinations and ends with the class source. The host asks before running a tool you have not approved permanently: that dialog is a courtesy of the host, the policy block is the guarantee. If the server does not appear in the host, Troubleshooting names the log to read.
Two things worth knowing before the first edit:
kind: "policyDenied", Policy: setObjectSource blocked on destination PRD (readOnly).objectDiff and revisions show it, and nothing leaves DEV without a transport release you approve.The same file with a production entry and an on-prem entry (systems.example.json has every option):
{
"DEV": { "url": "https://myXXXXXX.s4hana.cloud.sap", "client": "080", "authType": "sso", "default": true, "policy": { "allowedPackages": ["Z*"] } }, "PRD": { "url": "https://myYYYYYY.s4hana.cloud.sap", "client": "100", "authType": "sso", "policy": { "readOnly": true, "allowDataPreview": false, "deniedTools": ["exportPackageSources"] } }, "ONPREM": { "url": "https://sap.example.com:44300", "client": "100", "authType": "basic", "user": "DEVELOPER", "password": "${env:ONPREM_PASSWORD}", "policy": { "allowedPackages": ["Z*", "$*"] }, "tls": { "ca": "/etc/ssl/corp-ca.pem" } } }
PRD is its minimum policy: readOnly refuses every write, whatever the model is asked; allowDataPreview: false keeps table data closed even where the environment opens it for other destinations; deniedTools closes exportPackageSources, the one read that copies whole packages to disk.${env:VAR} reads a secret from the environment, so it never sits in the file; add the variable where the host starts the server: -e ONPREM_PASSWORD=... on claude mcp add (or export it in the shell that starts Claude Code), a "ONPREM_PASSWORD": "..." line in the env block of Claude Desktop, which does not pass your shell environment on. A file with an inline password must be readable by you only (chmod 600 ~/.abap-adt-mcp/systems.json on macOS and Linux; on Windows your profile folder is already private); an SSO-only file needs nothing.tls.ca names a corporate CA certificate. Verification can be relaxed per destination only (insecureTls: true, announced at startup), never for the whole process."transport": "rfc" and an rfc block, and install the SAP NetWeaver RFC SDK, which you download from SAP with your own S-user because SAP does not allow it to be bundled. docs/RFC.md has theNur der Anfang wird gezeigt; den Rest findest du im Repo