Open Beta: MCP-Server von JTL verbindet euer ERP mit Claude und ChatGPT

Sarah C

Administrator
Mitarbeiter
7. Juni 2023
18
28
Hallo zusammen,

ab sofort läuft die Open Beta des MCP-Servers von JTL. Damit verbindet ihr einen KI-Assistenten wie Claude oder ChatGPT mit eurem ERP (ehem. JTL-Wawi). Statt in Listen und Filtern zu suchen, fragt ihr im Chat nach Aufträgen, Kunden, Artikeln, Bestand, Einkauf oder Rechnungen.

Was ist MCP?
MCP (Model Context Protocol) ist ein offener Standard, über den KI-Assistenten auf andere Software zugreifen. Der MCP-Server von JTL ist die Schnittstelle auf unserer Seite. Ihr richtet die Verbindung einmal ein und meldet euch mit eurem JTL-Account an. Danach kann euer Assistent mit euren ERP-Daten arbeiten, auch zusammen mit anderen Tools, die ihr dort schon angebunden habt.

Was ihr im Chat machen könnt
  • Aufträge und Versand: Status eines Auftrags abfragen, versandbereite Aufträge anzeigen, bezahlte Aufträge finden, die noch nicht raus können, samt Grund
  • Kunden: Kunden finden, dazu ihre Aufträge und offenen Rechnungen
  • Artikel, Preise und Bestand: Bestand je Artikel und Variante, Renner und Penner, Lücken in den Stammdaten
  • Einkauf: offene Lieferantenbestellungen und der Nachbestellvorschlag aus eurem ERP
  • Änderungen: Aufträge, Kunden und Artikel anlegen, Artikel und Preise ändern, Aufträge stornieren

Drei Fragen für den Anfang:
  • „Wie ist der Status von Auftrag 10452?“
  • „Welche bezahlten Aufträge können noch nicht raus, und warum?“
  • „Welche Artikel sind in den nächsten zwei Wochen ausverkauft?“

Was ihr braucht
  • ERP ab Version 2.2, on premise oder in der Cloud. Auf einer älteren Version steht zuerst das Update an.
  • Euren JTL-Account für die Anmeldung
  • Einen KI-Assistenten mit MCP-Unterstützung (z.B. Claude oder ChatGPT) und einen eigenen Account dort. Ob ihr eigene Connectoren hinzufügen könnt, hängt von eurem Tarif und den Einstellungen eures Workspaces ab.

Kosten
Die Open Beta ist kostenfrei. Die Preise geben wir vor dem Go-live bekannt.


So richtet ihr den MCP-Server ein:

Claude (claude.ai und Claude Desktop):
  1. Öffnet die Einstellungen, geh zu “Connectors” und wählt “Add custom connector”.
  1. Fügt die Server-Adresse ein und speichert: https://mcp.jtl-cloud.com/mcp
  1. Klickt auf “Connect”, meldet euch mit eurem JTL-Account an und bestätigt mit “Authorize”.
ChatGPT:
  1. Öffnet die Einstellungen, geht zu "Apps & Connectors" und wählt “Create connector”. Je nach Tarif schaltet ihr dafür zuerst den Entwicklermodus ein.
  1. Fügt die Server-Adresse ein und wählt OAuth als Anmeldung: https://mcp.jtl-cloud.com/mcp
  1. Meldet euch mit eurem JTL-Account an und bestätige mit Authorize.

Weitere Informationen im JTL Guide.
 

Morimus

Sehr aktives Mitglied
16. Mai 2019
748
206
Workflows auslösen funktioniert.
Wer iOS 27 nutzt und die JTL-App vermisst, könnte seine Workflows künftig einfach über ChatGPT oder Claude ausführen lassen.
 
  • Gefällt mir
Reaktionen: mvh

PascalBaumann

Neues Mitglied
7. September 2026
15
2
Ach cool endlich was mit KiUser.com schon ging.
Finde ich gut. Werde ich direkt einmal testen. Wie kann man Berechtigungen einstellen, also dass der Einkauf andere Dinge erledigen kann als der Vertrieb?
 

John

Sehr aktives Mitglied
3. März 2012
4.258
1.106
Berlin
Wie ist das technisch realisiert bzw. kann man das ganze auf reinen Lesezugriff beschränken?
Oder bekommt die KI via MCP vollen Zugriff auf die komplette WAWI-API?
 
  • Gefällt mir
Reaktionen: PascalBaumann

PascalBaumann

Neues Mitglied
7. September 2026
15
2
@John
Ich habe den JTL MCP Server gerade mit Claude verbunden.
Ich habe keine Möglichkeit gefunden Berechtigungen einzustellen.
Soweit ich das sehe ist es also derzeit so, dass man nicht unterschiedlichen Abteilungen oder Mitarbeitern unterschiedliche Rechte geben kann.
 

PascalBaumann

Neues Mitglied
7. September 2026
15
2
Hier eine gute Übersicht über alle einzelnen Tools inklusive Einschätzungen wie gut sie sind: JTL MCP - Testbericht

Habe mir den selbst den JTL MCP mal angeschaut. Sollte ich hier etwas übersehen haben und was falsches sagen, korrigiert mich gerne.

🟢 Vorteile:
• ✨ Voller Funktionsumfang: Alles, was die API kann, ist direkt über den MCP-Server steuerbar
.• 🎁 Kostenlos in der Beta: Aktuell ohne zusätzliche Lizenzkosten nutzbar.

🔴 Nachteile
:• ⚠️ Keine Berechtigungen: Jeder mit Zugriff auf den MCP-Server kann alles tun (Finde ich zu riskant für Unternehmen mit mehr als 1 Mitarbeiter).
• 🚫 Fehlende Sicherheitsnetze: Bei Schreibzugriffen gibt es keinen Dry-Run, keine Vorschau, kein automatisches Backup und keine Undo-Funktion.
• 🧩 Eingeschränkter Scope: Nur reine JTL-Abfragen – keine Anbindung von Marktplatzbestellungen, E-Mails, FTP-Servern, Sanktionslisten etc.
 
Zuletzt bearbeitet:

agrestic

Aktives Mitglied
21. Juli 2022
9
3
Hallo zusammen,
Endlich! Ein Gamechanger! Aber es gibt noch einiges zu verbessern. Ich teste den MCP-Server mit Claude an einer Wawi 2.2.2. Wir sind B2B-Hersteller und verkaufen viel über Konfigurationsartikel. Das Lesen funktioniert schon richtig gut, z. B. die Duplikatprüfung vor der Auftragsanlage oder die Kunden- und Artikelsuche. Beim Anlegen von Kundenaufträgen aus PDF-Bestellungen sind mir aber einige Punkte aufgefallen. Alle sind an einem Testauftrag nachvollzogen.

1. USt-IdNr. des Kunden wird nicht in den Auftrag übernommen (für B2B am wichtigsten)
erp_create_order übernimmt die Standardadresse des Kunden. Die im Kundenstamm hinterlegte USt-IdNr. landet aber nicht in der Rechnungs- und Lieferadresse des Auftrags. Bei innergemeinschaftlichen Lieferungen hängt davon die steuerfreie Rechnung ab. Per GraphQL CreateSalesOrder lässt sie sich im Adressobjekt setzen, das Tool tut es aber nicht.

2. Missverständliches Feld vatId beim Lesen
erp_get_sales_document liefert im Auftragskopf vatId. Das ist die eigene USt-IdNr. (in der Wawi „Eigene USt-IdNr.“), nicht die des Kunden. billingAddress und shipmentAddress geben keine USt-IdNr. aus. Ein KI-Assistent liest das zwangsläufig als Kunden-USt-IdNr. Vorschlag: das Feld z. B. companyVatId nennen und die USt-IdNr. in den Adressobjekten mit ausgeben.

3. Konfigurationsartikel/Unterpositionen nicht anlegbar
CreateSalesOrder nimmt configurationItemType (CONFIGURATION_ITEM/COMPONENT) an, die Positionen werden aber flach angelegt (Parent = null). UpdateSalesOrder mit parentSalesOrderLineItemId auf die Kopfposition meldet Erfolg und ändert nichts. Das ist auch dann so, wenn Typ und Steuersatz der Positionen korrekt sind. Bei manuell in der Wawi angelegten Konfigurationen liefert die API die Parent-ID korrekt, nur das Schreiben klappt nicht.
Vorschlag: eine temporäre Referenz (z. B. Positionsindex) für die Parent-Child-Beziehung beim Create, und eine Fehlermeldung statt stillem Ignorieren.

4. Ohne explizites type: ITEM werden Freipositionen mit 0 % MwSt. angelegt
Übergibt man in CreateSalesOrder nur itemId und sku, entsteht eine Freiposition (type: CUSTOM) mit 0 % MwSt. Mit type/lineItemType: ITEM und taxRate direkt beim Create klappt es. Ein späteres UpdateSalesOrder korrigiert Typ und Steuersatz dagegen nicht.
Vorschlag: Bei gesetzter itemId sollten standardmäßig ITEM und der Steuersatz aus dem Artikel gelten. Eine Freiposition mit Artikel-ID und 0 % MwSt. führt sonst leicht zu falschen Rechnungen.

5. Versandkosten nur als explizite Position
shippingMethodId setzt nur die Versandart. Die Kostenposition entsteht nicht automatisch wie in der Oberfläche. Übergibt man sie explizit als Position mit type: SHIPPING, funktioniert es.

6. erp_create_order nutzt den Funktionsumfang von CreateSalesOrder nicht
Externe Auftragsnummer und Datum, Liefertermin, Zahlungsziel mit Skonto, Versandart und die USt-IdNr. in der Adresse lassen sich per GraphQL setzen und kommen korrekt an. Das vereinfachte Tool bietet dafür keine Parameter. Gerade diese Felder stehen in praktisch jeder B2B-Bestellung.

7. HTTP 500 bei der Schema-Suche
erp_search_graphql_schema mit dem Keyword vatId lieferte „GraphQL request failed (HTTP 500)“, Trace-ID fee08dfffc03e6441e08b5546f59995f (12.11.2026, ca. 22:08 Uhr MEZ).

8. erp_create_record kann keinen Array-Body senden
POST /v2/sales-orders/{id}/line-items erwartet ein Array. Das MCP-Tool nimmt nur ein Objekt an, die Wawi lehnt das mit „lineItems field is required“ ab (Trace-ID 6b75fb8d7d5f4200367e172b511ef3bc). Positionen lassen sich so per REST nicht ergänzen.

9. Lieferscheine: Positions-Hinweis über die API nicht lesbar
Wir pflegen (noch) keine Chargen in der Wawi und schreiben die Chargennummern beim Erstellen des Lieferscheins ins Hinweisfeld der Positionen. Den Inhalt möchte ich mit der KI aber auslesen können. Dieses Feld kommt über die API aber leider nicht heraus: GraphQL DeliveryNoteLineItem und REST delivery_notes.line_items liefern nur id, deliveryNoteId, salesOrderLineItemId und quantity. sales_orders.line_items hat zwar notice, das ist aber der Hinweis der Auftragsposition. Die v1-Lieferscheinliste (DeliveryNote_QueryDeliveryNotesAsync) ist als draft gesperrt. GET /v2/packages/{id}/order-data bricht mit HTTP 400 ab („The DbContextOptions passed to the OrderDataFromPackageDbContext constructor must be a DbContextOptions<OrderDataFromPackageDbContext>…“,
Vorschlag: den Hinweis der Lieferscheinposition (und den des Lieferscheinkopfs) in DeliveryNoteLineItem bzw. delivery_notes.line_items mit ausgeben.

Zusammengefasst: erp_create_order liefert korrekte Positionen, aber zu wenige Kopfdaten. CreateSalesOrder liefert alle Kopfdaten, aber fehlerhafte Positionen. Eine Kombination aus beidem plus Konfigurationsartikeln wäre für B2B-Anwender ideal.


Gerne teste ich weiter und gebe Rückmeldung. Danke für die Arbeit am MCP-Server, das Potenzial ist enorm!

Viele Grüße
 
Zuletzt bearbeitet:

bauschnell

Aktives Mitglied
16. Januar 2023
28
4
Mit ist gerade aufgefallen, dass der MCP Server probleme hatte generierte Bilder über den MCP hochzuladen. Hat hier jemand eine lösung?

1794558248616.png
 

salepix.de

Offizieller Service Partner
SPBanner
17. Januar 2013
535
63
Monheim / Köln
Firma
SALEPIX GmbH
Wir haben eine Lösung für JTL-Shop, JTL-Wawi, Google Analytics, Google Ads und Google Search-Console. DSGVO Sicher und mit Benutzer-Rechten. Tägliches arbeiten ohne API und NICHT direkt per SQL! Wünsche der User sind gern willkommen! 14 Tage testen und begeistert sein! Claude oder ChatGTP (mit MCP-Funktion) und los gehts! KEINE Abhängigkeiten von Wawi 2.2.2 oder API! Somit sind wirklich komplexe übergreifende Aufgabe möglich. Bereits über 70 Firmen an Board! https://gate.salepix.com/
 

agrestic

Aktives Mitglied
21. Juli 2022
9
3
Ich habe den JTL-MCP-Server erfolgreich mit Mistral AI verbunden. Die Einrichtung verlief bei mir völlig problemlos, einfach bei den Konnektoren die Server-URL https://mcp.jtl-cloud.com/mcp eingeben und die Authentifizierung mit OAuth durchführen.

Mistral ist ein französisches Unternehmen, und die Verarbeitung erfolgt in EU-Rechenzentren. Kundendaten aus der Wawi verlassen die EU damit nicht. Bei US-Anbietern wie ChatGPT oder Claude sieht es anders aus: Die Daten werden in den USA verarbeitet, es liegt also ein Drittlandtransfer nach Art. 44 ff. DSGVO vor. Hinzu kommt: US-Anbieter können über den CLOUD Act zur Herausgabe von Daten an US-Behörden verpflichtet werden.

Für den Einsatz mit echten Kundendaten ist ein EU-Anbieter für mich daher die klar sicherere Wahl.

@Jtl-Team, bitte nehmt Mistral doch noch in die Anleitung mit auf.
 

Ähnliche Themen