Zusammenfassung
Ein Open-Source SAP HANA MCP Server für Claude, ChatGPT und Copilot: SAPs Data Dictionary und CDS-Views als Tools, nur lesendes SQL, selbst gehostet mit Docker.
Frag einfach
Beispiel-Prompts für SAP S/4HANA (HANA SQL)
Klick auf einen Prompt, um ihn zu kopieren. In Claude, ChatGPT, Cursor, Gemini, Copilot oder OpenClaw einfügen — und gegen diesen Connector laufen lassen.
Claude ist KI und kann Fehler machen. Bitte Antworten gegenprüfen.
TL;DR: AnythingMCP ist ein Open-Source MCP-Server, der SAP HANA liest. Jede HANA-Datenbank funktioniert als einfacher Datenbank-Connector; für SAP S/4HANA gibt es einen eigenen Connector, der SAPs Data Dictionary und CDS-Views zu Tools macht, sodass das Modell weiß, was BUKRS, HSL oder VBRK bedeuten, bevor es SQL schreibt. Jede Session ist in HANA selbst schreibgeschützt, auf 1.000 Zeilen begrenzt und hat ein Timeout. Er läuft mit Docker Compose in dem Netzwerk, das HANA erreicht, und Claude, ChatGPT, Copilot, Cursor und Claude Code verbinden sich per MCP.
- 10 sap_*-Tools
- Rollen und Tool-Rechte
- Standardmäßig nur lesend
- Audit-Log
Zwei Wege, HANA zu nutzen
Datenbank-Connector (hana://) | Connector SAP S/4HANA (HANA SQL) | |
|---|---|---|
| Für | Jede SAP-HANA-Datenbank | Die HANA-Datenbank unter S/4HANA |
| Tools | Schema-, Beispiel- und Abfrage-Tools aus der Datenbank, oder eigene parametrisierte Abfragen | 10 fertige Tools: sap_guide, SAPs Dictionary, CDS-Views, Organisationsstruktur, sap_query |
| Was das Modell sieht | Tabellen- und Spaltennamen | SAPs Bezeichnungen, Währungsfelder, Code-Werte, Joins, freigegebene Views |
| Einrichtung | Connection-String und ein Benutzer | Verbindungsdaten, ein lesender Benutzer und die Grants aus der Anleitung |
Schnellstart
Auf einem Host, der den HANA-SQL-Port erreicht:
mkdir anythingmcp && cd anythingmcp
curl -fsSLo docker-compose.yml \
https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
echo 'SSRF_ALLOWED_HOSTS=hana.internal' >> .env # private Hosts werden sonst abgelehnt
docker compose up -d # → http://localhost:3000
Dann Connectors → Marketplace → SAP S/4HANA (HANA SQL), oder Add Connector → Database mit einem hana://-Connection-String für jede andere HANA-Datenbank. Das Repository sap-hana-mcp-server bündelt denselben Connector mit einem Installationsskript und einem Smoke-Test.
Connection-String
hana://host:port/?databaseName=TENANT¤tSchema=SCHEMA&sapClient=100&tls=verify
| Option | Bedeutung |
|---|---|
| host, port | Der SQL-Port der Tenant-Datenbank: 3<instance>15 für den ersten Tenant, 3<instance>41 und höher für weitere. Der Port der Systemdatenbank 3<instance>13 funktioniert mit databaseName, kann aber auf einen internen Hostnamen umleiten. |
databaseName | Tenant-Name in einem Multi-Container-System. Auch als Pfad möglich: hana://host:30013/S4P. |
currentSchema | Schema für unqualifizierte Namen, z. B. SAPHANADB oder SAPABAP1. |
sapClient | Der dreistellige SAP-Mandant. Setzt die Session-Variable CDS_CLIENT, ohne die SAPs CDS-Views keine Zeilen liefern. |
tls | verify (Standard), no-verify bei einem selbstsignierten Zertifikat, oder off. |
statementTimeout | Sekunden, bis ein Statement abgebrochen wird. Standard 60, höchstens 600. |
driver | hdb (Standard, mitgeliefert) oder hana-client. |
Benutzer und Passwort gehören in die Zugangsdaten des Connectors, verschlüsselt gespeichert, nie in die URL.
Wie Claude die Daten findet
sap_guideerklärt SAPs Datenmodell für SQL nach Themen: Grundlagen, Finanzen, Vertrieb, Bestand, Einkauf, Betrieb, Fallstricke und Abfrage-Rezepte.sap_org_structuregrenzt die Frage ein: Buchungskreise mit Währung und Geschäftsjahresvariante, Werke, Verkaufs- und Einkaufsorganisationen.sap_search_cds_viewsundsap_search_tablesfinden, wo die Daten liegen, und markieren Kompatibilitäts-Views, die einfaches SQL falsch lesen würde.sap_describe_table,sap_find_fields,sap_field_valuesundsap_table_relationsliefern Bezeichnungen, Währungsfelder, Code-Bedeutungen und Joins.sap_queryführt ein einzelnes lesendesSELECTaus.
Die Dictionary-Tools sind feste, lesende Abfragen auf SAPs eigene Tabellen (DD02L, DD03L, DD04T, DD07T, DD08L, DDHEADANNO, DDFIELDANNO). Jedes Tool und sein SQL ist auf der Seite des Connectors sichtbar.
Garantien
Die eigentliche Grenze bleiben die Datenbank-Grants: SQL wendet SAPs Anwendungsberechtigungen nicht an, also lege einen Benutzer an, der nur liest, was das Modell sehen darf. Direkter SQL-Zugriff einer Drittanwendung auf das ABAP-Schema hängt von deiner HANA-Lizenz ab: eine mit S/4HANA gebündelte Runtime-Lizenz deckt ihn meist nicht, eine Full-Use-Lizenz schon.
Treiber
AnythingMCP liefert hdb mit, SAPs reinen JavaScript-Treiber für HANA (Apache-2.0): Benutzer und Passwort, TLS, Multi-Tenant-Systeme. SAPs nativer @sap/hana-client ergänzt Kerberos, hdbuserstore und Connection-Pooling, darf aber laut Lizenz nicht weitergegeben werden; du installierst ihn in deinem eigenen Deployment und wählst ihn mit driver=hana-client oder HANA_DRIVER=hana-client. Details: SAP HANA in der AnythingMCP-Dokumentation.
Im Vergleich zu einem generischen HANA-MCP-Server
Ein generischer HANA-MCP-Server listet Schemata und führt SQL aus. Auf einem S/4HANA-System reicht das nicht: Das Modell sieht Zehntausende Tabellen mit abgekürzten Namen, Beträge ohne ihr Währungsfeld und Kompatibilitäts-Views, die falsche Summen liefern. Der S/4HANA-Connector ergänzt SAPs Data Dictionary, CDS-Views und eine Anleitung zum Datenmodell, sodass das Modell die richtige Tabelle wählt und seine Annahmen nennt. Er funktioniert außerdem aus jedem MCP-Client, mit Rollen, Audit-Log und den Garantien oben.
FAQ
Gibt es einen SAP MCP Server? Ja. AnythingMCP enthält MCP-Connectoren für SAP S/4HANA (HANA SQL und OData), S/4HANA Cloud, SAP Business One und SAP Concur, Open Source und selbst gehostet. Diese Seite behandelt den HANA-Connector; SAP mit Claude verbinden zeigt alle.
Wie fange ich mit dem HANA MCP Server an?
Starte AnythingMCP mit Docker Compose auf einem Host, der den HANA-SQL-Port erreicht, trage den Host in SSRF_ALLOWED_HOSTS ein, installiere den Connector SAP S/4HANA (HANA SQL) mit einem lesenden Datenbankbenutzer und füge den MCP-Server in deinem Client hinzu. Die Anleitung enthält das SQL für den Benutzer und seine Grants.
Kann das Modell in HANA schreiben?
Nein. Die Session ist in HANA schreibgeschützt, nur ein einzelnes SELECT läuft, Schreibzugriffe und sperrende Lesezugriffe werden abgelehnt.
Funktioniert es mit SAP ECC oder Business One? Nicht mit diesem Connector: Er liest die Tabellen und CDS-Views von S/4HANA. ECC verbindest du über die OData-Services seines SAP Gateways, Business One über seinen Service Layer.
Welche MCP-Clients funktionieren? Claude (claude.ai, Desktop und Code), ChatGPT (kostenpflichtige Tarife), GitHub Copilot, Cursor und jeder andere Client, der MCP über HTTP spricht.
Nächste Schritte
- SAP S/4HANA über SAP HANA mit Claude verbinden: die Einrichtung Schritt für Schritt, mit Beispielfragen
- SAP mit Claude verbinden: alle SAP-Wege im Überblick
- OData zu MCP: S/4HANA und ECC über das SAP Gateway
- Datenbank zu MCP: HANA neben SQL Server, PostgreSQL und Oracle
War dieser Guide hilfreich?