Kontaktieren Sie uns
Keine Ergebnisse gefunden.

KI-Apps mit MCP-Speicher-Benchmark & Tutorial

Cem Dilmegani
Cem Dilmegani
aktualisiert am Mär 6, 2026
Siehe unsere ethischen Normen

Wir testeten vier MCP-Speicherserver (Model Context Protocol), um zu messen, welche von ihnen den Kontext über KI-Agentensitzungen hinweg tatsächlich beibehalten und abrufen. Mithilfe des ReAct-Agenten von LangChain verbanden wir jeden Server, führten standardisierte Mehrsitzungsgespräche durch und bewerteten die Genauigkeit der Speicheroperationen.

Wir haben außerdem eine funktionierende Demo entwickelt , die Claude und Cursor über OpenMemory MCP verbindet , eine gemeinsame Speicherschicht, die den Kontext in beiden Tools speichert. Die Demo veranschaulicht die Funktionsweise des Speichers in der Praxis: was gespeichert wird, wann es abgerufen wird und wie der Kontext bestimmt, welche Informationen angezeigt werden .

MCP-Speicherserver-Benchmark-Ergebnisse und Methodik

Wir untersuchten, wie gut große Sprachmodelle (LLMs) Wissen über mehrere Sitzungen hinweg verwalten, den Gesprächskontext bewahren und wichtige Informationen mithilfe externer Speichersysteme abrufen. Wir evaluierten vier verschiedene Implementierungen von MCP-Servern: Handrails 1 , Wissensgraph 2 , Grundlegender Speicher 3 und Zine 4 .

Loading Chart

Ziel unseres Benchmarks ist es, die Leistungsfähigkeit eines MCP-Servers zu messen:

  • Das Gelernte soll während der Pausen präzise wiedergegeben werden, ohne dieselben Fragen zweimal zu stellen.
  • Führen Sie die entsprechenden Speicheroperationen (Lesen, Schreiben, Aktualisieren und Löschen) zum jeweils passenden Zeitpunkt aus.
  • Die Antworten werden unter Berücksichtigung zuvor gespeicherter Benutzerkontext- und Präferenzdaten angepasst.

Beispielinteraktionen in MCP aus dem Datensatz

1. Problem bei der Paketinstallation: Dieses Beispiel testet, wie das System mit einer Situation umgeht, in der ein Benutzer versucht, Software zu installieren und dabei auf Probleme stößt. Hier ist eine Aufschlüsselung der Interaktion:

  • Sitzung 1: „Ich habe Probleme bei der Installation von Paket 25.“
  • Sitzung 2: „Ich habe versucht, apt install zu installieren, erhielt aber die Fehlermeldung „Zugriff verweigert“.
  • Fortsetzung von Sitzung 2: „Das hat funktioniert! Danke!“ (nach dem Vorschlag mit sudo)

Erwartetes Verhalten: Das System sollte protokollieren, dass sudo das Installationsproblem gelöst hat, um ähnliche Fälle in Zukunft nachvollziehen zu können.

2. Anpassungstest an die Benutzerkenntnisse: Dieses Beispiel konzentriert sich darauf, wie das System seine Antworten an den Erfahrungsstand des Benutzers anpasst. Hier ist eine Aufschlüsselung der Interaktion:

  • Sitzung 1: „Ich brauche Hilfe bei meinem Antrag auf Sozialleistungen. Ich bin neu auf diesem Gebiet.“
  • Sitzungspause
  • Sitzung 2: „Danke, aber ich kann mich jetzt nicht einloggen.“

Erwartetes Verhalten: Der Agent sollte sich daran erinnern, dass der Benutzer ein Anfänger ist und eher einfache Erklärungen als fortgeschrittene Schritte zur Fehlerbehebung anbieten.

Speicheroperationen

Jeder Dialog beinhaltet spezifische Speicheroperationen, die der Server durchführt, um seine Fähigkeit zum Speichern/Schreiben , Abrufen/Lesen , Aktualisieren und Bereinigen des Speichers zu testen.

  • Schreiben: Speichern Sie die anfänglichen Geräteinformationen, Symptome und den Kenntnisstand des Benutzers.
  • Lesen Sie: Stellen Sie den vorherigen Kontext beim Fortsetzen der Sitzung wieder her.
  • Aktualisierung: Ergebnisse der Lösungsfindung (Erfolg oder Misserfolg) verfolgen.
  • Löschen: Veraltete Informationen entfernen.

So funktioniert der Benchmark

Unser Benchmark verwendet das ReAct-Agentenframework von LangChain und GPT-4 von OpenAI als Basismodell. Wir testen jeden MCP-Server (Knowledge Graph, Basic Memory, Handrail, Zine) einzeln.

Jedes Szenario wird ausgeführt, um die Speicherstabilität und die Dialogverarbeitung in mehreren Sitzungen des Systems zu überprüfen. Wir haben den Speicher des Systems wie folgt getestet:

  • Validierung und Laden von Datensätzen: Lädt Konversationen aus mehreren Sitzungen im JSON-Format und überprüft die Kernstruktur.
  • Initialisierung des Agenten:
    • Verbindet den MCP-Server mit einem ReAct-Agenten und richtet eine spezifische Systemaufforderung für Speicheroperationen auf dem Agenten ein.
    • Verwendet eine Tool-Zulassungsliste, um Operationen auf relevante Speicherfunktionen zu beschränken.
  • Verarbeitung im Gegenzug : Die Gesprächshistorie wird beibehalten, indem jede Sitzung separat behandelt wird und Sitzungspausen deutlich gekennzeichnet werden, um die Kontinuität zu gewährleisten.
  • Durchsetzung von Speicheroperationen:
    • Setzt Sicherheitsvorkehrungen um, die bewährten Verfahren entsprechen, wie z. B. die Verhinderung von Duplikaten durch die Anforderung einer Überprüfung vor dem Schreiben und die Sicherstellung, dass der Speicher nach Sitzungsunterbrechungen gelesen wird.
    • Bietet die Möglichkeit für Wiederholungsversuche, wenn Schutzmechanismen aktiviert werden.
  • Toolaufrufanalyse:
    • Alle Toolaufrufe werden extrahiert und kategorisiert (Lesen, Schreiben, Aktualisieren, Löschen).
    • Untersucht die Trends in der Werkzeugsequenz über Sitzungsgrenzen hinweg und innerhalb einzelner Werkzeugzüge.
    • Überwacht die Änderungen zwischen verschiedenen Operationsarten, wie z. B. Schreib-Aktualisierung und Lese-Schreiben.
  • Bewertung und Benotung:
    • Vergleicht die anhand der Datensatzannotationen erwarteten Operationen mit den beobachteten Operationen.
    • Ermittelt die Genauigkeit jedes Gesprächsverlaufs und kombiniert Kennzahlen aus vielen Konversationen.
    • Gemessen werden insbesondere Leseverhalten beim Wiedereinstieg in den Arbeitsalltag und Leseverhalten vor dem Schreiben.
  • Fehleranalyse: Erfasst detaillierte Fahrtenprotokolle mit Betriebsinformationen, klassifiziert Fehler, verfolgt Ausfalltrends und erstellt Leistungsberichte und Zusammenfassungen.
  • Ausgabe: Erzeugt CSV-Dateien mit Benchmark-Daten und zusammenfassenden Berichten mit wichtigen Kennzahlen, wodurch die Informationen leicht lesbar werden.

Unsere wichtigste Kennzahl ist die Genauigkeit der Operationen . Sie misst den Prozentsatz der Umdrehungen, bei denen das Modell die erwarteten Speicheroperationen durchführt.

Das Problem besteht darin, dass kein gemeinsamer Speicher zwischen den Werkzeugen vorhanden ist.

Es ist üblich, Tools wie Claude zur Ideengenerierung zu verwenden. Normalerweise nutze ich diesen Plan und wechsle dann zwischen verschiedenen Tools. Ohne gemeinsamen Speicher können sich verschiedene KI-Tools jedoch nicht an frühere Entscheidungen, Architekturvorgaben oder die Feinheiten des Quellcodes erinnern.

Dies wirft mehrere Probleme auf:

  • Der Kontext geht zwischen den Tools verloren: Wenn Sie in einem Tool Änderungen vornehmen, beispielsweise einen Plan aktualisieren oder den Tech-Stack in Claude anpassen, erkennt Cursor diese Änderungen nicht, sobald Sie zu Cursor wechseln. Sie müssen alle Details manuell erneut eingeben. So müssen Sie beispielsweise jedes Mal, wenn Sie zum Projekt zurückkehren, Dinge wie das verwendete Framework (z. B. React mit Redux oder Flutter mit Bloc) erneut angeben.
  • Datenduplizierung: Informationen müssen zudem in verschiedenen Tools wiederholt werden. Beispielsweise müssen der Tech-Stack, das Layout und die Funktionen der App in Cursor neu definiert werden, obwohl sie bereits in Claude festgelegt wurden.
  • Geringere Produktivität: Da die Tools keinen gemeinsamen Speicher nutzen, muss derselbe Kontext ständig neu eingeführt werden.

Wie funktionieren Speicher und MCP zusammen?

Im Memory MCP- System arbeiten alle Ihre KI-Tools, MCP-Clients (z. B. Cursor), zusammen, indem sie sowohl den Speicher als auch das Model Context Protocol (MCP) nutzen.

  • Der Speicher speichert personalisierte, dauerhafte Informationen über Benutzerpräferenzen und wiederkehrende Aufgaben. Cursor merkt sich beispielsweise Ihre bevorzugten Programmiersprachen, Ihren Tonfall und Details zu Ihren Arbeitsabläufen.
  • MCP ermöglicht den Echtzeitzugriff auf dynamische, aufgabenspezifische Daten wie Projektdateien oder APIs während einer Sitzung. Es stellt sicher, dass bei Bedarf aktuelle, kontextspezifische Informationen abgerufen werden.

Einführung in OpenMemory

OpenMemory ist ein von MemZero entwickeltes Tool, das ein einheitliches Speichersystem für mehrere KI-Anwendungen und -Agenten bereitstellt. Man kann es sich wie einen „Speicherchip“ vorstellen, der alle MCP-Clients in einem einzigen, zusammenhängenden Speicherbereich integriert. Es kann lokal oder in der Cloud verwendet werden.

Ein Beispiel auf hohem Niveau, wie OpenMemory für personalisierte, kontextbezogene Chats (mit ChatGPT) eingesetzt wird. 5

Tutorial: OpenMemory MCP

Anforderungen

Bevor wir beginnen, stellen Sie bitte sicher, dass Sie Folgendes vorbereitet haben:

  1. Docker : Erforderlich für den lokalen Betrieb der OpenMemory- und MCP-Server ( Docker installieren ).
  2. Git : Zum Klonen der benötigten Repositories.
  3. OpenMemory: Sie müssenOpenMemory installieren, um lokal mit den LLM-Servern interagieren zu können.
  4. API-Schlüssel : Für die LLM-Interaktionen benötigen Sie Ihren API-Schlüssel. In diesem Beispiel verwenden wir einen OpenAI-API-Schlüssel .

OpenMemory einrichten

Sicherheitshinweis: Bei der Einrichtung und Verwendung von OpenMemory wird empfohlen, private API-Schlüssel, Passwörter oder andere sensible Informationen nicht direkt im Code oder in öffentlichen Repositories zu speichern.

Schritt 1: Klonen Sie das Repository

Der OpenMemory-GitHub-Ordner befindet sich im Ordner „mem“, da „mem“ das Haupt-Repository ist. Um OpenMemory zu erhalten, muss das gesamte „mem“-Repository geklont werden.

1. Gehen Sie zum MemZero-Repository und kopieren Sie den Repository-Link (https://github.com/mem0ai/mem0.git).

2. Öffnen Sie Ihr Terminal und geben Sie git clone gefolgt vom Link zum GitHub-Repository ein.

3. Navigieren Sie zum Verzeichnis : Nach dem Klonen wechseln Sie in den Ordner „mem0“ (geben Sie „cd mem0“ ein) und suchen den Ordner „OpenMemory“ (geben Sie „cd openmemory/“ ein). Anschließend wechseln Sie in diesen Ordner; alle weiteren Befehle werden von dort aus ausgeführt.

Um OpenMemory zum Laufen zu bringen, müssen Sie sowohl die Benutzeroberfläche als auch den MCP-Server ausführen.

Daher müssen Sie Docker installieren, um die Komponenten in Container zu packen. Mit Docker lassen sich sowohl die Benutzeroberfläche als auch der MCP-Server zusammen mit allen ihren Abhängigkeiten in Container verpacken, wodurch eine konsistente Ausführung in verschiedenen Umgebungen gewährleistet wird.

Dies ermöglicht es Ihnen, die Benutzeroberfläche und den MCP-Server einzurichten, auszuführen und zu skalieren, ohne sich um eine manuelle Konfiguration kümmern zu müssen.

Schritt 2: Docker einrichten und Container erstellen

Falls Docker auf Ihrem System nicht installiert ist, laden Sie es von der Docker-Website herunter und installieren Sie es.

Docker-Container erstellen : Führen Sie den folgenden Befehl „make build“ aus, um die Container zu erstellen. Dadurch werden die erforderlichen Abhängigkeiten installiert:

Starten Sie die Container : Nachdem die Container erstellt wurden, starten Sie sie mit dem Befehl „make up“.

Sie müssen `make build` nur einmal ausführen. Danach können Sie bei Bedarf einfach `make up` ausführen, um die Container zu starten.

Um den MCP-Server nutzen zu können, muss Docker auf Ihrem System ausgeführt werden. Solange Sie keinen Zugriff auf die Cloud haben, müssen Sie Docker lokal aktiv halten.

Wenn Sie auf die Registerkarte „Erstellen“ wechseln, können Sie sehen, dass der OpenMemory MCP-Server jetzt betriebsbereit ist :

Der OpenMemory MCP-Server sollte standardmäßig unter http://localhost:8765 laufen.

Schritt 3: MCP-Server einrichten

Nachdem Docker nun läuft, besteht der nächste Schritt darin, den MCP-Server zur Verwaltung der Speicherschicht einzurichten.

Die OpenMemory-Benutzeroberfläche ist standardmäßig unter http://localhost:3000 erreichbar. Wenn Docker ausgeführt wird, ist der MCP-Server unter dieser Adresse lokal verfügbar. Um sicherzustellen, dass der Server ordnungsgemäß läuft, rufen Sie einfach http://localhost:3000 im OpenMemory-Dashboard auf.

Schritt 4: Clients konfigurieren (in diesem Beispiel Claude/Cursor)

Um Claude und Cursor (oder einen anderen Agenten) mit dem gemeinsam genutzten Speichersystem zu verbinden, öffnen Sie das Verzeichnis in Cursor und geben Sie in Ihrem Terminal „cursor“ ein:

Konfigurieren Sie den OpenAI-API-Schlüssel : Öffnen Sie den API-Ordner in der Projektstruktur. Nach dem Öffnen sieht er in etwa so aus, und die Dateistruktur sieht folgendermaßen aus:

Innerhalb der Dateistruktur navigieren Sie zum Ordner „API“ . Dort finden Sie eine Datei namens „av_example“ .

Sie müssen Ihren OpenAI-API-Schlüssel in diese Datei einfügen. Kopieren Sie ihn, benennen Sie die Datei in .env um, indem Sie das Wort „example“ aus dem Dateinamen entfernen, und fügen Sie dann Ihren tatsächlichen API-Schlüssel ein.

Sobald dies abgeschlossen ist, können Sie den Befehl „makeup“ verwenden. Dieser Schritt wird als Voraussetzung genannt, da er für die Interaktion mit LLM erforderlich ist. Aus diesem Grund wird der Open-API-Schlüssel benötigt.

Schritt 5: MCP in den Tools einrichten

Für verschiedene Tools muss das MCP installiert werden. Wir haben den MCP-Link, den Sie in den Einstellungen manuell konfigurieren müssen. Beim Ausführen wird das MCP automatisch zum Claude-Client hinzugefügt. Dasselbe gilt für Cursor.

Sie können sehen, dass ich beide MCPs installiert habe. Hier sind Claude und Cursor installiert:

In Cursor kann man sehen, dass es bereits läuft :

Beispielhafte MCP-Implementierung

Dieses Beispiel zeigt die Verwendung des MCP-Servers. Sie können Claude Desktop öffnen und sich Ideen für verschiedene App-Typen oder Lösungen generieren lassen. In diesem Beispiel erfahren Sie, wie Sie ein Konzept für eine Zeiterfassungs-App erstellen.

Zunächst stellt Claude seinen eigenen Plan vor. Anschließend können Sie die unten aufgeführten Punkte durchgehen und sich dabei auf die Funktionen konzentrieren, die umgesetzt werden sollten.

Nachdem die Änderungen in den ursprünglichen Plan übernommen wurden, können Sie den Plan als „Zeitplan“ im Speicher ablegen.

Die Speicherdetails finden Sie im rechten Tab des OpenMemory-Dashboards. Hier die Speicherdetails:

Alle in diesem Abschnitt gezeigten Bilder stammen aus dem AI Labs MCP Tutorial. 6

Kommen wir nun zu Cursor. Sie können ihm eine Eingabeaufforderung geben wie „Ich möchte eine Zeiterfassungs-App erstellen“ und ihn fragen, ob er die Details aus dem Speicher abrufen kann.

Anschließend nutzte es die MCP-Tools, um die Erinnerungen aufzulisten und zu durchsuchen. Diese Funktion ist äußerst nützlich, da sie nach relevanten Informationen sucht. Beispielsweise wurden bei einer Abfrage zur Zeiterfassungs-App alle Erinnerungen zu diesem Thema abgerufen.

Von dort wurden Details zu Next.js, React, TypeScript und den übrigen zu verwendenden Komponenten abgerufen. Anschließend begann die Entwicklung der Anwendung.

Nach Abschluss der Aufgabe können Sie den Fortschritt im Speicher sichern, was auch geschieht. Dabei werden Fortschrittshinweise hinzugefügt, alles in überschaubare Abschnitte unterteilt und ebenfalls gespeichert. Alle Aktualisierungen sind nun im Speicher gesichert.

Hier ist die erstellte App:

Herausforderungen nach der App-Erstellung

Nach einiger Zeit trat beim Starten eines neuen Chats aufgrund der Kontextgröße ein Fehler auf. Sobald ein neuer Chat gestartet ist, können Sie die App-bezogenen Informationen abrufen. Dazu wurde das MCP-Tool erneut aufgerufen und alle relevanten Daten, wie z. B. den aktuellen Ausführungsort und die bisher durchgeführten Aktionen, abgerufen.

Daraufhin wurde ein Screenshot bereitgestellt, da der Kontrast einiger React-Elemente unzureichend war und der Text nicht lesbar war. Man konnte die Benutzeroberfläche korrigieren lassen, was auch geschah.

Währenddessen rief es sich ständig selbst auf, um das Quellverzeichnis zu finden. Es erkannte jedoch nicht, dass ein Frontend-Ordner existierte.

Wie MCP, Cursor und Claude den Speicher abriefen und verwalteten

Nun möchten Sie sehen, wie es die Erinnerungen tatsächlich abruft.

Wichtig ist vor allem, dass diese Erinnerung mit allen anderen in derselben Sitzung erstellten Erinnerungen verknüpft ist. Fordert der MCP-Client also eine mit „Zeit“ bezeichnete Erinnerung an, ruft er auch die zugehörigen Erinnerungen ab.

Sie können die Quell-App für jeden Speicher überprüfen. Einige wurden von Cursor, andere von Claude erstellt. Wenn Sie den Speicher öffnen, können Sie das Zugriffsprotokoll einsehen, den Status ändern oder den Speicher selbst bearbeiten.

Testen der Fähigkeit des MCP, zwischen Projekten zu unterscheiden

Um zu testen, ob das MCP-System zwischen verschiedenen Projekten unterscheiden kann, ändern Sie den Technologie-Stack auf den MERN-Stack und weisen Sie Claude Desktop an, diese neuen Informationen an den MCP-Server zu übertragen.

Öffnen Sie anschließend Cursor und fragen Sie ab, welcher Technologie-Stack für das neue Projekt verwendet wird. Stellen Sie sicher, dass ausschließlich der MCP verwendet wird und das Projektverzeichnis nicht nach zusätzlichen Informationen durchsucht wird.

Testergebnisse:

Wenn der MCP-Aufruf erfolgt, gerät das System durcheinander und ruft beide Technologie-Stacks ab: den MERN-Stack aus dem vorherigen Projekt und Next.js aus dem neuen Projekt.

Dies zeigt, dass das MCP-System die Kontexte der beiden Projekte nicht trennen konnte.

Obwohl das MCP-System also Daten sitzungsübergreifend speichern kann, kann es gelegentlich vorkommen, dass Informationen aus verschiedenen Projekten vermischt werden.

Schlussgedanken

Das MCP-System ist zwar ein vielversprechender Anfang, benötigt aber eine bessere Speichertrennung für ähnliche Projekte, um Datenüberschneidungen zu vermeiden. Es funktioniert gut für einzelne Projekte oder solche mit unterschiedlichen Namen, doch Verbesserungen bei der Abfrageausführung und der Speicherverwaltung würden es noch leistungsfähiger machen.

Welche weiteren Anwendungsgebiete gibt es für Memory MCP?

1. Multiagenten-Forschungsassistent mit Speicherschicht

Mehrere LLM-Agenten sind auf unterschiedliche Forschungsbereiche spezialisiert (z. B. wissenschaftliche Artikel, GitHub-Repositories, Nachrichten). Jeder Agent speichert seine Ergebnisse im Speicher, die der Master-Agent später nach relevanten Kontexten abfragen kann.

Praxisbeispiel : Anthropisches Multiagenten-Forschungssystem. 7

2. Besprechungsassistent mit persistentem sitzungsübergreifendem Speicher

Ein Assistent speichert Besprechungszusammenfassungen, Aktionspunkte und wichtige Notizen und ruft relevante Kontextinformationen für zukünftige Besprechungen ab.

Praxisbeispiel : Otter.ai ist ein Meeting-Assistent, der wichtige Punkte erfasst und in zukünftigen Sitzungen wieder abruft, um den Kontext zu erhalten. Mehr zu Otter.ai finden Sie unter: KI-Notizener

3. Ein agentenbasierter Codierungsassistent, der sich mit der Nutzung weiterentwickelt.

Programmierassistenten , die aus Nutzungsmustern lernen und Lösungen für wiederkehrende Probleme speichern, indem sie automatisch vergangene Lösungen abrufen und anwenden, um die Produktivität zu steigern.

Praxisbeispiel : GitHub Copilot, ein Programmierassistent, der vom Programmierstil des Entwicklers lernt. Mehr zu kognitiven Agenten finden Sie unter: KI-Agentengedächtnis .

Cem Dilmegani
Cem Dilmegani
Leitender Analyst
Cem ist seit 2017 leitender Analyst bei AIMultiple. AIMultiple informiert monatlich Hunderttausende von Unternehmen (laut similarWeb), darunter 55 % der Fortune 500. Cems Arbeit wurde von führenden globalen Publikationen wie Business Insider, Forbes und der Washington Post, von globalen Unternehmen wie Deloitte und HPE sowie von NGOs wie dem Weltwirtschaftsforum und supranationalen Organisationen wie der Europäischen Kommission zitiert. Weitere namhafte Unternehmen und Ressourcen, die AIMultiple referenziert haben, finden Sie hier. Im Laufe seiner Karriere war Cem als Technologieberater, Technologieeinkäufer und Technologieunternehmer tätig. Über ein Jahrzehnt lang beriet er Unternehmen bei McKinsey & Company und Altman Solon in ihren Technologieentscheidungen. Er veröffentlichte außerdem einen McKinsey-Bericht zur Digitalisierung. Bei einem Telekommunikationsunternehmen leitete er die Technologiestrategie und -beschaffung und berichtete direkt an den CEO. Darüber hinaus verantwortete er das kommerzielle Wachstum des Deep-Tech-Unternehmens Hypatos, das innerhalb von zwei Jahren von null auf einen siebenstelligen jährlichen wiederkehrenden Umsatz und eine neunstellige Unternehmensbewertung kam. Cems Arbeit bei Hypatos wurde von führenden Technologiepublikationen wie TechCrunch und Business Insider gewürdigt. Er ist ein gefragter Redner auf internationalen Technologiekonferenzen. Cem absolvierte sein Studium der Informatik an der Bogazici-Universität und besitzt einen MBA der Columbia Business School.
Vollständiges Profil anzeigen

Seien Sie der Erste, der kommentiert

Ihre E-Mail-Adresse wird nicht veröffentlicht. Alle Felder sind erforderlich.

0/450