MCP-Architektur
Forschung und Experimente rund um das Model Context Protocol (MCP) zur Orchestrierung von KI-Agenten.
Einführung
Das Model Context Protocol (MCP) entwickelt sich zu einem unverzichtbaren Interoperabilitätsstandard im Ökosystem der KI-Agenten. Entwickelt von Anthropic und von einer wachsenden Gemeinschaft übernommen, definiert MCP ein offenes Kommunikationsprotokoll zwischen Sprachmodellen und externen Systemen: Datenbanken, APIs, Dateien, Geschäftsdienste. Wo jedes Agentenframework historisch sein eigenes Austauschformat und seine eigenen Konventionen vorgab, führt MCP eine universelle Abstraktionsschicht ein. Ein Agent, der LangChain verwendet, kann nun mit einem über MCP bereitgestellten Werkzeug kommunizieren, ohne dessen interne Implementierung zu kennen – so wie ein Webbrowser mit einem Server über HTTP kommuniziert, ohne sich um die serverseitige Programmiersprache zu kümmern.
Diese Standardisierung kommt zu einem entscheidenden Zeitpunkt in der Entwicklung von KI-Systemen. Autonome Agenten – die planen, Aktionen ausführen und sich an neue Situationen anpassen können – verbreiten sich in professionellen Umgebungen. Aber diese Verbreitung geht mit einem strukturellen Problem einher: Die Integration heterogener Agenten aus verschiedenen Frameworks (LangChain, AutoGen, CrewAI, Semantic Kernel) produziert fragmentierte Kontexte, inkompatible Austauschformate und eine Duplizierung der Integrationsbemühungen. Jedes Team entwickelt seine eigenen Konnektoren, eigenen Nachrichtenformate, eigenen Mechanismen zur Kontextübergabe. Das Ergebnis ist eine fragmentierte technische Landschaft, in der Interoperabilität die Ausnahme und nicht die Regel ist.
Das zentrale Problem, das dieses Projekt adressiert, ist die Fragmentierung von Kontexten in Multi-Agenten-Architekturen. Wenn mehrere Agenten an einer komplexen Aufgabe zusammenarbeiten, verwaltet jeder seinen eigenen Zustand, seinen Interaktionsverlauf und seine Arbeitsdaten. Ohne standardisierten Teilungsmechanismus erfordert der Übergang von einem Agenten zum anderen aufwändige Konvertierungen, Informationsverluste und eine Duplizierung von Modellaufrufen. Ein Dokumentenassistent, der zuerst eine Information suchen, dann zusammenfassen und schließlich das Ergebnis formatieren muss, beansprucht potenziell drei verschiedene Agenten mit drei unterschiedlichen Kontexten, ohne dass garantiert ist, dass der Kontext des ersten korrekt an den zweiten übergeben wird. Die daraus resultierenden Inkonsistenzen beeinträchtigen die Servicequalität und erschweren das Debugging.
Unsere Vision ist eine modulare Multi-Agenten-Architektur, die auf MCP als zentralem Kommunikationsprotokoll basiert. In dieser Architektur ist jeder Agent eine unabhängige Komponente, die ihre Fähigkeiten über das MCP-Protokoll bereitstellt. Ein zentraler Orchestrator verwaltet das Routing der Anfragen, die Aggregation der Antworten und die globale Konsistenz des Systems. Die Agenten kommunizieren nicht direkt miteinander: Jeder Austausch erfolgt über den Orchestrator, der die Rückverfolgbarkeit, die Kontextpersistenz und die Ausfallsicherheit bei einem Agentenausfall gewährleistet. Dieser Ansatz entkoppelt strikt die Geschäftslogik jedes Agenten von den Kommunikationsmechanismen, sodass Agenten ersetzt, aktualisiert oder hinzugefügt werden können, ohne das restliche System zu beeinträchtigen.
Der zentrale MCP-Orchestrator bildet das Herzstück der Architektur. Implementiert in TypeScript, um von seiner starken Typisierung und seinem asynchronen Ökosystem zu profitieren, stellt er eine GraphQL-API als einzigen Einstiegspunkt für Clients bereit. Jede Anfrage wird analysiert, bei Bedarf in Unteraufgaben zerlegt und an die zuständigen Agenten weitergeleitet. Der Orchestrator verwaltet einen globalen Sitzungszustand, speichert Zwischenkontexte in einem verteilten Redis-Cache und gewährleistet die Konsistenz des Austauschs über einen Mechanismus kontextueller Transaktionen. Redis spielt hier eine entscheidende Rolle: Es dient gleichzeitig als Kontext-Cache, als Nachrichtenbus für den asynchronen Austausch zwischen Agenten und als Session-Store für die Wiederherstellung nach Ausfällen.
Die spezialisierten Agenten bilden die funktionale Ebene der Architektur. Jeder Agent stellt eine Reihe von Fähigkeiten – oder Tools – über das MCP-Protokoll bereit. Diese Fähigkeiten werden standardisiert beschrieben: Name, Eingabeparameter, Ausgabeformat, Nutzungsvertrag. Ein Dokumentenrecherche-Agent stellt beispielsweise die Fähigkeiten search, getDocument und extractEntities bereit. Ein Synthese-Agent stellt summarize, reformulate und translate bereit. Ein Formatierungs-Agent stellt toPDF, toMarkdown und toJSON bereit. Diese Standardisierung ermöglicht es dem Orchestrator, verfügbare Fähigkeiten dynamisch zu entdecken und komplexe Workflows durch Komposition zu erstellen, ohne vorherige manuelle Konfiguration.
Die Integration mit bestehenden Agentenframeworks ist ein wichtiger Schwerpunkt dieses Projekts. LangChain, AutoGen und CrewAI sind die drei dominierenden Frameworks für den Aufbau von Agenten, jedes mit seiner eigenen Philosophie und Stärken. LangChain zeichnet sich durch sein Ökosystem von Chains und einsatzbereiten Tools aus. AutoGen von Microsoft setzt auf Multi-Agenten-Konversation mit spezialisierten Rollen und Rückkopplungsschleifen. CrewAI bietet ein Team-ähnliches Orchestrierungsmodell mit Agenten, die Rollen, Verantwortlichkeiten und Hierarchien haben. Unser Ansatz zielt nicht darauf ab, diese Frameworks zu ersetzen, sondern sie zur Zusammenarbeit zu bringen: Jedes Framework kann seine Agenten über MCP bereitstellen, und derselbe Orchestrator kann LangChain-, AutoGen- und CrewAI-Agenten in einem einzigen, einheitlichen Workflow koordinieren.
Die Leistung von MCP-Architekturen wird nach drei Achsen bewertet: Latenz, Skalierbarkeit und Zuverlässigkeit. Die Latenz misst die End-to-End-Zeit einer Anfrage, vom Eingang beim Orchestrator bis zur Auslieferung der endgültigen Antwort. In einem Multi-Agenten-System fügt jeder Sprung zwischen Agenten Latenz hinzu: MCP-Aushandlung, Serialisierung/Deserialisierung des Kontexts, Modellinferenz, Antwort. Die Optimierung erfolgt über den Redis-Cache, der die Neukonstruktion des Kontexts bei jedem Schritt vermeidet, die Parallelisierung unabhängiger Agentenaufrufe und das Streaming von Antworten über GraphQL Subscriptions. Die Skalierbarkeit wird durch den Kubernetes-Einsatz sichergestellt: Jeder Agent kann horizontal je nach Last repliziert werden, mit Auto-Scaling basierend auf der Tiefe der Redis-Warteschlangen. Die Zuverlässigkeit beruht auf Mechanismen zur Fehlerbehebung, konfigurierbaren Timeouts pro Fähigkeit und Circuit Breakern, die einen ausgefallenen Agenten isolieren, ohne den Rest des Systems zu beeinträchtigen.
Der Kubernetes-Einsatz bildet die Zielinfrastruktur der Referenzarchitektur. Jeder Agent ist in einem unabhängigen Docker-Container mit eigenen Abhängigkeiten und eigener Konfiguration verpackt. Die Bereitstellungen werden über parametrisierbare Helm-Charts mit Profilen pro Umgebung (Entwicklung, Test, Produktion) verwaltet. Der zentrale Orchestrator wird als eigenständiger Dienst mit mehreren Replikaten für Hochverfügbarkeit bereitgestellt. Redis wird als Cluster mit Festplattenpersistenz und Replikation für Ausfallsicherheit betrieben. Die GraphQL-API wird über einen Nginx-Ingress mit TLS-Terminierung, Rate-Limiting pro Client und JWT-Authentifizierung bereitgestellt. Prometheus und Grafana überwachen das gesamte System: Latenz pro Fähigkeit, Fehlerrate pro Agent, Auslastung der Redis-Warteschlangen, Speicherverbrauch der Pods.
Anwendungsfälle
Die konkreten Anwendungsfälle umfassen verschiedene geschäftliche Szenarien. Intelligente Dokumentenassistenten stellen das erste Anwendungsfeld dar: Ein Recherche-Agent durchsucht eine Vektordatenbank, ein Analyse-Agent extrahiert Schlüsselkonzepte, ein Synthese-Agent erstellt eine strukturierte Zusammenfassung, und ein Aufbereitungs-Agent formatiert die Antwort je nach Ausgabekanal (E-Mail, PDF-Bericht, Slack-Nachricht). Die Automatisierung von Geschäftsprozessen ist ein zweiter Anwendungsfall: Ein Klassifikations-Agent leitet eingehende Anfragen weiter, ein Validierungs-Agent prüft Anhänge und Metadaten, ein Ausführungs-Agent löst Aktionen im CRM und im Ticketsystem über dedizierte MCP-Konnektoren aus. In beiden Fällen stellt die MCP-Architektur sicher, dass jeder Agent über den erforderlichen Kontext verfügt, die Übergänge nahtlos sind und das Ganze ohne Regressionen änderbar bleibt.
Die Vorteile dieser Architektur sind auf mehreren Ebenen spürbar. Interoperabilität ist der grundlegende Vorteil: Agenten, die mit verschiedenen Frameworks, von verschiedenen Teams, in verschiedenen Sprachen entwickelt wurden, können innerhalb desselben Systems zusammenarbeiten, ohne Ad-hoc-Integration. Die Erweiterbarkeit ergibt sich direkt aus der Modularität: Einen neuen Agenten hinzuzufügen bedeutet, seine MCP-Schnittstelle zu implementieren und beim Orchestrator zu registrieren, ohne vorhandene Agenten zu ändern. Die Standardisierung des Austauschs vereinfacht die Wartung, reduziert Integrationsfehler und ermöglicht es, einen Agenten durch einen anderen zu ersetzen, solange der MCP-Vertrag eingehalten wird. Schließlich ist die Rückverfolgbarkeit gewährleistet: Jeder Austausch zwischen Agenten wird mit einer Sitzungskennung in Redis protokolliert, was Debugging, Audit und Wiederholung von Interaktionen ermöglicht.
Perspektiven
Die Entwicklungsperspektiven des MCP-Protokolls sind vielversprechend und werden in diesem Projekt aktiv beobachtet. Das Protokoll selbst entwickelt sich rasant weiter: Die Spezifikation wird um neue Fähigkeitstypen, erweiterte Erkennungsmechanismen und Quality-of-Service-Verträge erweitert. Die Übernahme durch die wichtigsten Modell- und Framework-Anbieter beschleunigt sich: OpenAI, Google und Microsoft haben ihre Absicht angekündigt, MCP in ihren Tools zu unterstützen. Langfristig könnte MCP zum De-facto-Standard für die Interoperabilität von KI-Agenten werden und für Multi-Agenten-Systeme die Rolle spielen, die HTTP für das Web gespielt hat. Dieses Forschungsprojekt trägt zu dieser Entwicklung bei, indem es Implementierungsmuster dokumentiert, aktuelle Grenzen des Protokolls identifiziert und Verbesserungen für anspruchsvolle professionelle Anwendungsfälle vorschlägt.
Ziele
- 1Analyse des MCP-Protokolls und seiner Interoperabilitätsfähigkeiten
- 2Integration mit bestehenden Agentenframeworks testen
- 3Leistung und Skalierbarkeit von MCP-Architekturen bewerten
- 4Eine Multi-Agenten-Referenzarchitektur entwerfen
- 5Implementierungsmuster für interne Projekte dokumentieren
Technische Architektur
Referenzarchitektur: Ein zentraler MCP-Orchestrator verwaltet die Verbindungen zwischen spezialisierten Agenten. Jeder Agent stellt seine Fähigkeiten über das MCP-Protokoll zur Verfügung. Ein verteilter Kontextbus gewährleistet die Konsistenz des Austauschs. Das Gesamtsystem wird auf Kubernetes bereitgestellt.
Technologien
TypeScript
Implementierungssprache des MCP-Orchestrators
LangChain
In das MCP-Protokoll integriertes Agentenframework
Kubernetes
Orchestrierung der Agentencontainer
Redis
Verteilter Cache und Kontextbus
GraphQL
Vereinheitlichte API für die Agenteninteraktion