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
745
204
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.256
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
8
0
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.

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:

Martin1977

Sehr aktives Mitglied
1. August 2023
644
175
Weiß jemand welche KI besser läuft? Claude oder ChatGPT? Für ChatGPT habe ich nen Abo, für Claude nicht.
 

Ähnliche Themen