Graphiti Local: ein lokaler temporaler Wissensgraph mit freigegebenen Schreibzugriffen

September 11, 2026 · 3 min read · open-source, knowledge-graph, mcp
Für Entscheider in 20 Sekunden

Problem: Gedächtnis-Server für Agenten geben dem Modell meist ein Werkzeug zum Schreiben, oft auch eines zum Löschen. Der Graph enthält dann, was das Modell für wahr hielt, und niemand kann sagen, wer einen Fakt dort abgelegt hat, oder ihn sauber zurücknehmen.

Lösung: Graphiti Local trennt die beiden Wege. Agenten lesen über sechs MCP-Werkzeuge und eine kg-Kommandozeile, die nicht schreiben können. Fakten kommen über eine Vorschlags-Warteschlange herein, eine Person gibt sie frei, und ein eigener Befehl übernimmt sie in den Graphen.

Geschäftswert: Dieselbe Lese-Schnittstelle trägt die Kontextschicht eines Unternehmens auf dessen eigenem Tenant und meine eigenen Arbeitsgraphen, auf FalkorDB, Neo4j oder einer einzelnen LadybugDB-Datei, mit OpenAI, Azure OpenAI oder einem lokalen Modell über Ollama.

Rahmen: Die Regel, die ich in Kundensysteme baue, als Werkzeug veröffentlicht: Das Modell liest, eine Person zeichnet. Das Werkzeug ist der Beleg, nicht das Angebot.

6
Lese-Werkzeuge über MCP Read-only MCP tools
Kein Schreiben, Löschen oder Leeren No write, delete or clear
0
Schreib-Werkzeuge über MCP Write tools over MCP
Schreiben erst nach Freigabe Writes wait for a person's approval
3
Graph-Backends Graph backends
FalkorDB, Neo4j, LadybugDB FalkorDB, Neo4j, LadybugDB
11
kg-Befehle kg commands
JSON auf stdout, Exit-Code bei Ablehnung JSON on stdout, non-zero exit on refusal

Warum der Agent nur liest

Ein Agent mit einem Schreib-Werkzeug für sein eigenes Gedächtnis wird es benutzen. Er speichert eine Vermutung als Fakt, führt zwei Kunden mit gleichem Namen zusammen oder löscht den Fakt, der seinem Plan widersprach. Nichts davon ist böswillig. Das Werkzeug lädt dazu ein.

Graphiti Local nimmt diese Einladung weg. Der MCP-Server registriert genau sechs Werkzeuge, search_nodes, search_memory_facts, get_entity_edge, get_episodes, get_episode_entities und get_status, und hat überhaupt keine Werkzeuge zum Schreiben, Löschen, Leeren, Freigeben oder Warten. Es baut auf Graphiti auf, sodass jeder Fakt seinen Gültigkeitszeitraum und seine Quell-Episode behält. Der Leitfaden zum temporalen Wissensgraphen erklärt dieses Modell.

Wie ein Fakt hineinkommt

  • kg propose GRUPPE "Fakt" --type source-fact --provenance "Quelle" hängt einen Vorschlag an eine lokale Warteschlange an. Der Graph bleibt unberührt.
  • Eine Person gibt ihn mit kg-workspace approve frei, prüft den Probelauf von kg-workspace drain und ergänzt --apply, wenn er bereit ist.
  • Ein Vorschlag wird erst archiviert, wenn er tatsächlich übernommen ist. Eine fehlgeschlagene Übernahme lässt ihn freigegeben, sodass der nächste Lauf ihn erneut versucht.
  • Die konfigurierten Gruppen bilden eine Positivliste für Lesezugriffe und für Vorschläge. Ein Fakt an eine unbekannte Gruppe wird abgewiesen, nicht eingereiht.

Die Massenübernahme ist ein eigener Befehl, kg-ingest. Er läuft standardmäßig als Probelauf, setzt über ein inhaltsbasiertes Protokoll fort, statt Datensätze doppelt anzulegen, und hält bei SIGTERM an einer Datensatzgrenze an.

Gebaut für den unbeaufsichtigten Betrieb

Jeder kg-Befehl gibt JSON auf stdout aus und endet mit einem Fehlercode, wenn er ablehnt. Ein geplanter Job oder ein Agent kann das Ergebnis also verarbeiten, ohne Text auszulesen. Jeder Graph-Aufruf hat ein Zeitlimit, sodass ein hängendes Backend kg mit einer Begründung beendet, statt einen Agenten warten zu lassen.

Zwei Befehle prüfen eine Einrichtung, bevor irgendetwas davon abhängt. kg doctor prüft Versionen, Konfiguration, Arbeitsbereich, Backend und live die Breite der Embeddings. kg verify prüft die sechs Lese-Werkzeuge, das Fehlen von Schreib-Werkzeugen und die Suche im laufenden Graphen. Die Prüfung der Embedding-Breite gibt es, weil eine Abweichung jeden Vektor ohne Fehlermeldung verdirbt, und ein Modellwechsel bei gleicher Breite ebenso: Graphiti Local merkt sich den Embedder des ersten Schreibvorgangs und lehnt eine spätere Übernahme mit einem anderen ab.

Portabilität

kg export schreibt einen Snapshot aus den Modellen von Graphiti statt aus Backend-Zeilen, sodass er gleich lesbar ist, egal welches Backend ihn erzeugt hat. kg-ingest --restore spielt ihn in ein anderes Backend ein und bettet jeden Namen und jeden Fakt mit dem konfigurierten Modell neu ein. Das ist zugleich der Weg zu einem neuen Embedder. Datensätze behalten ihre IDs, sodass eine zweite Wiederherstellung aktualisiert statt zu duplizieren.

Ohne Cloud-Anbieter

Mit einem lokalen Modell über Ollama, einem lokalen Embedder und dem eingebetteten LadybugDB-Backend läuft der Graph vollständig auf einem Rechner: ohne API-Schlüssel und ohne dass Daten den Rechner verlassen. Im eingebetteten Backend öffnen die Leser die Datei nur lesend, sodass eine Übernahme laufen kann, während der MCP-Server aktiv ist.

Wo es eingesetzt wird

In der Arbeit mit Kunden ist Graphiti Local die Lese-Schnittstelle der Kontextschicht für KI-Agenten auf dem eigenen Tenant des Unternehmens. Die Fallstudie zeigt die Schicht mit ihren Freigaben und ihrem Audit-Trail.

Hier anfangen

Graphiti Local ist ein unabhängiges Community-Projekt auf Basis von Graphiti. Es steht in keiner Verbindung zu Zep und wird von Zep weder unterstützt noch empfohlen. Angaben aus dem Repository mit Stand 11. September 2026.

Stack Stack

  • Python 3.10+, auf Basis von graphiti-core
  • FalkorDB oder Neo4j als Server, LadybugDB eingebettet in einer Datei
  • MCP über stdio oder Streamable HTTP mit Bearer-Token
  • OpenAI, Azure OpenAI oder jeder OpenAI-kompatible Endpunkt wie Ollama
  • Apache-2.0

Ähnliches Projekt auf dem Tisch? Similar project on your desk?

Am schnellsten klärt das ein Gespräch. Termin direkt hier wählen: The fastest way to scope it is a conversation. Pick a slot right here:

Konzept in 24h · Stundensatz vorab vereinbart · Abrechnung nach geleisteten Stunden

Die Kontextschicht für Ihre KI-Agenten

Ihre Agenten antworten aus dem, was die Suche gerade findet, und oft ist das der Stand vom letzten Quartal. Ich baue die Kontextschicht, aus der sie antworten und handeln: einen temporalen Wissensgraphen, der jeden Fakt mit Quelle und Gültigkeitszeitraum hält, mit den Rechten der jeweiligen Person liest und nichts ohne Freigabe einer Person schreibt. Auf Ihrem eigenen Tenant, nach Stunden abgerechnet, Schritt für Schritt.

Ihr Automatisierungskonzept in 24 Stunden

Zwei Felder. Ich antworte innerhalb von 24 Stunden mit einem schriftlichen Konzept: entweder mit Stundenschätzung samt Umsetzungsdauer oder mit einer klaren Absage inklusive Begründung.

Vorher sehen, was Sie bekommen: Beispiel-Konzept →

Ihre Angaben werden ausschließlich zur Beantwortung dieser Anfrage verwendet — keine Weitergabe, kein Newsletter. Datenschutz

Lieber erst sprechen? 30-Minuten-Gespräch buchen →

Anfrage eingegangen

Ich antworte innerhalb von 24 Stunden mit einer ehrlichen Einschätzung.

Lieber direkt sprechen? 30-Minuten-Roadmap-Gespräch →
KI-Pilot prüfen lassen