Skip to main content
Glama

linksee-memory

Lokales Agenten-Memory-MCP. Ein agentenübergreifendes Gehirn für Claude Code, Cursor und ChatGPT Desktop — mit einem Token-sparenden Datei-Diff-Cache, den sonst niemand bietet.

npm license

Was es bewirkt

Die meisten "Agenten-Memory"-Dienste (Mem0, Letta, Zep) speichern eine flache Liste von Fakten. Wenn der Agent dann sieht: "Datei X wurde 30 Mal bearbeitet", hat er keine Ahnung warum. linksee-memory speichert das WARUM.

Es ist ein Model Context Protocol (MCP)-Server, der jedem KI-Agenten vier Superkräfte verleiht:

Mem0 / Letta / Zep

Claude Code Auto-Memory

linksee-memory

Agentenübergreifend

△ (Cloud)

❌ Nur Claude

✅ einzelne SQLite-Datei

6-schichtige WARUM-Struktur

❌ flach

❌ flaches Markdown

✅ Ziel / Kontext / Emotion / Impl / Vorbehalt / Lernen

Datei-Diff-Cache

✅ AST-bewusst, 50-99 % Token-Einsparung bei erneutem Lesen

Aktives Vergessen

✅ Ebbinghaus-Kurve, Vorbehalt-Schicht geschützt

Lokal / privat

Drei Säulen

  1. Token-Einsparungen durch read_smart — sha256 + AST/Überschrift/Einrückungs-Chunking. Erneutes Lesen liefert nur Diffs zurück. Gemessene 86 % Einsparung bei einer typischen TS-Datei-Bearbeitung, 99 % Einsparung bei unverändertem erneutem Lesen.

  2. Agentenübergreifende Portabilität — einzelne SQLite-Datei unter ~/.linksee-memory/memory.db. Dasselbe Gehirn für Claude Code, Cursor, ChatGPT Desktop.

  3. WARUM-zuerst strukturiertes Memory — sechs explizite Schichten (Ziel / Kontext / Emotion / Implementierung / Vorbehalt / Lernen). Löst das Problem: "Flaches Fakten-Memory ist ohne Ziele nutzlos".

Installation

npm install -g linksee-memory
linksee-memory-import --help   # bundled importer for Claude Code session history

Oder verwenden Sie npx ad hoc:

npx linksee-memory             # starts the MCP server on stdio

Die Standard-Datenbank befindet sich unter ~/.linksee-memory/memory.db. Überschreiben Sie dies mit der Umgebungsvariable LINKSEE_MEMORY_DIR.

Registrierung bei Claude Code

claude mcp add -s user linksee -- npx -y linksee-memory

Starten Sie Claude Code neu. Die Tools erscheinen als mcp__linksee__remember, mcp__linksee__recall, mcp__linksee__recall_file, mcp__linksee__read_smart, mcp__linksee__forget, mcp__linksee__consolidate.

Optional: Automatische Erfassung jeder Sitzung (Stop-Hook)

Fügen Sie dies zu ~/.claude/settings.json hinzu, um jede Claude Code-Sitzung automatisch in Ihrem lokalen Gehirn aufzuzeichnen:

{
  "hooks": {
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          { "type": "command", "command": "npx -y linksee-memory-sync" }
        ]
      }
    ]
  }
}

Das Ende jedes Turns dauert ca. 100 ms. Fehler werden lautlos behandelt (Claude Code blockiert nie). Protokolle unter ~/.linksee-memory/hook.log.

Tools

Tool

Zweck

remember

Speichert Memory in einer von 6 Schichten für eine Entität

recall

FTS5 + Heat-Score + Momentum-Zusatzranking, JP/EN Trigramm-Suche

recall_file

Ruft die KOMPLETTE Bearbeitungshistorie einer Datei über alle Sitzungen hinweg ab, mit Kontext zur Benutzerabsicht pro Bearbeitung

read_smart

Datei-Lesen nur mit Diffs. Gibt beim ersten Lesen den vollständigen Inhalt zurück, ca. 50 Token bei unverändertem erneutem Lesen, nur geänderte Chunks bei echten Bearbeitungen

forget

Explizites Löschen ODER automatisches Bereinigen basierend auf forgettingRisk (Wichtigkeit × Heat × Alter)

consolidate

Schlafmodus-Kompression: Gruppiert kalte, weniger wichtige Erinnerungen → geschützte Zusammenfassung der Lernschicht

Die 6 Memory-Schichten

Jede Entität (Person / Unternehmen / Projekt / Datei / Konzept) kann Erinnerungen über sechs Schichten hinweg haben. Die Schicht kodiert Bedeutung, nicht Kategorie:

{
  "goal":    { "primary": "...", "sub_tasks": [], "deadline": "..." },
  "context": { "why_now": "...", "triggering_event": "...", "when": "..." },
  "emotion": { "temperature": "hot|warm|cold", "user_tone": "..." },
  "implementation": {
    "success": [{ "what": "...", "evidence": "..." }],
    "failure": [{ "what": "...", "why_failed": "..." }]
  },
  "caveat":  [{ "rule": "...", "reason": "...", "from_incident": "..." }],
  "learning":[{ "at": "...", "learned": "...", "prior_belief": "..." }]
}
  • Vorbehalt-Erinnerungen sind automatisch vor dem Vergessen geschützt (schmerzhafte Lektionen, gehen nie verloren).

  • Ziel-Erinnerungen umgehen den Zerfall, solange das Ziel aktiv ist.

Architektur

Eine einzelne SQLite-Datei (better-sqlite3 + FTS5-Trigramm-Tokenizer für JP/EN) enthält fünf Schichten:

  • Schicht 1entities (Fakten: Personen / Unternehmen / Projekte / Konzepte / Dateien)

  • Schicht 2edges (Assoziationen, Graph-Adjazenz)

  • Schicht 3memories (6-schichtige strukturierte Bedeutungen pro Entität)

  • Schicht 4events (Zeitreihen-Protokoll für Heat / Momentum-Berechnung)

  • Schicht 5file_snapshots + session_file_edits (Diff-Cache + Konversation↔Datei-Verknüpfung)

Die Konversation↔Datei-Verknüpfung ist der Schlüssel. Jede Datei-Bearbeitung, die durch den Stop-Hook erfasst wird, wird zusammen mit der Benutzernachricht gespeichert, die die Bearbeitung ausgelöst hat. recall_file("server.ts") gibt also zurück: "Diese Datei wurde über 3 Tage hinweg 30 Mal bearbeitet, und hier sind die tatsächlichen Benutzeranweisungen, die jede Änderung motiviert haben".

Warum diese Designentscheidungen

  • Lokal-zuerst — Ihre Konversationshistorie ist privat. Nichts verlässt Ihren Rechner.

  • Einzelne Dateimemory.db ist ein portables Artefakt. Backup = Dateikopie.

  • MCP stdio — funktioniert mit jedem Agenten, der MCP spricht, keine Plugins pro Host erforderlich.

  • Wiederverwendung bewährter Schemataheat_score / momentum_score aus einer produktiven Sales-Intelligence-Codebasis portiert. Regelbasiert, keine LLM-Abhängigkeit im kritischen Pfad.

Roadmap

  • ✅ Kern-6 MCP-Tools (remember / recall / recall_file / forget / consolidate / read_smart)

  • ✅ Stop-Hook automatische Erfassung für Claude Code

  • ✅ JP/EN Trigramm FTS5

  • 🚧 PreToolUse-Hook zur automatischen Abfangung von Read (Zero-Config Token-Einsparungen)

  • 🚧 Cursor + ChatGPT Desktop Adapter

  • 🔮 Vektorsuche via sqlite-vec, sobald ein Embedding-Backend gewählt ist (Ollama / API / etc.)

  • 🔮 Optionale anonymisierte Telemetrie → MCP-Qualitäts-Intelligenzschicht

Vergleich mit Claude Code Auto-Memory

Claude Code liefert eine integrierte Memory-Funktion unter ~/.claude/projects/<path>/memory/*.md mit — flache Markdown-Notizen für Benutzerpräferenzen. linksee-memory ergänzt diese:

  • auto-memory = Ihr Notizbuch für "erinnere dich, dass ich X bevorzuge"

  • linksee-memory = strukturiertes agentenübergreifendes Gehirn mit Datei-Diff-Cache und WARUM pro Bearbeitung

Verwenden Sie beides.

Telemetrie (Opt-in, standardmäßig aus)

linksee-memory wird mit Opt-in anonymer Telemetrie ausgeliefert, die uns hilft zu verstehen, welche MCP-Server und Workflows in der Praxis tatsächlich funktionieren. Nichts wird gesendet, es sei denn, Sie aktivieren es explizit. Keine Konversationsinhalte, keine Dateiinhalte, keine Entitätsnamen, keine Projektpfade — niemals.

Aktivieren

export LINKSEE_TELEMETRY=basic     # opt in
export LINKSEE_TELEMETRY=off       # opt out (or just unset the variable)

Was genau gesendet wird (Level 1 Vertrag)

Nachdem jede Claude Code-Sitzung endet, sendet der Stop-Hook einen POST an https://kansei-link-mcp-production.up.railway.app/api/telemetry/linksee, der nur diese Felder enthält:

Feld

Beispiel

Was es ist

anon_id

d7924ced-3879-…

Zufällige UUID, die lokal beim ersten Opt-in generiert wird. Gespeichert unter ~/.linksee-memory/telemetry-id — löschen Sie die Datei zum Zurücksetzen.

linksee_version

0.0.3

Paketversion

session_turn_count

120

Wie viele Turns die Sitzung hatte

session_duration_sec

3600

Wie lange die Sitzung dauerte

file_ops_edit/write/read

12, 2, 40

Nur Zählungen

mcp_servers

["kansei-link","freee","slack"]

Namen der konfigurierten MCP-Server (aus ~/.claude.json). Nur Namen — niemals Befehlspfade.

file_extensions

{".ts":60,".md":30}

Prozentuale Verteilung der berührten Dateiendungen

read_smart_*, recall_*

Zählungen

Tool-Nutzungszähler

Was NIEMALS gesendet wird:

  • ❌ Konversationsnachrichten (Benutzer oder Assistent)

  • ❌ Dateiinhalte

  • ❌ Entitätsnamen, Projektnamen, Dateipfade, URLs

  • ❌ Memory-Schicht-Text (Ziel / Kontext / Emotion / Impl / Vorbehalt / Lernen)

  • ❌ Authentifizierungstoken, API-Schlüssel, Geheimnisse

  • ❌ Ihre IP-Adresse (nur ein Einweg-Hash zur Missbrauchserkennung)

Warum wir fragen

Aggregierte MCP-Nutzungsdaten helfen dem KanseiLink-Projekt zu bewerten, welche Agenten-Integrationen für echte Entwickler tatsächlich funktionieren. Wenn Sie gerne einen Beitrag leisten möchten, dauert das Setzen von LINKSEE_TELEMETRY=basic 1 Sekunde und hilft dem gesamten MCP-Ökosystem, sich zu verbessern.

Das vollständige Payload-Schema und die Validierungslogik sind Open-Source — lesen Sie src/lib/telemetry.ts, wenn Sie genau überprüfen möchten, was Ihren Rechner verlässt.

Lizenz

MIT — Synapse Arrows PTE. LTD.

-
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/michielinksee/linksee-memory'

If you have feedback or need assistance with the MCP directory API, please join our Discord server