SAP ADT MCP Server
SAP ADT MCP Server
MCP-Server für die SAP ABAP Development Tools (ADT) REST-API. Ermöglicht KI-Assistenten das Lesen, Erstellen und Ändern von ABAP-Quellcode, das Inspizieren von DDIC-Objekten, das Ausführen von SQL-Abfragen, das Verwalten von Transporten, das Analysieren von Traces, das Abrufen von Short Dumps, das Steuern des Debuggers und mehr – über mehrere SAP-Systeme hinweg von einer einzigen Serverinstanz aus.
Tools (66)
Quellcode & DDIC (11)
Tool | Beschreibung | Eingabe |
| ABAP-Programm/Report-Quellcode abrufen |
|
| ABAP-Klassen-Quellcode abrufen |
|
| Funktionsbaustein-Quellcode abrufen |
|
| Funktionsgruppen-Quellcode abrufen |
|
| ABAP-Include-Quellcode abrufen |
|
| ABAP-Interface-Quellcode abrufen |
|
| CDS-View-DDL-Quelle abrufen |
|
| DDIC-Strukturdefinition abrufen |
|
| ABAP-Datenbanktabellendefinition abrufen |
|
| DDIC-Datenelementdefinition abrufen |
|
| DDIC-Domänendefinition abrufen |
|
Repository & Suche (3)
Tool | Beschreibung | Eingabe |
| ABAP-Objekte nach Namensmuster suchen (Platzhalter unterstützt) |
|
| Transaktionsdetails abrufen (Paket, App-Komponente) |
|
| Paketinhalt abrufen (Objekte mit Typen/Beschreibungen) |
|
Erstellen, Ändern & Ausführen (12)
Tool | Beschreibung | Eingabe |
| Programm erstellen, Quellcode schreiben und aktivieren |
|
| Bestehendes Programm ändern (sperren, schreiben, aktivieren, entsperren) |
|
| Klasse erstellen, Quellcode schreiben und aktivieren |
|
| Bestehende Klasse ändern (sperren, schreiben, aktivieren, entsperren) |
|
| Interface erstellen, Quellcode schreiben und aktivieren |
|
| Bestehendes Interface ändern (sperren, schreiben, aktivieren, entsperren) |
|
| CDS-View erstellen, Quellcode schreiben und aktivieren |
|
| Bestehende CDS-View ändern (sperren, schreiben, aktivieren, entsperren) |
|
| Programm ausführen und WRITE-Ausgabe zurückgeben |
|
| ABAP-SQL-Abfrage ausführen und Ergebnisse als Tabelle zurückgeben |
|
| ST22-Short-Dumps für ein Datum abrufen |
|
| CSRF-Token und Session-Cookie abrufen | (keine) |
Transportverwaltung (7)
Tool | Beschreibung | Eingabe |
| Alle änderbaren Transporte für den aktuellen Benutzer auflisten | (keine) |
| Vollständige Transportdetails abrufen (Aufgaben, Objekte, Status) |
|
| Transportanforderungen für ein Objekt prüfen |
|
| Neuen Transportauftrag erstellen |
|
| Transport für Import freigeben |
|
| Transportauftrag löschen |
|
| SAP-Systembenutzer auflisten | (keine) |
SAT-Trace (7)
Tool | Beschreibung | Eingabe |
| ABAP-Laufzeittraces (SAT/SE30) auflisten |
|
| Performance-Hitlist für einen Trace abrufen |
|
| Datenbankzugriffsstatistiken für einen Trace abrufen |
|
| Aufrufbaum auf Statement-Ebene für einen Trace abrufen |
|
| Laufzeittrace löschen |
|
| Trace-Sammlungskonfiguration erstellen |
|
| Trace-Konfiguration löschen |
|
ST05 Performance-Trace (3)
Tool | Beschreibung | Eingabe |
| SQL/Buffer/RFC/Auth-Trace für einen Benutzer aktivieren |
|
| Alle aktiven Performance-Traces deaktivieren | (keine) |
| Aktive Trace-Typen, Benutzerfilter und Serverinformationen abrufen | (keine) |
Cross-Trace (5)
Tool | Beschreibung | Eingabe |
| Cross-Trace für RAP, OData, SADL, BAdI, Gateway aktivieren |
|
| Cross-Trace-Aktivierung deaktivieren |
|
| Aktive Cross-Trace-Aktivierungen auflisten | (keine) |
| Erfasste Cross-Trace-Ergebnisse auflisten |
|
| Detaillierte Datensätze für einen Cross-Trace abrufen |
|
Service-Binding (3)
Tool | Beschreibung | Eingabe |
| OData-Service-Binding-Details abrufen |
|
| OData-Service-Binding veröffentlichen |
|
| OData-Service-Binding zurückziehen |
|
Debugger (14)
Tool | Beschreibung | Eingabe |
| Debugger-Listener starten (öffnet zustandsbehaftete Sitzung) |
|
| Listener stoppen und Debug-Sitzung schließen |
|
| Prüfen, ob eine Debugger-Sitzung angehängt ist |
|
| Breakpoint an einer Quellcode-Position setzen |
|
| Breakpoint entfernen |
|
| An eine laufende ABAP-Debug-Sitzung anhängen |
|
| Aktuellen Aufrufstapel abrufen | (keine) |
| Variablenwerte abrufen |
|
| Untergeordnete/verschachtelte Variablenwerte abrufen |
|
| Variablenwert während des Debuggens setzen |
|
| Einzelschritt/Überspringen/Rückkehr/Fortsetzen/Beenden |
|
| Zu einem Stack-Frame navigieren |
|
| Watchpoint auf eine Variable setzen (Pause bei Wertänderung) |
|
| Alle aktiven Watchpoints auflisten | (keine) |
Multi-System (1)
Tool | Beschreibung | Eingabe |
| Alle konfigurierten SAP-Systeme mit IDs, Hostnamen und Mandanten auflisten | (keine) |
Alle Tools akzeptieren einen optionalen system_id-Parameter, um ein spezifisches SAP-System anzusprechen. Wenn weggelassen, wird das Standard-System (das erste konfigurierte) verwendet.
Voraussetzungen
Node.js v18 oder höher
SAP-Benutzer mit S_ADT_RES-Berechtigung für den Zugriff auf ADT-Ressourcen
ICF-Services unter
/sap/bc/adt/aktiviert (über TransaktionSICF)Rolle SAP_BC_DWB_ABAPDEVELOPER oder gleichwertig
Installation
git clone https://github.com/ethanhan2014/sap-adt-mcp.git
cd sap-adt-mcp
npm install
npm run buildKonfiguration
Option 1: Einzelnes System über .env
cp .env.example .envBearbeiten Sie .env mit Ihren SAP-Systemverbindungsdetails:
SAP_HOSTNAME=your-sap-host.example.com
SAP_SYSNR=50
SAP_USERNAME=YOUR_USER
SAP_PASSWORD=YOUR_PASSWORD
SAP_CLIENT=001
SAP_LANGUAGE=ENVariable | Beschreibung | Beispiel |
| SAP-System-Hostname |
|
| Systemnummer (Port = |
|
| SAP-Benutzer |
|
| SAP-Passwort |
|
| SAP-Mandant |
|
| Anmeldesprache (Standard: |
|
Option 2: Mehrere Systeme über systems.json
Erstellen Sie systems.json im Projektstammverzeichnis (siehe systems.json.example):
[
{
"id": "DEV",
"hostname": "dev-system.sap.com",
"sysnr": "50",
"client": "001",
"username": "YOUR_USER",
"password": "YOUR_PASSWORD",
"language": "EN"
},
{
"id": "QA",
"hostname": "qa-system.sap.com",
"sysnr": "00",
"client": "001",
"authType": "certificate",
"certThumbprint": "YOUR_CERT_THUMBPRINT",
"language": "EN"
}
]Wenn systems.json vorhanden ist, wird .env für die Systemkonfiguration ignoriert. Das erste System ist das Standard-System. Verwenden Sie system_id bei jedem Tool-Aufruf, um ein spezifisches System anzusprechen.
Unterstützte Authentifizierungstypen:
basic (Standard) — Benutzername/Passwort
certificate — X.509-Client-Zertifikat über
certThumbprint
Verwendung
Claude Code
Zu ~/.claude.json hinzufügen:
{
"mcpServers": {
"sap-adt": {
"command": "node",
"args": ["/path/to/sap-adt-mcp/dist/index.js"]
}
}
}Cline (VS Code)
Zu den Cline-MCP-Einstellungen (cline_mcp_settings.json) hinzufügen:
{
"mcpServers": {
"sap-adt": {
"command": "node",
"args": ["/path/to/sap-adt-mcp/dist/index.js"],
"disabled": false,
"autoApprove": []
}
}
}Standalone
npm startEntwicklung (mit MCP Inspector)
npx @modelcontextprotocol/inspector node dist/index.jsTech-Stack
TypeScript + Node.js
MCP SDK (
@modelcontextprotocol/sdk)Axios für HTTP
SAP ADT REST-API über HTTPS mit Basic Auth oder X.509-Zertifikat
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
MCP server for AI access to Swagger by SmartBear.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ethanhan2014/sap-adt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server