claude-memory-fts
claude-memory-fts
MCP-Server für Langzeitgedächtnis für Claude Code. Speichert Fakten in einer lokalen SQLite-Datenbank mit hybrider Suche (FTS5 + semantische Vektorähnlichkeit) und automatischer Kontext-Injektion.
Funktionen
Hybride Suche — FTS5-Stichwortsuche + semantische Vektorähnlichkeit, zusammengeführt via Reciprocal Rank Fusion (RRF)
Semantisches Verständnis — finde Erinnerungen nach Bedeutung, nicht nur nach Stichworten (unterstützt durch all-MiniLM-L6-v2 Embeddings)
Automatische Kontext-Injektion — die 30 wichtigsten Erinnerungen werden bei jedem Prompt automatisch per Hook injiziert
Wichtigkeits-Ranking — Fakten werden nach Zugriffshäufigkeit, Aktualität und Kategoriegewicht sortiert
Zugriffsprotokollierung — verfolgt, wie oft jede Erinnerung abgerufen wird
Upsert — aktualisiert automatisch bestehende Fakten, anstatt sie zu duplizieren
Kategorisiert — Organisation nach Typ: preference, decision, technical, project, workflow, personal, general
MCP-Ressourcen — stellt die Ressource
memory://contextfür den Sitzungskontext bereitZero-Config — funktioniert sofort nach der Installation, speichert Daten in
~/.claude/memory.db
Installation
# Add to Claude Code
claude mcp add memory -- npx claude-memory-fts
# Auto-configure context injection hook (recommended)
npx claude-memory-fts --setup-hookDer Befehl --setup-hook führt automatisch folgende Schritte aus:
Erstellt
~/.claude/scripts/memory-context.shFügt einen
UserPromptSubmit-Hook zu~/.claude/settings.jsonhinzuDie 30 wichtigsten Erinnerungen werden automatisch in jeden Prompt injiziert
CLI-Befehle
Befehl | Beschreibung |
| Startet den MCP-Server (wird von Claude Code verwendet) |
| Gibt die 30 wichtigsten Fakten aus (wird vom Hook-Skript verwendet) |
| Konfiguriert automatisch den Kontext-Injektions-Hook |
Konfiguration
Umgebungsvariable | Standardwert | Beschreibung |
|
| Pfad zur SQLite-Datenbankdatei |
Beispiel mit benutzerdefiniertem Pfad:
claude mcp add memory -e MEMORY_DB_PATH=/path/to/my/memory.db -- npx claude-memory-ftsTools
memory_save
Speichert einen Fakt im Langzeitgedächtnis.
Parameter | Typ | Erforderlich | Beschreibung |
| string | ja | Die zu speichernde Information |
| string | nein | Eine der folgenden: |
memory_search
Hybride Suche: führt FTS5- und semantische Suche parallel aus und führt die Ergebnisse mit RRF zusammen. Fällt bei Teilübereinstimmungen auf LIKE zurück.
Parameter | Typ | Erforderlich | Beschreibung |
| string | ja | Suchbegriff oder Phrase |
| number | nein | Maximale Anzahl der Ergebnisse (Standard: 10) |
memory_update
Aktualisiert den Inhalt oder die Kategorie einer Erinnerung anhand der ID.
Parameter | Typ | Erforderlich | Beschreibung |
| number | ja | Speicher-ID |
| string | nein | Neuer Inhalt (weglassen, um den aktuellen beizubehalten) |
| string | nein | Neue Kategorie (weglassen, um die aktuelle beizubehalten) |
memory_list
Listet alle gespeicherten Erinnerungen nach Kategorien gruppiert auf.
Parameter | Typ | Erforderlich | Beschreibung |
| string | nein | Nach Kategorie filtern |
| number | nein | Maximale Anzahl der Ergebnisse (Standard: 50) |
memory_delete
Löscht eine Erinnerung anhand der ID.
Parameter | Typ | Erforderlich | Beschreibung |
| number | ja | Speicher-ID |
Ressourcen
memory://context
MCP-Ressource, die die 30 wichtigsten Fakten basierend auf einem Wichtigkeits-Score bereitstellt:
Zugriffshäufigkeit — häufig abgerufene Fakten erhalten einen höheren Score (begrenzt auf 20 Punkte)
Aktualität — kürzlich aktualisierte Fakten erhalten einen höheren Score (10 Punkte, nimmt über 90 Tage ab)
Kategoriegewicht — preference/decision (3), workflow/technical (2), project/personal (1), general (0)
Funktionsweise
Such-Pipeline
FTS5 + BM25 und semantische Vektorähnlichkeit laufen parallel
Ergebnisse werden zusammengeführt und mittels Reciprocal Rank Fusion (k=60) dedupliziert
Fakten, die in beiden Listen erscheinen, werden natürlich aufgewertet
Wenn beide leer sind, wird auf LIKE-Teilstring-Abgleich zurückgegriffen
Die Zugriffshäufigkeit wird bei jedem Suchtreffer protokolliert
Embeddings
Modell: all-MiniLM-L6-v2 (384 Dimensionen, ~23MB)
Lokal generiert via
@xenova/transformers— keine API-Aufrufe, keine Daten verlassen Ihren RechnerEmbeddings werden beim Speichern erstellt und beim Serverstart nachgefüllt
Kosinus-Ähnlichkeit mit 0,3-Schwellenwert zur Rauschfilterung
Speicherung
SQLite mit WAL-Modus für schnelle gleichzeitige Lese-/Schreibzugriffe
FTS5-virtuelle Tabelle, die via Trigger für Echtzeit-Volltextindizierung synchronisiert wird
Embeddings werden als BLOB-Spalten zusammen mit den Fakten gespeichert
Entwicklung
git clone https://github.com/kurovu146/claude-memory-mcp.git
cd claude-memory-mcp
npm install
npm run build
npm testLizenz
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kurovu146/claude-memory-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server