Skip to main content
Glama

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://context für den Sitzungskontext bereit

  • Zero-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-hook

Der Befehl --setup-hook führt automatisch folgende Schritte aus:

  1. Erstellt ~/.claude/scripts/memory-context.sh

  2. Fügt einen UserPromptSubmit-Hook zu ~/.claude/settings.json hinzu

  3. Die 30 wichtigsten Erinnerungen werden automatisch in jeden Prompt injiziert

CLI-Befehle

Befehl

Beschreibung

npx claude-memory-fts

Startet den MCP-Server (wird von Claude Code verwendet)

npx claude-memory-fts --context

Gibt die 30 wichtigsten Fakten aus (wird vom Hook-Skript verwendet)

npx claude-memory-fts --setup-hook

Konfiguriert automatisch den Kontext-Injektions-Hook

Konfiguration

Umgebungsvariable

Standardwert

Beschreibung

MEMORY_DB_PATH

~/.claude/memory.db

Pfad zur SQLite-Datenbankdatei

Beispiel mit benutzerdefiniertem Pfad:

claude mcp add memory -e MEMORY_DB_PATH=/path/to/my/memory.db -- npx claude-memory-fts

Tools

memory_save

Speichert einen Fakt im Langzeitgedächtnis.

Parameter

Typ

Erforderlich

Beschreibung

fact

string

ja

Die zu speichernde Information

category

string

nein

Eine der folgenden: preference, decision, personal, technical, project, workflow, general

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

keyword

string

ja

Suchbegriff oder Phrase

limit

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

id

number

ja

Speicher-ID

fact

string

nein

Neuer Inhalt (weglassen, um den aktuellen beizubehalten)

category

string

nein

Neue Kategorie (weglassen, um die aktuelle beizubehalten)

memory_list

Listet alle gespeicherten Erinnerungen nach Kategorien gruppiert auf.

Parameter

Typ

Erforderlich

Beschreibung

category

string

nein

Nach Kategorie filtern

limit

number

nein

Maximale Anzahl der Ergebnisse (Standard: 50)

memory_delete

Löscht eine Erinnerung anhand der ID.

Parameter

Typ

Erforderlich

Beschreibung

id

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

  1. FTS5 + BM25 und semantische Vektorähnlichkeit laufen parallel

  2. Ergebnisse werden zusammengeführt und mittels Reciprocal Rank Fusion (k=60) dedupliziert

  3. Fakten, die in beiden Listen erscheinen, werden natürlich aufgewertet

  4. Wenn beide leer sind, wird auf LIKE-Teilstring-Abgleich zurückgegriffen

  5. 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 Rechner

  • Embeddings 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 test

Lizenz

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

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