Become a member!

Nicht nur MCP. Ein echter KI-Agent, eingebettet in deine Delphi-Anwendung.

🌐
Dieser Artikel ist auch in anderen Sprachen verfügbar:
🇮🇹 Italiano  •  🇬🇧 English  •  🇪🇸 Español  •  🇧🇷 Português

Es ist 8:30 Uhr. Der Vertriebsleiter öffnet das agentische ERP. In der Liste der eingehenden E-Mails befindet sich bereits eine Anfrage von Rossi:

“Hallo, ich möchte eine dringende Bestellung aufgeben: 5 Laptops und 3 Webcams, mit dem üblichen Rabatt. Können Sie mir das noch heute bestätigen? Danke, Rossi.”

Ohne das ERP zu verlassen, öffnet er den Agenten-Chat und schreibt: “Bearbeite die Anfrage.”

In weniger als dreißig Sekunden hat der KI-Agent alles erledigt:

  • Die E-Mail direkt aus dem ERP gelesen
  • Den Kunden anhand der E-Mail-Adresse identifiziert
  • Die vier vorherigen Bestellungen im Verlauf nachgeschlagen
  • Verstanden, dass “der übliche Rabatt” 5 % beträgt (in keinem Datenbankfeld explizit angegeben, nur durch Lesen des Bestellverlaufs ermittelt)
  • Den Auftrag als Entwurf erstellt, mit den richtigen Produkten und dem korrekten Rabatt
  • Den Entwurf der Bestätigungs-E-Mail geschrieben, versandbereit

Der KI-Agent hat nichts eigenständig versendet. Er hat alles vorbereitet und angehalten, um zu warten. Der Vertriebsleiter liest die Zusammenfassung: richtiger Kunde, richtige Produkte, 5 % Rabatt mit Begründung (“Bestellverlauf: immer 5 %”), Entwurf der Bestätigungs-E-Mail bereits geschrieben. Alles korrekt. Er klickt auf “Genehmigen und senden”. Erst dann wird die E-Mail abgeschickt und der Auftrag im System bestätigt.

Derselbe Ablauf manuell erfordert den Wechsel zum E-Mail-Client, das Öffnen des Kundendatensatzes im ERP, das Navigieren durch den Bestellverlauf über mehrere Bildschirme, um den nicht angegebenen Rabatt zu finden, das Öffnen des Bestellformulars, das einzelne Hinzufügen der Produkte, das Anwenden des Rabatts, den Wechsel zurück zum E-Mail-Client und das Schreiben der Bestätigung. Gut zehn Minuten unter optimalen Bedingungen, mit voller Aufmerksamkeit und null Unterbrechungen. Der KI-Agent hat dreißig Sekunden gebraucht.

Er sagte einen Satz zu seinem ERP. Und das ERP verstand. Und handelte.


mcp-server-delphi ist eine Open-Source-Bibliothek für Delphi (Apache 2.0) zum Aufbau agentischer Anwendungen mit dem Model Context Protocol (MCP). Sie enthält einen eingebetteten agentischen Loop, der vollständig in Delphi geschrieben ist, einen MCP-Server (stdio- und Streamable-HTTP-Transport) sowie einen MCP-Client. Sie integriert sich nativ in DMVCFramework und unterstützt die OpenAI API als Reasoning-Engine.


Vom Server zum Agenten: der qualitative Sprung

Im vorherigen Artikel haben wir gesehen, wie man die Tools seines ERPs dem MCP-Protokoll aussetzt: die Art und Weise, wie Claude, Gemini und andere KI-Assistenten sich mit externer Software verbinden. Ein MCP-Server ist bereits leistungsstark: Er ermöglicht es einem externen Assistenten, die Datenbank abzufragen, Bestellungen zu erstellen, den Kundenstatus zu lesen.

Das Projekt mcp-server-delphi ist nicht nur eine Bibliothek zum Aufbau von MCP-Servern. Es ist eine Plattform zum Aufbau von KI-Agenten, die in deine Delphi-Anwendung eingebettet sind.

Der Unterschied ist erheblich:

MCP-Server (passiv) Eingebetteter Agent (aktiv)
Ein externer KI-Client verbindet sich und ruft Tools auf Der KI-Loop läuft innerhalb deiner Delphi-App
Die Intelligenz liegt im Client (Claude, Gemini…) Die Intelligenz orchestriert deine Tools von innen
Der Benutzer arbeitet außerhalb des ERPs Der Benutzer spricht mit dem ERP
Daten fließen durch einen externen Dienst Tools laufen innerhalb der App: volle Kontrolle darüber, was dem Modell ausgesetzt wird

Eine Anwendung, die diesen Loop einbettet, ist nicht einfach Software, die “MCP unterstützt”: sie ist eine agentische Anwendung. Die Intelligenz ist nicht anderswo gehostet und hängt nicht von einem externen Client ab: Sie denkt über deine Daten nach, nutzt deine Tools, respektiert deine Regeln.

Gleichzeitig stellt deine Anwendung auch einen MCP-Server bereit: So kann Claude Desktop, Gemini CLI oder ein anderer kompatibler KI-Client sich trotzdem von außen verbinden. Es ist keine Entweder-oder-Entscheidung: Es ist beides zusammen.


Wie der agentische Loop funktioniert

Wenn der Benutzer eine Nachricht in den ERP-Chat schreibt, handelt es sich nicht um einen einfachen API-Aufruf. Der agentische Loop (vollständig in Delphi geschrieben) tut Folgendes:

  1. Sendet die Nachricht an das KI-Modell (OpenAI API) zusammen mit der Liste aller verfügbaren Tools
  2. Das Modell antwortet mit einem oder mehreren Tool Calls: Es bittet darum, echte Funktionen im ERP auszuführen
  3. Der Loop führt die Tools aus und sammelt die Ergebnisse
  4. Schickt alles zurück an das Modell, das weitere Tools aufrufen oder dem Benutzer antworten kann
  5. Wiederholt, bis das Modell eine vollständige Antwort hat

Eine Nachricht wie “Verarbeite diese E-Mail und erstelle die Bestellung” kann 10-15 Tool Calls in Folge generieren: Kundensuche, Kreditlimitprüfung, Analyse des Rabattverlaufs, Bestellerstellung, Zeilenhinzufügung, Versand der Bestätigungs-E-Mail. Der KI-Agent führt jeden Schritt aus und hält die bereits im Code vorhandenen Geschäftsregeln ein, ohne die Anwendung zu verlassen.

Das Modell “weiß” nicht, wie dein ERP funktioniert. Es weiß, wie es die Beschreibungen der Tools liest, die du aussetzt. Den Rest erledigt dein Delphi-Code. Das ist der Kern des agentischen Ansatzes: kein Chatbot, der Fragen beantwortet, sondern ein KI-Agent, der plant, handelt und komplexe Aufgaben eigenständig erledigt, und nur dann um menschliche Bestätigung bittet, wenn es nötig ist.

Hier ein konkretes Beispiel: eine reale Anfrage, die in den Chat des agentischen ERP eingegeben wurde. Der Screenshot ist auf Italienisch, aber die übersetzte Anfrage unten macht deutlich, was der KI-Agent ausführen sollte.

“Erstelle eine Bestellung für Verdi Distribuzione: 3 Projektoren und 2 Android-Tablets. Wende 8% Rabatt auf alles an, bestätige die Bestellung und plane die Lieferung in 7 Tagen um 10:00 Uhr.”

Das agentische ERP in Aktion: Der Benutzer bittet darum, eine Bestellung für Verdi Distribuzione anzulegen (3 Projektoren und 2 Android-Tablets), 8% Rabatt anzuwenden, die Bestellung zu bestätigen und die Lieferung in 7 Tagen zu planen. Der KI-Agent verarbeitet die gesamte Sequenz autonom und präsentiert die Zusammenfassung zur Freigabe.

Der KI-Agent hat die gesamte Anfrage autonom verarbeitet: Er hat den Kunden Verdi Distribuzione gesucht, die Bestellung mit den angeforderten Produkten erstellt, den Lagerbestand geprüft, den Rabatt von 8% angewendet, die Bestellung bestätigt und den Liefertermin geplant. Jeder Schritt basiert auf der bereits in der Anwendung vorhandenen Geschäftslogik, die dem KI-Agenten über die Tools des MCP-Servers bereitgestellt wird. Keine Daten haben die Unternehmensinfrastruktur verlassen.


Der wichtigste Moment: wenn die KI anhält

In Live-Demos zeige ich immer dieses Szenario: Der KI-Agent bearbeitet eine komplexe Bestellung, hat den Kunden bereits gefunden, das Kreditlimit geprüft, die Produkte ausgewählt. Dann, anstatt alleine weiterzumachen, öffnet er ein modales Delphi-Popup mit einer Frage:

“Ich habe drei Varianten des angeforderten Produkts gefunden. Welche bevorzugst du? (A) Standard, (B) Pro, (C) Premium”

Der KI-Thread ist angehalten. Der Loop wartet. Der Benutzer antwortet. Der KI-Agent fährt fort.

Das ist das Tool ask_user: Eine Funktion, die die KI aufrufen kann, wann immer sie eine menschliche Entscheidung benötigt. Es ist keine Einschränkung, es ist die Stärke des Systems.

In der Unternehmensrealität sind nicht alle Prozesse starr definiert. Es gibt Ausnahmen, besondere Kontexte, Geschäftsbeziehungen, die ein Algorithmus nicht kennen kann. Der Vertriebsleiter weiß, dass dieser Kunde diese Woche anders behandelt werden muss. Er weiß, dass dieser Rabatt in diesem Kontext nicht gilt. Er weiß, dass die Bestellung aus einem Grund dringend ist, der nirgendwo steht. Diese Urteilsfähigkeit ist kein Fehler im Prozess, sie ist unersetzlicher menschlicher Wert.

Mit ask_user versucht der KI-Agent nicht, dieses Urteil zu ersetzen: Er hält an, legt die Optionen vor und wartet. Die KI bringt Geschwindigkeit. Der Mensch bringt Kontext. Das Ergebnis ist ein Prozess, der gegenüber früher keine Flexibilität verliert, aber eine Geschwindigkeit gewinnt, die vorher unvorstellbar war.

Du automatisierst keine Entscheidungen. Du automatisierst die gesamte Vorbereitungsarbeit drumherum.


Das agentische ERP in Aktion: weitere Szenarien

Komplexe E-Mail: 2 E-Mails + 1 Bestellung

Eine einzige E-Mail mit zwei unterschiedlichen Anfragen: “Schickt mir eine Übersicht der offenen Rechnungen und fügt auch einen Entwurfsauftrag für die Bekleidungslinie hinzu.”

Der KI-Agent analysiert die E-Mail, listet explizit die beiden Anfragen auf und führt sie nacheinander aus: 12-15 Tool Calls, zwei Antwort-E-Mails geschrieben und gespeichert, ein Entwurfsauftrag erstellt. Alles im Tool-Log des Chats sichtbar, alles nachvollziehbar, alles im ERP. Ein Mitarbeiter, der dieselbe E-Mail manuell bearbeitet (Rechnungen öffnen, Übersicht schreiben, Bestellung erstellen, zwei separate E-Mails schreiben), verbringt leicht zwanzig bis dreißig Minuten. Hier sind wir unter zwei Minuten.

Forderungsmanagement mit Reasoning

“Für Kunden mit Rechnungen, die seit mehr als 30 Tagen überfällig sind, berechne einen Dringlichkeitsindex und plane Mahnungstermine.”

Der Dringlichkeitsindex (Betrag x Verzugstage, mit einem anderen Faktor für langjährige Kunden) existiert nicht in der Datenbank. Die KI berechnet ihn, sortiert die Kunden nach Priorität und erstellt Termine mit nach Risikoprofil differenzierten Titeln. In wenigen Sekunden für alle säumigen Kunden erledigt. Manuell erfordert das Extrahieren der Liste, das Berechnen des Index für jeden einzelnen, das Öffnen des Kalenders und das Planen jedes Termins mindestens eine halbe Stunde, und es wird genau deshalb selten gemacht.


DMVCFramework: der strukturelle Vorteil

Ein Tool definieren: Annotation, Implementierung, Registrierung

Ein Tool zu definieren bedeutet, die Funktionssignatur zu annotieren:

type
  TMyTools = class(TMCPToolProvider)
  public
    [MCPTool('reverse_string', 'Reverses a string')]
    function ReverseString(
      [MCPParam('The string to reverse')] const Value: string
    ): TMCPToolResult;

    [MCPTool('concat_strings', 'Concatenates two strings with a separator')]
    function ConcatStrings(
      [MCPParam('First string')] const A: string;
      [MCPParam('Second string')] const B: string
    ): TMCPToolResult;
  end;

Das Framework erkennt alles via RTTI, generiert das JSON-Schema, registriert die Tools im MCP-Server und stellt sie sowohl dem eingebetteten KI-Agenten als auch jedem externen Client zur Verfügung. Keine Konfigurationsdateien, kein XML, keine manuelle Registrierung.

Für ein echtes ERP ist das Muster identisch, nur die Namen und die Geschäftslogik ändern sich:

[MCPTool('create_order', 'Creates a new order for the specified customer')]
function CreateOrder(
  [MCPParam('Customer ID')] const CustomerID: Integer;
  [MCPParam('Discount percentage (0-100)')] const Discount: Double
): TMCPToolResult;

Du musst kein neues Framework lernen. Du musst deine Geschäftslogik nicht neu schreiben. Du musst nur entscheiden, welche Funktionalitäten für die KI zugänglich gemacht werden sollen, und sie annotieren.

Die Bridge: von REST zu MCP ohne eine Zeile zu ändern

Wenn du bereits eine DMVCFramework-Anwendung mit REST-Controllern in der Produktion hast, gibt es einen noch direkteren Weg: die MCP-Bridge, inspiriert vom analogen Mechanismus in FastMCP. Du hast einen Controller wie diesen:

[MVCPath('/api/books')]
TBooksController = class(TMVCController)
public
  [MVCPath]
  [MVCHTTPMethod([httpGET])]
  [MVCDoc('Returns the list of all books')]
  procedure GetBooks;

  [MVCPath('/search')]
  [MVCHTTPMethod([httpGET])]
  [MVCDoc('Searches books by title keyword. Use limit to cap results (default 10)')]
  procedure SearchBooks(
    const [MVCFromQueryString('q')] q: string;
    const [MVCFromQueryString('limit', '10')] limit: Integer
  );
end;

Um alles als MCP-Server bereitzustellen, reicht ein Aufruf im Web Module:

TMCPServer.Instance.RegisterFromEngine(Engine, 'http://localhost:8080');

Null Änderungen am Controller. Null Wrapping-Code. Deine APIs werden zu Tools des KI-Agenten in der Zeit, die es braucht, um eine Zeile hinzuzufügen.

⚠️ Hinweis zur Bridge

Das gilt auch in der FastMCP-Welt: die Bridge ist ein Bootstrapping-Werkzeug, keine endgültige Produktionslösung. KI-Modelle erzielen deutlich bessere Ergebnisse mit Tools, die speziell für sie entworfen und kuratiert wurden: Beschreibungen, die das Reasoning des Modells leiten, Parameter auf das Wesentliche reduziert, Namen, die die Absicht widerspiegeln und nicht die HTTP-Struktur. Die Bridge bringt dich sofort zum Start und lässt dich die Möglichkeiten in Minuten erkunden; der nächste Schritt ist, die Tools mit Absicht zu verfeinern.

Man-in-the-loop: keine Einschränkung, eine Entscheidung

Es gibt ein Gespräch, das ich oft höre, wenn ich diese Demos präsentiere:

“Aber wenn die KI Bestellungen erstellen, die Datenbank ändern, E-Mails senden kann: wer kontrolliert, dass sie nichts Falsches tut?”

Die Antwort lautet: du, by design.

Jedes Tool, das du aussetzt, ist dein eigener Delphi-Code. Du kannst dafür sorgen, dass create_order die Bestellung immer als Entwurf erstellt und eine explizite Bestätigung erfordert, bevor sie finalisiert wird. Du kannst ask_user verwenden, wann immer die KI zwischen Alternativen wählen muss. Du kannst alle dieselben Autorisierungsregeln anwenden, die du bereits im ERP hast, weil das Tool im Kontext der aktuellen Benutzersitzung ausgeführt wird.

Die KI umgeht deine Geschäftsregeln nicht. Sie führt sie aus. Der Unterschied ist, dass du sie jetzt in natürlicher Sprache orchestrieren kannst.


🎤 ITDevCon 2026 Spring Edition, 8. Mai - Rom

Alles, was du in diesem Artikel gelesen hast (die Demos, den Code, die Architektur), werde ich live auf der nächsten ITDevCon 2026 Spring Edition zeigen, persönlich am 8. Mai 2026 in Rom. Die Spring Edition wird, anders als die Hauptausgabe im Herbst, ausschließlich auf Italienisch abgehalten.

Gemeinsam werden wir sehen:

  • Den agentischen Loop in Aktion: von der E-Mail zur Bestellung in Echtzeit
  • Wie man MCP-Tools entwirft, die die KI gut nutzt (Beschreibungen, Parameter, Ergebnisse)
  • Das Tool ask_user und das Man-in-the-loop-Muster in der Praxis
  • Wie man den KI-Agenten zu einer bestehenden DMVCFramework-Anwendung hinzufügt
  • Dual-Mode-Architektur: eingebetteter Agent + MCP-Server für externe Clients
  • Live-Demos mit offenem Quellcode

Wenn du darüber nachdenkst, KI in dein Delphi-ERP zu bringen, ist diese Session der direkteste Ausgangspunkt, den du finden kannst. Registriere dich auf itdevcon.it.


📚 Dedizierter Kurs kommt bald: MCP und Agentic AI mit Delphi

Für alle, die mit einem strukturierten Lernpfad in die Tiefe gehen möchten, bereite ich einen dedizierten Kurs über MCP und Agentic AI mit Delphi vor. Er wird bald auf bit Time Professionals verfügbar sein.

Der Kurs wird abdecken:

  • Grundlagen des MCP-Protokolls und des agentischen Loops
  • Entwicklung effektiver Tool-Provider für reale Geschäftsanwendungen
  • Verwaltung des Man-in-the-loop: wann die KI anhalten und fragen soll
  • Deployment, Sicherheit und Performance in Produktionsumgebungen
  • Fortgeschrittene Szenarien: Multi-Tool-Orchestrierung, Fehlerbehandlung, Logging

Neben der Ausbildung bietet bit Time Professionals auch spezialisierte Beratung an, um Unternehmen bei der konkreten Integration von KI in ihre Systeme zu unterstützen. Wir arbeiten bereits mit Unternehmen weltweit daran, agentische Fähigkeiten in ihre bestehenden Anwendungen zu bringen (Delphi, Python, C# und mehr), von der Identifizierung von Chancen bis zur Produktionsimplementierung. Wenn du ein konkretes Projekt im Sinn hast, nimm Kontakt auf.

Bleibt dran: Kursdetails werden in den kommenden Wochen angekündigt.


Füge deinem Delphi-ERP einen KI-Agenten hinzu: starte heute

Das Projekt ist Open Source, Apache-2.0-Lizenz.

Projektseite und Dokumentation


Dein Delphi-ERP hat bereits den gesamten Wert. Die Daten sind da. Die Geschäftslogik ist da. Die Regeln sind da.

Es fehlte nur ein KI-Agent, der darin lebt: fähig, natürliche Sprache zu verstehen, Tools zu orchestrieren, Geschäftsregeln zu respektieren und anzuhalten, wenn es nötig ist. Kein passiver MCP-Server, der auf Anweisungen von außen wartet. Eine echte agentische Anwendung.

Jetzt gibt es sie.


Comments

comments powered by Disqus