MCP DuckDB Knowledge Graph Memory Server
Eine gegabelte Version des offiziellen Knowledge Graph Memory Server .
Installation
Installation über Smithery
So installieren Sie den DuckDB Knowledge Graph Memory Server für Claude Desktop automatisch über Smithery :
Manuelle Installation
Andernfalls fügen Sie @IzumiSy/mcp-duckdb-memory-server
manuell in Ihre claude_desktop_config.json
ein ( MEMORY_FILE_PATH
ist optional).
Die auf diesem Pfad gespeicherten Daten sind eine DuckDB-Datenbankdatei.
Docker
Bauen
Laufen
Verwendung
Verwenden Sie die Beispielanweisung unten
Motivation
Dieses Projekt erweitert den ursprünglichen MCP Knowledge Graph Memory Server, indem sein Backend durch DuckDB ersetzt wird.
Warum DuckDB?
Der ursprüngliche MCP Knowledge Graph Memory Server verwendete eine JSON-Datei als Datenspeicher und führte In-Memory-Suchen durch. Dieser Ansatz eignet sich zwar gut für kleine Datensätze, bringt aber einige Herausforderungen mit sich:
- Leistung : Die Leistung der In-Memory-Suche nimmt mit zunehmendem Datensatz ab
- Skalierbarkeit : Der Speicherverbrauch steigt erheblich, wenn eine große Anzahl von Entitäten und Beziehungen verarbeitet wird
- Abfrageflexibilität : Komplexe Abfragen und bedingte Suchen sind schwierig zu implementieren
- Datenintegrität : Die Gewährleistung der Atomizität von Transaktionen und CRUD-Operationen ist eine Herausforderung
DuckDB wurde ausgewählt, um diese Herausforderungen zu bewältigen:
- Schnelle Abfrageverarbeitung : DuckDB ist für analytische Abfragen optimiert und bietet auch bei großen Datensätzen eine gute Leistung
- SQL-Schnittstelle : Mit Standard-SQL können komplexe Abfragen einfach ausgeführt werden
- Transaktionsunterstützung : Unterstützt die Transaktionsverarbeitung, um die Datenintegrität aufrechtzuerhalten
- Indizierungsfunktionen : Ermöglicht die Erstellung von Indizes zur Verbesserung der Suchleistung
- Eingebettete Datenbank : Funktioniert innerhalb der Anwendung, ohne dass ein externer Datenbankserver erforderlich ist
Implementierungsdetails
Diese Implementierung verwendet DuckDB als Backend-Speichersystem und konzentriert sich auf zwei Schlüsselaspekte:
Datenbankstruktur
Der Wissensgraph wird in einer relationalen Datenbankstruktur gespeichert, wie unten dargestellt:
Dieses Schemadesign ermöglicht die effiziente Speicherung und Abfrage von Wissensgraphkomponenten, während die Beziehungen zwischen Entitäten, Beobachtungen und Relationen erhalten bleiben.
Implementierung der Fuzzy-Suche
Die Implementierung kombiniert SQL-Abfragen mit Fuse.js für eine flexible Entitätssuche:
- DuckDB SQL-Abfragen rufen die Basisdaten aus der Datenbank ab
- Fuse.js bietet Fuzzy-Matching-Funktionen zusätzlich zu den abgerufenen Daten
- Dieser hybride Ansatz ermöglicht sowohl strukturierte Abfragen als auch flexibles Textmatching
- Die Suchergebnisse umfassen sowohl exakte als auch teilweise Übereinstimmungen, sortiert nach Relevanz
Entwicklung
Aufstellen
Testen
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Ein Speicherserver für Claude, der Wissensgraphdaten in DuckDB speichert und abruft und so die Leistung und Abfragefunktionen für Gespräche mit persistenten Benutzerinformationen verbessert.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn improved implementation of persistent memory using a local knowledge graph with a customizable --memory-path. This lets Claude remember information about the user across chats.Last updated -9156247JavaScriptMIT License
- -securityAlicense-qualityProvides semantic memory and persistent storage for Claude, leveraging ChromaDB and sentence transformers for enhanced search and retrieval capabilities.Last updated -3409PythonMIT License
- -securityFlicense-qualityProvides memory/knowledge graph storage capabilities using Supabase, enabling multiple Claude instances to safely share and maintain a knowledge graph with features like entity storage, concurrent access safety, and full text search.Last updated -6JavaScript
- -securityAlicense-qualityA persistent memory implementation using a local knowledge graph that lets Claude remember information about users across conversations.Last updated -4PythonMIT License