VOOZH about

URL: https://glama.ai/mcp/servers/marianfoo/arc-1?locale=de-DE

⇱ ARC-1 by marianfoo | Glama


ARC-1 — SAP ADT MCP-Server

ARC-1 (ausgesprochen arc one [ɑːrk wʌn]) — Ein für Unternehmen geeigneter MCP-Server für SAP ABAP-Systeme. Standardmäßig sicher, bereitstellbar auf BTP oder On-Premise und gehärtet durch eine umfassende Abdeckung mit Unit-, Integrations- und E2E-Tests.

ARC-1 verbindet KI-Assistenten (Claude, GitHub Copilot, Copilot Studio und jeden beliebigen MCP-Client) über die ADT REST API mit SAP-Systemen. Er wird als npm-Paket und Docker-Image bereitgestellt.

Vollständige Dokumentation | Einrichtungsanleitung | Tool-Referenz

Warum ARC-1?

Entwickelt für Unternehmen, die KI-gestützte SAP-Entwicklung mit Leitplanken benötigen. Inspiriert durch die Pionierarbeit von abap-adt-api, mcp-abap-adt und vibing-steampunk — ARC-1 ergänzt das, was für den produktiven Einsatz erforderlich ist:

Sicherheits- und Admin-Kontrollen

  • Standardmäßig sicher — schreibgeschützt, kein freies SQL, keine Tabellenvorschau, keine Transporte ab Werk. Verwenden Sie --profile developer oder explizite Flags, um Funktionen zu aktivieren.

  • Operation-Allowlists/Denylists — steuern Sie genau, welche Operationstypen (Lesen, Schreiben, Suchen, Abfragen, Aktivieren, Transportieren) erlaubt sind.

  • Paketbeschränkungen — begrenzen Sie KI-Schreiboperationen (Erstellen, Aktualisieren, Löschen) auf bestimmte Pakete mit Platzhaltern (--allowed-packages "Z*,$TMP"). Leseoperationen sind nicht paketbeschränkt — nutzen Sie die native SAP-Autorisierung für die Zugriffskontrolle auf Leseebene.

  • Datenzugriffskontrolle — aktivieren Sie die Tabellendatenvorschau (--block-data=false) oder freies SQL (--block-free-sql=false).

  • Transportsicherheit — erfordern Sie Transportzuweisungen, beschränken Sie auf bestimmte Transporte oder machen Sie Transporte schreibgeschützt. Update-/Löschoperationen verwenden automatisch die Korrekturnummer, wenn kein expliziter Transport angegeben ist.

  • Sicherheitsprofile — vorkonfigurierte Rollen: viewer, viewer-data, viewer-sql, developer, developer-data, developer-sql.

  • Schreibzugriffe auf $TMP beschränkt, wenn aktiviert — nur lokale/temporäre Objekte; das Schreiben in transportierbare Pakete erfordert explizite --allowed-packages.

Authentifizierung

  • API-Schlüssel — einfaches Bearer-Token für interne Bereitstellungen.

  • OIDC / JWT — Entra ID, Keycloak oder jeder OpenID Connect-Anbieter.

  • OAuth 2.0 — browserbasierter Login für BTP ABAP Environment.

  • XSUAA — native SAP BTP-Authentifizierung mit automatischem Token-Proxy für MCP-Clients.

  • Principal Propagation — Benutzeridentität wird über den Cloud Connector weitergeleitet (jede SAP-Aktion wird als der tatsächliche Benutzer ausgeführt, nicht als technisches Konto).

BTP Cloud Foundry-Bereitstellung

Stellen Sie ARC-1 als Cloud Foundry-App auf SAP BTP mit vollständiger Plattformintegration bereit:

  • Destination Service — Verbindung zu SAP-Systemen über verwaltete Destinations.

  • Cloud Connector — Erreichen von On-Premise-Systemen über den Connectivity-Proxy.

  • Principal Propagation — Benutzeridentität wird Ende-zu-Ende über X.509-Zertifikate weitergeleitet.

  • XSUAA OAuth-Proxy — MCP-Clients authentifizieren sich über Standard-OAuth, ARC-1 übernimmt den BTP-Token-Austausch.

  • Audit-Logging — strukturierte Ereignisse an stderr, Datei oder BTP Audit Log Service.

Token-Effizienz

  • 11 intent-basierte Tools (~5K Schema-Token) statt 200+ individueller Tools — hält das Kontextfenster des LLM klein.

  • Lesen/Bearbeiten auf Methodenebene — Lesen oder Aktualisieren einer einzelnen Klassenmethode, nicht der gesamten Quelle (bis zu 20x weniger Token).

  • KontextkomprimierungSAPContext gibt öffentliche API-Verträge aller Abhängigkeiten in einem Aufruf zurück (7-30x Komprimierung).

Integriertes Objekt-Caching

  • Automatisches Quell-Caching — jedes gelesene SAP-Objekt wird im Speicher (stdio) oder in SQLite (http-streamable) zwischengespeichert. Wiederholte Lesezugriffe erfolgen sofort, ohne SAP aufzurufen.

  • Abhängigkeitsgraph-CachingSAPContext Abhängigkeitsauflösung basierend auf Quell-Hash; unveränderte Objekte überspringen bei nachfolgenden Durchläufen alle ADT-Aufrufe.

  • Pre-warmer — starten Sie mit ARC1_CACHE_WARMUP=true, um alle benutzerdefinierten Objekte beim Start vorab zu indizieren, was die umgekehrte Abhängigkeitssuche ermöglicht (SAPContext(action="usages")).

  • Schreib-Invalidierung — wenn SAPWrite ein Objekt ändert, wird dessen Cache-Eintrag automatisch gelöscht; der nächste Lesezugriff holt die frische Quelle.

Siehe docs/caching.md für die vollständige Dokumentation.

Tests

  • 1.367+ Unit-Tests (53 Unit-Test-Dateien, gemocktes HTTP).

  • ~160 Integrationstests gegen Live-SAP-Systeme, mit expliziten Gründen für das Überspringen, wenn Anmeldeinformationen oder Fixtures fehlen.

  • ~70 E2E-Tests, die echte MCP-Tool-Aufrufe gegen einen laufenden ARC-1-Server und ein Live-SAP-System ausführen.

  • CRUD-Lebenszyklus und BTP-Smoke-Lanes enthalten (test:integration:crud, test:integration:btp:smoke).

  • CI-Matrix auf Node 22 und 24; Integration + E2E laufen bei push auf main und internen PRs.

  • Zuverlässigkeits-Telemetrie + Abdeckung veröffentlicht als informative CI-Signale (nicht blockierend).

Tools, verfeinert für den realen Einsatz

Die 11 Tools wurden basierend auf echtem LLM-Interaktionsfeedback entwickelt:

Tool

Was es tut

SAPRead

Liest ABAP-Quellcode, Tabellendaten, CDS-Views, Metadaten-Erweiterungen (DDLX), Service-Bindings (SRVB), Nachrichtenklassen, BOR-Objekte, bereitgestellte UI5/Fiori-Apps (BSP, BSP_DEPLOY). Strukturiertes Format für Klassen gibt Metadaten + zerlegte Includes als JSON zurück

SAPSearch

Objektsuche + Volltext-Quellcodesuche im gesamten System

SAPWrite

Erstellen/Aktualisieren/Löschen von ABAP-Quellcode und DDIC-Metadaten mit automatischem Sperren/Entsperren (PROG, CLAS, INTF, FUNC, INCL, DDLS, DDLX, BDEF, SRVD, DOMA, DTEL). Stapelerstellung für Multi-Objekt-Workflows (z. B. RAP-Stack oder Domäne+Datenelement in einem Aufruf)

SAPActivate

Aktiviert ABAP-Objekte — einzeln oder im Stapel (wesentlich für RAP-Stacks). Veröffentlichen/Aufheben der Veröffentlichung von OData-Service-Bindings (SRVB)

SAPNavigate

Gehe-zu-Definition, Referenzen finden, Code-Vervollständigung

SAPQuery

Führt ABAP SQL mit Vorschlägen bei nicht gefundenen Tabellen aus

SAPTransport

CTS-Transportmanagement (auflisten, erstellen, freigeben)

SAPContext

Komprimierter Abhängigkeitskontext — ein Aufruf ersetzt N SAPRead-Aufrufe

SAPLint

Lokaler ABAP-Lint (systembewusste Presets, automatische Korrektur, Validierung vor dem Schreiben)

SAPDiagnose

Syntaxprüfung, ABAP Unit-Tests, ATC-Codequalität, Short Dumps, Profiler-Traces

SAPManage

Funktionsprüfung — erkennt, was das System unterstützt, bevor gehandelt wird

Tool-Definitionen passen sich automatisch an das Zielsystem an (BTP vs. On-Premise), entfernen nicht verfügbare Typen und passen Beschreibungen an, sodass das LLM niemals nicht unterstützte Operationen versucht.

Funktionserkennung

ARC-1 prüft das SAP-System beim Start und passt sein Verhalten an:

  • Erkennt HANA, abapGit, RAP/CDS, AMDP, UI5 und Transportverfügbarkeit.

  • Erkennt automatisch BTP- vs. On-Premise-Systeme.

  • Ordnet das SAP_BASIS-Release der korrekten ABAP-Sprachversion zu.

  • Jede Funktion kann erzwungen ein-/ausgeschaltet oder auf automatischer Erkennung belassen werden.

Related MCP server: SAP ERP MCP Server by CData

Schnellstart

npx arc-1@latest --url https://your-sap-host:44300 --user YOUR_USER

Für Docker, BTP-Bereitstellung, Client-Konfiguration (Claude Desktop, Claude Code, VS Code, Copilot Studio) und alle Authentifizierungsmethoden siehe die Einrichtungsanleitung.

Dokumentation

Die vollständige Dokumentation finden Sie unter marianfoo.github.io/arc-1.

Anleitung

Beschreibung

Einrichtungsanleitung

Bereitstellungsoptionen, Authentifizierungsmethoden, Client-Konfiguration

Tool-Referenz

Vollständige Referenz für alle 11 Tools

Architektur

Systemarchitektur mit Diagrammen

Docker-Anleitung

Referenz zur Docker-Bereitstellung

Unternehmens-Authentifizierung

Alle Authentifizierungsmethoden

BTP-Bereitstellung

Cloud Foundry-Bereitstellung auf SAP BTP

KI-Nutzungsmuster

Agent-Workflow-Muster und Best Practices

Entwicklung

npm ci && npm run build && npm test

Siehe CLAUDE.md für die Codebasis-Struktur, Testbefehle und Richtlinien für Beiträge.

Credits

Projekt

Autor

Beitrag

vibing-steampunk

oisee

Ursprünglicher Go MCP-Server — ARC-1s Ausgangspunkt

abap-adt-api

Marcello Urbani

TypeScript ADT-Bibliothek, definitive API-Referenz

mcp-abap-adt

Mario Andreschak

Erster MCP-Server für ABAP ADT

abaplint

Lars Hvam

ABAP-Parser/Linter (verwendet via @abaplint/core)

Lizenz

MIT

A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
1hResponse time
1dRelease cycle
47Releases (12mo)
Commit activity
Issues opened vs closed

Latest Blog Posts

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/marianfoo/arc-1'

If you have feedback or need assistance with the MCP directory API, please join our Discord server