|
Description & Fonctionnalités
MCP-Server für Dolibarr mit KI-Studio: 18 Werkzeuge, 33 Modelle, OAuth 2.1, React-Anwendungen, ECharts-Diagramme und Modulbaukasten
Schließen Sie einen KI-Assistenten an Ihr Dolibarr an — Claude, ChatGPT, Cursor, VS Code oder jeden Client, der das Model Context Protocol spricht — und lassen Sie ihn in Ihren Daten arbeiten wie ein Kollege, dem Sie ein Konto gegeben haben. Das Modul bringt einen vollständigen MCP-Server (JSON-RPC 2.0 über Streamable HTTP, OAuth 2.1 mit PKCE), 18 Werkzeuge für Lesen, Schreiben, Quelltext und Bauen, sowie 33 Dolibarr-Datenmodelle, die es auswendig kennt — vom Angebot bis zur Zahlung. Dazu ein Studio für das, was der Assistent danach baut: React-Web-Anwendungen, ECharts-Diagramme und ganze Dolibarr-Module, als Zip geliefert. Der Punkt, um den sich alles dreht: ein Assistent handelt im Namen der Person, die zugestimmt hat, und sieht nie mehr als sie.
Für wen? Geschäftsführer, die ihren Zahlen lieber eine Frage stellen als zehn Listen zu öffnen, Buchhalter, die offenen Rechnungen nachgehen, Vertriebsleute, die ihre Vorgänge verfolgen, Projektleiter, Lagerleute — und Integratoren, die Übersichten, Kundenportale und Dolibarr-Module bauen wollen, ohne bei null anzufangen. Ein angeschlossener Assistent oder zwanzig: das Prinzip bleibt dasselbe.
Ein vollständiger MCP-Server in Dolibarr
- MCP-Protokoll Version 2026-07-28, das weiterhin auf 2025-06-18, 2025-03-26 und 2024-11-05 antwortet: heutige wie gestrige Clients schließen sich ohne Änderung an.
- JSON-RPC 2.0 über Streamable HTTP: initialize, ping, tools/list, tools/call, prompts/list, prompts/get, resources/list, resources/read, Benachrichtigungen und Sammelaufrufe.
- OAuth 2.1 mit PKCE S256, Ressourcenangaben, dynamische Client-Eintragung (RFC 7591), Server- (RFC 8414) und Ressourcenbeschreibung (RFC 9728), Rückgabe von Token (RFC 7009).
- Eine Zustimmungsseite im Klartext: bevor jemand zustimmt, liest er die Liste der Werkzeuge, die der Assistent benutzen können wird, wie viele davon nur lesen, wie viele etwas ändern können, und was in jedem Fall gilt.
- Ein persönliches Token in einer Minute für einen Arbeitsplatz, ohne den ganzen Ablauf.
- Token werden nur als SHA-256-Fingerabdruck aufbewahrt: eine Kopie der Datenbank gibt niemandem ein brauchbares Token.
- Autorisierungscodes gelten ein einziges Mal: ein zweiter Versuch widerruft alle Token dieses Paares aus Person und Client und macht ein Abfangen wertlos. Erneuerung durch Rotation.
- HTTPS wird verlangt, außer von der Maschine selbst. Das Modul warnt von sich aus, wenn die Adresse, die es Clients nennen würde, nicht die richtige wäre.
Achtzehn Werkzeuge in vier Familien
- Lesen (6 Werkzeuge, von Anfang an an): get_context sagt, was diese Installation ist, list_models und get_model_schema beschreiben das Lesbare, search_read und read_record lesen, read_group summiert nach Gruppen.
- Schreiben (4 Werkzeuge, von Anfang an aus): create_record, update_record, delete_record und execute_method, das mit einem Datensatz tut, was Dolibarr täte — ein Angebot freigeben, eine Lieferantenbestellung genehmigen, ein Projekt schließen.
- Quelltext und Skripte (3 Werkzeuge, aus): code_search und code_read im Ordner, den der Administrator geöffnet hat, execute_script für die kleine Sprache des Moduls.
- Bauen (5 Werkzeuge, aus): manage_webapp, create_chart, manage_module, search_webapp_code und search_module_code.
- Jedes Werkzeug sagt dem Client, ob es nur liest und ob es zerstören kann, damit ein Assistent weiß, wann er vorher fragen sollte.
- Ein Werkzeug antwortet nur, wenn drei Dinge zusammenkommen: es ist an, das Konto hat das passende Dolibarr-Recht, und das Werkzeug steht ihm offen. Etwas einzuschalten kann also nie mehr geben, als Dolibarr schon gegeben hat.
- Eine Schaltfläche — « alles Schreibende ausschalten » — setzt den Server mit einem Griff zurück auf Nur-Lesen.
Dreiunddreißig Dolibarr-Datenmodelle
- Verkauf: Geschäftspartner, Kontakte, Angebote, Kundenaufträge, Kundenrechnungen, Rechnungszeilen, Verträge, Lieferungen.
- Einkauf: Lieferantenbestellungen und -rechnungen. Geld: Kunden- und Lieferantenzahlungen, Bankbuchungen, Konten, Spesenabrechnungen, Spenden.
- Produkte und Lager: Produkte und Leistungen, Bewegungen, Lager, Bestände. Projekte: Projekte, Aufgaben, aufgewendete Zeit.
- Personen: Benutzer, Mitglieder, Urlaub. Alltag: Termine, Tickets, Einsätze. Im Studio gemacht: Anwendungen, Diagramme, gebaute Module.
- Jedes Modell ist im Voraus beschrieben: seine Tabelle, sein Schlüssel, seine Mandantenspalte, seine Datumsfelder und die Arten, nach denen es gruppiert werden kann. Ein von Hand geschriebener Tabellenname führt nirgendwohin.
- Modelle, deren Dolibarr-Modul bei Ihnen aus ist, werden von selbst beiseitegelegt: der Assistent sieht nur, was es wirklich gibt.
- Nach einem Datum gruppieren, indem man datef:month, datef:quarter, datef:week schreibt — und die Ergebnisse kommen in zeitlicher Reihenfolge zurück.
- Eine Gruppierung nach fk_soc gibt den Namen des Kunden zurück, keine Zeilennummer: das Modul erkennt die Fremdschlüssel, die es zu verbinden weiß.
- Neun Modelle bleiben in jedem Fall nur lesbar — Zahlungen, Bankbuchungen, Lagerbewegungen, aufgewendete Zeit, Rechnungszeilen, Benutzer — weil Dolibarr dort eine eigene Stimmigkeit hält.
Eine kleine Sprache im Käfig, niemals PHP
- Odoo hat safe_eval; PHP hat nichts Vergleichbares. Dieses Modul ging daher den anderen Weg: es bringt seine eigene kleine Sprache mit. Kein von einem Assistenten geschriebener Code läuft je als PHP.
- Variablen, if/else, for … in, while, Listen, Tabellen, der ternäre Operator, negative Indizes, Kommentare — und etwa 75 Funktionen über Listen, Text, Zahlen, Datumsangaben und JSON.
- Lesen der Datenbank: db.select, db.first, db.count, db.group, db.fields, db.models und db.sql nur als SELECT, mit den Marken {{prefix}} und {{entity}} und einer von selbst gesetzten Grenze.
- Kein import, keine Datei, keine Shell, kein $, keine Backticks, kein eval: diese Wörter werden abgewiesen, bevor das Skript überhaupt beginnt.
- Drei Wächter zugleich: ein Schrittzähler, eine Uhr, eine Speichergrenze. Eine endlose Schleife wird dort angehalten, wo sie steht, und Dolibarr läuft weiter.
- Keine Spalte mit Passwort, Schlüssel oder Token ist lesbar, und acht ganze Tabellen sind jeder handgeschriebenen Abfrage verschlossen.
- Das Web ist unerreichbar, solange ein Administrator es nicht geöffnet und die erlaubten Hosts benannt hat. Von Haus aus ist es zu.
Baukasten für React-Web-Anwendungen
- Eine React-19-Anwendung, in Dolibarr aufbewahrt: Seiten in JSX, wiederverwendbare Bausteine, Endpunkte, gemeinsamer Stil und Code, Speicher auf dem Server.
- Die Seiten laufen im Browser; was sie aus der Datenbank brauchen, erfragen sie bei ihren eigenen Endpunkten, von denen jeder ein Skript ist, das nur lesen kann. Die Seite bleibt so frei, wie man will, die Tür bleibt schmal.
- Eine kleine Bibliothek liegt jeder Seite bei: Dolibarr.useCall (Hook mit loading, data, error), Dolibarr.call, Dolibarr.useRoute, Dolibarr.store, Dolibarr.money, Dolibarr.date und React mit seinen Hooks.
- Ein Router in zwei Spielarten, ein aus den Seiten gebautes Menü, und ein mitgeliefertes Stylesheet, damit eine Seite ohne eine Zeile CSS nach etwas aussieht.
- Eine Seite, die beim Zeichnen einen Fehler wirft, reißt die Anwendung nicht mit: der Fehler erscheint dort, wo ihn jemand lesen kann, der Rest läuft weiter.
- Teilen per Link mit Frist, jederzeit wieder zu schließen, und Installation auf dem Telefon im Vollbild.
- React und Babel kommen von einem einstellbaren CDN oder aus einer lokalen Kopie im Modul: eine Installation ohne Internet funktioniert vollständig.
Baukasten für ECharts-Diagramme
- Zwanzig Formen: Balken, Linie, gefüllte Linie, Kreis, Ring, Punktwolke, Netz, Tacho, Trichter, Wärmekarte, Flächenkarte, Sonnenrad, Fluss, Netzwerk, Kastengrafik, Kerzen, Strom, Parallelen, Baum, Bildbalken.
- Sechs Farbsätze und elf Zusätze: eine lange Reihe durchfahren, nach Wert einfärben, Werkzeugkasten, Markierungslinien und -flächen, Auswahl, Kalender, Zeitstrahl.
- Zeichnung und Zahlen bleiben getrennt: die Zeichnung ist JSON und kann von sich aus nichts; die Zahlen kommen aus einem Skript, das nur lesen kann. Beim Öffnen zusammengesetzt, sind sie immer aktuell.
- Das Modul nimmt drei Formen von Ergebnis an und erkennt, welche es bekommen hat: eine Liste von Zeilen, eine Tabelle aus Beschriftung und Zahl, oder mehrere erklärte Reihen.
- Eine von Hand geschriebene ECharts-Option wird gesäubert, bevor sie aufbewahrt wird: eine Zeichenkette, die eine Funktion sein will, ein Script-Tag, eine javascript-Adresse bleiben draußen.
- Teilen per Link, die Zahlen in einem Ausklapper darunter, und automatisches Neuzeichnen, damit ein Diagramm auf einem Werkstattbildschirm stehen kann.
- ECharts kommt von einem CDN oder aus einer lokalen Kopie, wie React.
Baukasten für Dolibarr-Module
- Beschreiben Sie ein Modul — was es enthält und was jede Sache hat — und das Studio schreibt ein ganzes Dolibarr-Modul.
- Heraus kommen: die Beschreibung, die Dolibarr liest, die SQL-Tabellen mit ihren Indizes, die Klassen, die CommonObject erweitern, die Listenseiten mit Suche, Sortierung und Blättern, die Kartenseiten mit Anlegen, Ändern und Löschen, die Menüs, die Sprachdateien und die README.
- Vierzehn Arten von Feld, vier davon echte Dolibarr-Verknüpfungen: ein Geschäftspartner, ein Benutzer, ein Projekt, ein Produkt — mit Auswahl beim Eingeben und anklickbarem Verweis beim Lesen.
- Jedes Objekt bekommt ungefragt eine nummerierte Referenz, einen Status, eine Notiz, den Urheber, die Datumsfelder und die Mandantenspalte für den Mehrfirmenbetrieb.
- Der erzeugte Code besteht php -l, installiert sich wie jedes externe Modul, legt seine Tabellen an, meldet seine Rechte an, und seine Seiten arbeiten wirklich: das ist kein Schaustück.
- Als herunterladbares Zip verpackt, damit man die Dateien vor dem Einspielen ansehen kann. Das Schreiben direkt in den Code-Ordner gibt es, bleibt aber von Haus aus aus.
- Die Modulnummer wird so gewählt, dass sie mit keinem anderen Modul der Installation zusammenstößt.
Fertige Vorlagen und Ressourcen
- Sechs mitgelieferte Vorlagen: wie der Verkauf lief, wer nicht gezahlt hat, wie das Lager aussieht, eine kleine Übersicht bauen, ein Modul bauen, aus den Daten antworten.
- Eine Vorlage ist ein Text mit Lücken, den ein Client beim Namen holt, füllt und seinem Modell vorlegt: so gibt man dem ganzen Haus bewährte Arten, etwas zu fragen.
- Weitere schreibt man in zwei Feldern: den Text mit seinen {{Lücken}} und die Liste der Lücken samt Bedeutung und Pflicht.
- Vier Ressourcen zum direkten Lesen: der Kontext der Installation, der Katalog der Modelle, der der Werkzeuge, und der Code einer Web-Anwendung.
- Der Server gibt dem Client schon beim ersten Austausch eine kurze Anleitung: mit dem Kontext beginnen, dann die Modelle, bevor irgendetwas gelesen wird. Ein Assistent, der sich daran hält, antwortet beim ersten Mal richtig.
Sicherheit: was geht und was nicht
- Er handelt nie anders als im Namen der Person, die zugestimmt hat. Jedes Token trägt einen Dolibarr-Benutzer, jede Abfrage filtert auf dessen Mandanten. Was dieses Konto nicht erreicht, erreicht der Assistent nicht.
- Er führt nie PHP aus, das ein Assistent geschrieben hat.
- Er liest nie eine Spalte mit Passwort, Schlüssel oder Token, was immer gefragt wird.
- Aus einem Skript führt er nie etwas anderes aus als ein SELECT.
- Er bewahrt von jedem Token nur einen Fingerabdruck.
- Er hält jeden Aufruf fest: nichts, was ein Assistent getan hat, bleibt hinterher unsichtbar.
- Er schreibt nichts in den Code-Ordner, solange ein Administrator das nicht ausdrücklich erlaubt hat.
- Der Server ist bei der Installation geschlossen, und wenn man ihn öffnet, sind nur die sechs lesenden Werkzeuge an. Nichts antwortet, bevor Sie entschieden haben, dass etwas antworten soll.
Verwaltung, Rechte und Einschränkungen
- Acht Dolibarr-Rechte: lesen, einen Assistenten verbinden, Anwendungen, Diagramme und Module bauen, per Link teilen, das Protokoll lesen, die Einstellungen ändern.
- Einschränkungen nehmen etwas weg: ein ganzes Modell oder ein bestimmtes Feld, beim Lesen, Schreiben oder Entfernen — für alle oder für benannte Personen und Gruppen.
- Ein vorsichtiger Satz, mit einem Klick fertig: die Werkzeuge aus Bank, Urlaub und Spesen herausgehalten und am Schreiben in Zahlungen und Benutzerkonten gehindert.
- Jedes Werkzeug öffnet sich für alle oder für eine Liste von Personen und Gruppen, unabhängig von den anderen.
- Clients lassen sich schließen oder löschen; Token einzeln widerrufen; und der ganze Server geht mit einer einzigen Einstellung aus. Alle drei wirken sofort.
- Eine Seite Dienstschlüssel bewahrt API-Schlüssel verschlüsselt auf und zeigt nie wieder mehr als ihre letzten vier Zeichen.
- Sieben Gruppen von Einstellungen, jede in einem Satz erklärt, mit den Grenzen, die eine unbedachte Frage davon abhalten, ein langsames Dolibarr zu werden.
Protokoll jedes Aufrufs
- Jeder Aufruf wird festgehalten: das Werkzeug, die Person, der Client, was geschickt wurde, was zurückkam, wie viele Zeilen, wie lange, von wo, und wie es endete — beantwortet, abgelehnt oder gescheitert.
- Die Parameter werden vor dem Aufbewahren gesäubert: was nach einem Geheimnis aussieht, wird durch Sterne ersetzt.
- Fünf Zahlen oben, ein kleines Diagramm der Aufrufe je Werkzeug, und eine Liste, filterbar nach Werkzeug, Ausgang, Wort und Anzahl Tage.
- Die Einzelheit eines Aufrufs zeigt, was geschickt wurde, ordentlich gesetzt, und was zurückkam.
- Drei Zwecke: verstehen, was die Leute wirklich tun, die Einschränkungen anhand der Ablehnungen nachstellen, und Rechenschaft geben, wenn jemand fragt.
- Das Aufräumen läuft von selbst: kürzt das Protokoll, wirft abgelaufene Token weg, schließt alte Links, vergisst liegengebliebene Gespräche.
Technische Angaben
- Dolibarr 16 und höher (geprüft auf Dolibarr 23.0.4), PHP 7.4 bis 8.4, MySQL/MariaDB.
- Kein Dolibarr-Modul erforderlich: der Server liest, was bei Ihnen an ist, und legt den Rest beiseite.
- PHP-Erweiterungen: JSON und mbstring, dazu zip zum Packen eines gebauten Moduls. Keine externe Bibliothek auf dem Server zu installieren.
- React, Babel und ECharts kommen von einem einstellbaren CDN oder aus einer lokalen Kopie im Modul.
- 24 Tabellen llx_mcps_*, eine geplante Aufräumaufgabe, und nichts am Kern von Dolibarr verändert.
- Mehrfirmenbetrieb: Token, Clients, Anwendungen, Diagramme, Module, Einschränkungen und Protokoll nach Mandant getrennt.
- Fünf Sprachen: Französisch, Englisch, Italienisch, Deutsch, Spanisch.
- Mit einer 43-seitigen PDF-Dokumentation geliefert. Lizenz GPL v3. Herausgegeben von NEXT GESTION — www.nextgestion.com
Demo des Moduls MCP Studio
Benutzername : demo
Passwort : demo
If you order our module you benefit from:
- free installation and configuration assistance
- free help in case of bug or module malfunction
- the addition of new functionalities or options specifically adapted to your needs.
|