KI-gestützte Prozessautomatisierung mit Spring AI, Azure OpenAI und MCP

Die Integration von LLMs (Large Language Models) wie ChatGPT in moderne Unternehmensanwendungen eröffnet neue Dimensionen für menschenzentrierte Interaktionen und automatisierte Workflows. Durch die Ergänzung um MCP (Model Context Protocol) lassen sich LLMs gezielt mit internen Datenquellen und APIs verbinden - etwa, um in Echtzeit auf Unternehmensdaten zuzugreifen oder Prozesse direkt anzustoßen. 

In diesem Artikel zeigen wir, wie sich die Leistungsfähigkeit von ChatGPT mit Tool Calling und Spring AI nahtlos in das Java-/Spring-Ökosystem integrieren lässt, inklusive sicherer Anbindung über MCP. 

📖 Inhalt
    1. Warum KI-Integration in Business-Systeme jetzt wichtig ist
    2. Tool Calling und MCP – der Schlüssel zu echten Business-Mehrwerten 
    3. Architekturüberblick: So funktioniert die Integration
    4. Schritt für Schritt: Integration der LLM-Schnittstelle
    5. Der Ablauf einer Abfrage mit MCP 
    6. Best Practices und Stolperfallen
    7. Fazit und Ausblick

Warum KI-Integration in Business-Systeme jetzt wichtig ist 

Viele Unternehmen stehen noch vor einem Flickenteppich aus Insellösungen, die eine durchgängige Automatisierung und intuitive Nutzererfahrung erschweren. Generative KI ermöglicht erstmals, Prozesse ganzheitlich zu verknüpfen und einheitlich zu gestalten. Projektbeispiele finden wir im Kundenservice oder bei internen Workflows wie dem Urlaubsantrag. Wer jetzt keine KI-kompatible Systemlandschaft schafft, riskiert wachsende Integrationsprobleme und steigenden Anpassungsaufwand in der Zukunft. Zugleich erwarten Anwender zunehmend die nahtlose Unterstützung durch intelligente Assistenten, wie sie aus dem privaten Umfeld längst vertraut sind. 

Tool Calling und MCP – der Schlüssel zu echten Business-Mehrwerten 

Tool Calling beschreibt die Fähigkeit eines LLMs, per natürlicher Sprache externe Tools und APIs anzusteuern

Beispielsweise genügt der Satz „Zeige mir offene Bestellungen“, und das KI-System ruft eigenständig den entsprechenden Endpunkt auf. 

Entscheidend für erfolgreiche Business-Integration ist dabei die lose Kopplung der einzelnen „Tools“. Das sorgt für Flexibilität und einfache Erweiterbarkeit. 

Am einfachsten lässt sich Tool Calling mittels MCP implementieren. MCP ist ein von Anthropic entwickelter offener Standard, der die Verbindung von LLMs mit internen Datenquellen und Diensten abstrahiert und vereinheitlicht. Wie HTTP für Webanwendungen, sorgt MCP für einen konsistenten Kommunikationsrahmen und lässt sich flexibel, erweiterbar und einfach in bestehende Systeme integrieren.  

Kurz gesagt: Aus Business-Sicht ermöglicht die Standardisierung mit MCP und Spring AI: 

  • Schnellere Umsetzung von KI-Funktionalitäten im Unternehmenskontext 
  • Leistungsfähigere KI-Assistenten, die eigenständig Aktionen ausführen können 
  • Kontextbewusste Antworten, basierend auf unternehmensinternen Daten 
  • Reduzierte Entwicklungskosten, dank Wiederverwendbarkeit und klarer Schnittstellen 

Diese Vorteile machen Tool Calling mit MCP zu einem zentralen Baustein für die nächste Generation intelligenter Unternehmensanwendungen. 

Architekturüberblick: So funktioniert die Integration

Die technische Integration folgt einer klar strukturierten Architektur: 

ablauf

Spring AI abstrahiert die Anbindung an verschiedene KI-Anbieter und stellt eine einheitliche Schnittstelle bereit. Dadurch lassen sich Modelle einfacher austauschen, und der Integrationsaufwand sinkt deutlich. Azure OpenAI bringt die Leistungsfähigkeit der OpenAI-Modelle in eine skalierbare und sichere Cloud-Umgebung. 

Schritt-für-Schritt: Integration der LLM-Schnittstelle

Dieser Abschnitt richtet sich an technisch Interessierte und Entwickler:innen. Wenn Sie sich primär für das Konzept interessieren, können Sie diesen Teil überspringen – oder später gezielt nachschlagen. 

Ein lauffähiges Beispielprojekt finden Sie unter: https://gitlab.com/Daniel.stahr/spring-ai-azure-mcp. Damit können Sie direkt starten, erste Tests durchführen und die Technologie in Ihrer eigenen Umgebung erproben. 

Das Beispiel enthält zwei Kotlin Projekte:  

  • ChatClientMCP: Nimmt Benutzeranfragen entgegen und ruft über MCP die gewünschte Funktion auf  
  • BusinessServiceMCP: Registriert die API-Funktionalität und stellt sie dem KI-System zur Verfügung 

Das Setup basiert auf einer Azure OpenAI-Instanz mit GPT-4.1 und nutzt Spring AI. In der README ist beschrieben, wie man die Applikation mit eigenen Parametern starten kann.  

BusinessServiceMCP 

Um die Funktionalität eines MCP Servers zu aktivieren, benötigen wir das Paket:  

dependency

Funktionen werden über @Tool annotiert und so automatisch im MCP-Kontext registriert, vergleichbar mit Swagger oder OpenAPI. 

In folgenden Beispiel wird eine Funktion bereitgestellt, um einen Hund per Namen zu suchen:  

service

Registrierung: 

registration

Konfiguration (verkürzt): 

config

 

ChatClientMCP 

Auf Client-Seite wird die Verbindung zur Business-Instanz Spring AI MCP Client WebFlux  hergestellt und die Tool-Funktionalität aktiviert. Alle Konfigurationen erfolgen deklarativ, neue Services lassen sich durch Eintrag in der YAML-Datei integrieren. 

Abhängigkeiten:  

dependency2

Konfiguration (verkürzt): 

config2

Um das Debuggen zu erleichtern, empfiehlt es sich, das Logging für einige Pakete zu aktivieren:  

logging

Jetzt muss nur noch der ChatClient erweitert werden, damit er die Tool-Spezifikationen selbstständig in Betracht zieht. Anschließend passiert alles automatisch:

rest-controller

Im Projekt befindet sich ein weiteres Beispiel, bei dem zusätzlich eine lokale Tooldefinition registriert wird. In frühen Phasen lassen sich neue Funktionalitäten auf diese Weise schnell verproben.

Die Registrierung sieht dann wie folgt aus:  

rest-controller2

 

Der Ablauf einer Abfrage mit MCP 

Das Beispielprojekt zeigt, wie die Kommunikation zwischen Nutzer, LLM, ClientChat und dem Business-Backend über MCP abläuft, vollständig entkoppelt und standardisiert. Die einzelnen Schritte lassen sich wie folgt nachvollziehen: 

  1. Tool-Spezifikation abrufen: 
    Beim Start lädt der ClientChat die verfügbaren Tool-Spezifikationen vom Business-Backend via MCP. 
  2. Nutzereingabe: 
    Der Nutzer stellt eine natürliche Anfrage, z.B. „Show me dog Doggy“. 
  3. Verarbeitung durch LLM: 
    Die Anfrage wird an das LLM (hier GPT 4.1) weitergeleitet – zusammen mit den zuvor geladenen Tool-Spezifikationen. 
  4. Tool Calling: 
    Das LLM erkennt, dass die Funktion getDogByName benötigt wird, und sendet die entsprechende Tool Invocation an den ClientChat zurück. 
  5. Transparenter MCP-Aufruf: 
    Der ClientChat löst den Funktionsaufruf getDogByName(Doggy) über MCP gegen das Business-Backend aus. 
  6. Antwort verarbeiten: 
    Die Antwort mit den Hundedaten wird vom ClientChat an das LLM übermittelt, das die Konversation damit fortsetzt. 
  7. Antwort an den Nutzer: 
    Das LLM liefert eine natürliche Antwort, z.B. „Doggy is a 3-year-old Labrador available for adoption“, zurück an den Nutzer. 

 MCP-flow

Wichtig dabei: 
Der gesamte Ablauf ist nicht fest „verdrahtet“. Die Entscheidung, welche API aufzurufen ist, trifft das LLM dynamisch anhand der Tool-Beschreibungen. Die tatsächliche Ausführung erfolgt lokal und nicht durch das LLM selbst, sondern durch den ClientChat über MCP. Das erhöht sowohl die Sicherheit als auch die Kontrolle. 

Erweiterbarkeit durch Konfiguration 
Ein weiterer Vorteil: Neue Backend-Anwendungen lassen sich ohne Code-Änderung am Client nahtlos integrieren. Ein weiterer Eintrag in der YAML-Konfiguration genügt: 

config3

So bleibt die Anwendung auch bei wachsender Systemlandschaft oder sich ändernden Fachanforderungen flexibel. 

Ein Bild, das Text, Screenshot, Schrift, Diagramm enthält.

KI-generierte Inhalte können fehlerhaft sein.

 

Best Practices & Stolperfallen

Die Integration von generativer KI in bestehende Unternehmensarchitekturen bringt nicht nur Potenziale, sondern auch einige Herausforderungen mit sich. Damit die Lösung stabil, sicher und erweiterbar bleibt, sollten folgende Aspekte berücksichtigt werden: 

Security  

Ein zentraler Grundsatz lautet: Der Chatbot sollte niemals direkt mit dem Business-Backend kommunizieren. Stattdessen übernimmt MCP diese Rolle als vermittelnde Schicht. Dadurch lässt sich die vorhandene Sicherheitsinfrastruktur der Business-Anwendungen nutzen. Wichtig ist dabei, dass MCP-Anfragen im Namen des Nutzers erfolgen – z.B. durch Übergabe des Access Tokens aus dem bestehenden Security-Kontext. Nur so kann eine sichere Authentifizierung und Autorisierung entlang der gesamten Verarbeitungskette gewährleistet werden. 

Logging und Monitoring  

Ein robustes Protokollierungs- und Monitoringkonzept ist essenziell. Jeder durch den Chatbot initiierte Aufruf sollte nachvollziehbar dokumentiert werden – idealerweise inklusive Benutzerkontext, Zeitstempel, Anfrage und Antwort. Dies erleichtert nicht nur die Fehleranalyse, sondern dient auch der Einhaltung von Compliance-Vorgaben. 

Fehlerbehandlung  

Das zugrunde liegende KI-Modell kann nicht jede Anfrage korrekt interpretieren. Deshalb ist es wichtig, Fehlerfälle wie unklare oder mehrdeutige Eingaben sinnvoll abzufangen und dem Nutzer eine verständliche Rückmeldung zu geben.  Idealerweise eine, die eine genauere Nachfrage enthält. Auch bei Fehlern im Backend sollten die Antworten benutzerfreundlich gestaltet werden. 

Skalierbarkeit und Wartbarkeit  

Gerade bei wachsender Systemlandschaft empfiehlt es sich, APIs zu versionieren und modulare Services bereitzustellen. So können neue Funktionalitäten einfach integriert und bestehende Komponenten unabhängig voneinander aktualisiert werden. 

Besonderheiten von Spring AI und Azure OpenAI  

Beim Einsatz von Spring AI und Azure OpenAI sollten Aspekte wie API-Limits, Tokenlängen und Antwortformate beachtet werden. Spring AI hilft hier, eine konsistente Anbindung zu schaffen und verschiedene LLM-Anbieter zu abstrahieren – ein klarer Vorteil im Falle zukünftiger Erweiterungen oder Anbieterwechsel. 

Deterministik – ein unterschätzter Erfolgsfaktor 

Für produktive Tool-Aufrufe über MCP ist eine möglichst deterministische Reaktion des LLMs entscheidend. Nur wenn das Modell unter gleichen Bedingungen reproduzierbar denselben Funktionsaufruf erzeugt, lässt sich der Workflow zuverlässig testen und betreiben. In der Praxis bedeutet das: 

  • Prompts klar und fokussiert formulieren 
  • Temperature ggf. reduzieren 
  • Tool-Spezifikationen eindeutig und vollständig beschreiben 
  • Bei kritischen Abläufen zusätzlich absichern (z.B. durch Konfidenzwerte, Validierungen oder Benutzer-Feedback) 

Die Kombination aus deterministischem Verhalten und flexibler Modellantwort ist ein Balanceakt – aber zentral für stabile KI-gestützte Prozessketten. 

 

Fazit & Ausblick


Die erfolgreiche Integration von generativer KI in bestehende Business-Systeme verbessert Prozesse, spart Zeit und bietet eine spürbar bessere User Experience. Unternehmen, die jetzt auf KI setzen, sichern sich langfristige Wettbewerbsvorteile. 

Die Reise geht weiter: Zukünftig stehen noch weitreichendere Automatisierungen und Integrationen weiterer Business-Systeme an. Mit Spring AI, Azure OpenAI und MCP gelingt Ihnen dieser Schritt leichter als jemals zuvor. 

Starten Sie noch heute und bauen Sie Ihren eigenen KI-Assistenten! 

 

Quellen


Haben Sie Fragen oder benötigen Sie Unterstützung?

Mehr zu den Möglichkeiten von Generativer KI für Ihr Unternehmen finden Sie auf unserer Webseite.