Skip to main content
Glama
leesgit

claude-session-continuity-mcp

claude-session-continuity-mcp (v1.13.0)

Sitzungskontinuität für Claude Code ohne erneute Erklärungen — Automatische Kontexterfassung + semantische Suche + Auto-Fehler-zu-Lösung-Pipeline

npm version License: MIT Tests Node claude-session-continuity-mcp MCP server

Das Problem

Jede neue Claude Code-Sitzung:

"This is a Next.js 15 project with App Router..."
"We decided to use Server Actions because..."
"Last time we were working on the auth system..."
"The build command is pnpm build..."

5 Minuten Kontext-Einstellung. Jedes. Einzelne. Mal.

Die Lösung

Vollautomatisch. Claude Hooks erledigen alles ohne manuelle Aufrufe:

# Session start → Auto-loads relevant context + recent session history
# When asking → Auto-injects relevant memories/solutions
# During conversation → Tracks active files + auto-injects error solutions
# On compact → Structured handover context for continuity
# On exit → Extracts commits, decisions, error-fix pairs from transcript
← Auto-output on session start:
# my-app - Session Resumed

📍 **State**: Implementing signup form

## Recent Sessions
### 2026-02-28
**Work**: Completed OAuth integration with Google provider
**Commits**: feat: add OAuth callback handler; fix: redirect URI config
**Decisions**: Use Server Actions instead of API routes

### 2026-02-27
**Work**: Set up authentication foundation
**Next**: Implement signup form validation

## Directives
- 🔴 Always use Zod for form validation
- 📎 Prefer Server Components by default

## Key Memories
- 🎯 Decided on App Router, using Server Actions
- ⚠️ OAuth redirect_uri mismatch → check env file

Keine manuelle Arbeit. Der Kontext folgt Ihnen.


Schnellstart

Installation mit einem Befehl

npm install claude-session-continuity-mcp

Das war's! Das Postinstall-Skript erledigt automatisch:

  1. Registrierung des MCP-Servers in ~/.claude.json

  2. Installation der Claude Hooks in ~/.claude/settings.json

Was wird installiert

MCP-Server (in ~/.claude.json):

{
  "mcpServers": {
    "project-manager": {
      "command": "npx",
      "args": ["claude-session-continuity-mcp"]
    }
  }
}

Claude Hooks (in ~/.claude/settings.json):

{
  "hooks": {
    "SessionStart": [{ "hooks": [{ "type": "command", "command": "npm exec -- claude-hook-session-start" }] }],
    "UserPromptSubmit": [{ "hooks": [{ "type": "command", "command": "npm exec -- claude-hook-user-prompt" }] }],
    "PostToolUse": [{ "matcher": "Edit", "hooks": [{ "type": "command", "command": "npm exec -- claude-hook-post-tool" }] }, { "matcher": "Write", "hooks": [{ "type": "command", "command": "npm exec -- claude-hook-post-tool" }] }],
    "PreCompact": [{ "hooks": [{ "type": "command", "command": "npm exec -- claude-hook-pre-compact" }] }],
    "Stop": [{ "hooks": [{ "type": "command", "command": "npm exec -- claude-hook-session-end" }] }]
  }
}

Hinweis (v1.5.0+): Vollständige Lebenszyklus-Abdeckung mit 5 Hooks. Verwendet npm exec --, das zuerst lokale node_modules/.bin findet.

Installierte Hooks (v1.5.0+)

Hook

Befehl

Funktion

SessionStart

claude-hook-session-start

Lädt automatisch den Projektkontext beim Sitzungsstart

UserPromptSubmit

claude-hook-user-prompt

Injiziert automatisch relevante Erinnerungen + Suche nach vergangenen Referenzen

PostToolUse

claude-hook-post-tool

Verfolgt aktive Dateien (Edit, Write) + injiziert automatisch Fehlerlösungen (Bash)

PreCompact

claude-hook-pre-compact

Strukturierter Übergabekontext vor der Komprimierung

Stop

claude-hook-session-end

Extrahiert Commits, Entscheidungen, Fehler-Lösungs-Paare aus dem Transkript

Manuelle Hook-Verwaltung

# Check hook status
npx claude-session-hooks status

# Reinstall hooks
npx claude-session-hooks install

# Remove hooks
npx claude-session-hooks uninstall

3. Claude Code neu starten

Starten Sie nach der Installation Claude Code neu, um die Hooks zu aktivieren.


Funktionen

Funktion

Beschreibung

🤖 Keine manuelle Arbeit

Claude Hooks automatisieren die gesamte Kontexterfassung/-ladung

🎯 Nur Qualitäts-Gedächtnis

(v1.10.0) Nur Entscheidungen, Erkenntnisse, Fehler — kein Rauschen durch Dateiänderungen

🧠 Semantische Suche

multilingual-e5-small Embedding (94+ Sprachen, 384d)

🌍 Mehrsprachig

Koreanisch/Englisch/Japanisch + sprachübergreifende Suche (EN→KR, KR→EN)

🔗 Git-Integration

Commit-Nachrichten werden automatisch aus Transkripten extrahiert

🕸️ Wissensgraph

Gedächtnisbeziehungen (löst, verursacht, erweitert...)

📊 Gedächtnisklassifizierung

5 Typen: Beobachtung, Entscheidung, Erkenntnis, Fehler, Muster

Integrierte Verifizierung

Build/Test/Lint-Ausführung mit einem Klick

📋 Aufgabenverwaltung

Aufgabenverwaltung basierend auf Prioritäten

🔧 Auto Fehler→Lösung

(v1.12.0) Bash-Fehler werden automatisch erkannt → injiziert vergangene Lösungen; Sitzungsende zeichnet Fehler-Lösungs-Paare automatisch auf

💰 Token-Effizienz

(v1.11.0) loadContext aus UserPromptSubmit entfernt (spart 24-60K Token/Sitzung)

📑 Progressive Offenlegung

(v1.11.0) memory_search gibt zuerst den Index zurück, memory_get für den vollständigen Inhalt

Zeitlicher Zerfall

(v1.11.0) Gedächtnisbewertung mit typspezifischen Halbwertszeiten für Relevanz

📝 Strukturierte Übergabe

(v1.10.0) PreCompact speichert Arbeitszusammenfassung, aktive Dateien, anstehende Aktionen

🚪 Intelligentes Sitzungsende

(v1.10.0) Extrahiert Commits, Entscheidungen, Fehler-Lösungs-Paare aus dem Transkript

🗑️ Automatische Rauschbereinigung

(v1.10.0) Löscht automatisch veraltete Beobachtungserinnerungen (3d+)

🔍 Erkennung vergangener Referenzen

(v1.8.0) "Wie haben wir das letzte Mal X gemacht?" durchsucht automatisch die DB

📝 Extraktion von Benutzeranweisungen

(v1.8.0) Extrahiert automatisch "immer/nie"-Regeln aus Prompts


Claude Hooks - Auto-Kontext-System

Funktionsweise

SessionStart Hook (npx claude-hook-session-start):

  • Erkennt automatisch das Projekt: Monorepo (apps/project-name/) oder Einzelprojekt (package.json Stammordnername)

  • Lädt Kontext aus .claude/sessions.db

  • Injiziert: Aktueller Status, 3 kürzliche Sitzungen mit Commits/Entscheidungen, Anweisungen, anstehende Aufgaben, gefilterte Schlüssel-Erinnerungen

  • Bereinigt automatisch veraltete Rausch-Erinnerungen (3d+ automatisch verfolgt, 14d+ automatisch komprimiert)

UserPromptSubmit Hook (npx claude-hook-user-prompt):

  • Läuft bei jeder Prompt-Übermittlung

  • (v1.11.0) Ruft nicht mehr loadContext() auf — spart 24-60K Token/Sitzung

  • Injiziert relevanten Kontext (gefiltert: nur Entscheidungen, Erkenntnisse, Fehler)

PostToolUse Hook (npx claude-hook-post-tool):

  • Verfolgt Hot-Dateipfade und aktualisiert active_context.recent_files

  • (v1.12.0) Erkennt automatisch Bash-Fehler → durchsucht Lösungs-DB → injiziert vergangene Lösungen in den Kontext

  • Erstellt keine Beobachtungserinnerungen mehr (v1.10.0 — eliminiert [File Change]-Rauschen)

PreCompact Hook (npx claude-hook-pre-compact):

  • Erstellt strukturierten Übergabekontext: Arbeitszusammenfassung, aktive Datei, anstehende Aktion, Schlüsselfakten, kürzliche Fehler

  • Speichert keine Auto-Kompakt-Erinnerungen mehr (v1.10.0)

Stop Hook (npx claude-hook-session-end):

  • Extrahiert Commit-Nachrichten aus dem JSONL-Transkript (git commit -m-Muster)

  • Extrahiert Fehler-Lösungs-Paare (Fehler → Lösung innerhalb von 3 Nachrichten)

  • (v1.12.0) Zeichnet Fehler→Lösungs-Paare automatisch in der Lösungstabelle für zukünftige Wiederverwendung auf

  • Extrahiert Entscheidungen ("weil", "anstatt", "wählte"-Muster)

  • (v1.11.0) Ein-Durchlauf-Transkript-Parsing (4 JSONL-Lesevorgänge → 1)

  • Speichert strukturierte Metadaten in der Spalte sessions.issues als JSON

Beispielausgabe (Sitzungsstart)

# my-app - Session Resumed

📍 **State**: Implementing signup form
🚧 **Blocker**: OAuth callback URL issue

## Recent Sessions
### 2026-02-28
**Work**: Completed OAuth integration
**Commits**: feat: add OAuth handler; fix: redirect config
**Decisions**: Use Server Actions over API routes
**Next**: Implement form validation

## Directives
- 🔴 Always use Zod for validation

## Pending Tasks
- 🔄 [P8] Implement form validation
- ⏳ [P5] Add error handling

## Key Memories
- 🎯 Decided on App Router, using Server Actions
- ⚠️ OAuth redirect_uri mismatch → check env file

Hook-Verwaltung

# Check status
npx claude-session-hooks status

# Reinstall
npx claude-session-hooks install

# Remove
npx claude-session-hooks uninstall

# Temporarily disable
export MCP_HOOKS_DISABLED=true

Erkennung vergangener Referenzen (v1.8.0)

Wenn Sie nach vergangener Arbeit fragen, durchsucht der UserPromptSubmit-Hook automatisch die Datenbank:

You: "저번에 인앱결제 어떻게 했어?"
→ Hook detects "저번에" + extracts keyword "인앱결제"
→ Searches sessions, memories (FTS5), and solutions
→ Injects matching results into context automatically

Unterstützte Muster (Koreanisch & Englisch):

Muster

Beispiel

저번에/전에/이전에 ... 어떻게

"Wie haben wir das letzte Mal den CORS-Fehler gelöst?"

~했던/만들었던/해결했던

"Die Login-Logik, die wir geändert haben"

지난 세션/작업에서

"Zahlungsimplementierung in der letzten Sitzung"

last time/before/previously

"Wie sind wir letztes Mal mit der Authentifizierung umgegangen?"

did we/did I ... before

"Haben wir die Datenbankmigration schon einmal behoben?"

remember when/recall when

"Erinnerst du dich, als wir CI eingerichtet haben?"

Ausgabebeispiel:

## Related Past Work (auto-detected from your question)

### Sessions
- [2/14] 카카오 로그인 앱키 수정, 인앱결제 IAP 플로우 수정

### Memories
- 🎯 [decision] 테스트: 인앱결제 상품 등록 완료

### Solutions
- **IAP_BILLING_ERROR**: StoreKit 2 migration으로 해결

Warum npm exec? (v1.4.3+)

Frühere Versionen verwendeten absolute Pfade oder npx:

// v1.3.x - absolute paths (broke on multi-project)
"command": "node \"/path/to/project-a/node_modules/.../session-start.js\""

// v1.4.0-1.4.2 - npx (required global install or hit npm registry)
"command": "npx claude-hook-session-start"

Jetzt verwenden wir npm exec --:

"command": "npm exec -- claude-hook-session-start"

npm exec -- findet zuerst lokale node_modules/.bin, dann greift es auf globale zurück. Funktioniert sowohl mit lokaler als auch mit globaler Installation, ohne den npm-Registry-Server zu belasten.


Tools (v5 API) - 25 fokussierte Tools

1. Sitzungslebenszyklus (4) ⭐

// Start of session - auto-loads context
session_start({ project: "my-app", compact: true })

// End of session - auto-saves context
session_end({
  project: "my-app",
  summary: "Completed auth flow",
  modifiedFiles: ["src/auth.ts", "src/login/page.tsx"]
})

// View session history
session_history({ project: "my-app", limit: 5 })

// Semantic search past sessions
search_sessions({ query: "auth work", project: "my-app" })

2. Projektmanagement (4)

// Get project status with task stats
project_status({ project: "my-app" })

// Initialize new project
project_init({ project: "my-app" })

// Analyze project tech stack
project_analyze({ project: "my-app" })

// List all projects
list_projects()

3. Aufgabenverwaltung (4)

// Add a task
task_add({ project: "my-app", title: "Implement signup", priority: 8 })

// Update task status
task_update({ taskId: 1, status: "done" })

// List tasks
task_list({ project: "my-app", status: "pending" })

// Suggest tasks from TODO comments
task_suggest({ project: "my-app" })

4. Lösungsarchiv (3)

// Record an error solution
solution_record({
  errorSignature: "TypeError: Cannot read property 'id'",
  solution: "Use optional chaining: user?.id"
})

// Find similar solutions (keyword or semantic)
solution_find({ query: "TypeError property", semantic: true })

// AI-powered solution suggestion
solution_suggest({ errorMessage: "Cannot read property 'email'" })

5. Verifizierung (3)

// Run build
verify_build({ project: "my-app" })

// Run tests
verify_test({ project: "my-app" })

// Run all (build + test + lint)
verify_all({ project: "my-app" })

6. Gedächtnissystem (5)

// Store a classified memory
memory_store({
  content: "State management with Riverpod makes testing easier",
  type: "learning",  // observation, decision, learning, error, pattern
  project: "my-app",
  tags: ["flutter", "state-management"],
  importance: 8,
  relatedTo: 23  // Connect to existing memory
})

// Search memories — returns index (id, type, tags, score) for token efficiency
memory_search({
  query: "state management test",
  type: "learning",
  semantic: true,  // Use embedding similarity
  limit: 10
})

// Get full memory content by ID (v1.11.0)
memory_get({ memoryId: 23 })

// Find related memories (graph + semantic)
memory_related({
  memoryId: 23,
  includeGraph: true,
  includeSemantic: true
})

// Get memory statistics
memory_stats({ project: "my-app" })

7. Wissensgraph (2)

// Connect two memories with a typed relation
graph_connect({
  sourceId: 23,
  targetId: 25,
  relation: "solves",  // related_to, causes, solves, depends_on, contradicts, extends, example_of
  strength: 0.9
})

// Explore knowledge graph
graph_explore({
  memoryId: 23,
  depth: 2,
  relation: "all",  // or specific relation type
  direction: "both"  // outgoing, incoming, both
})

Gedächtnistypen

Typ

Beschreibung

Anwendungsfall

observation

Muster, Strukturen im Codebase gefunden

"Alle Bildschirme sind im features/-Ordner getrennt"

decision

Architektur, Bibliotheksentscheidungen

"Entschieden, SharedPreferences für Caching zu verwenden"

learning

Neues Wissen, Best Practices

"Riverpod ist besser zum Testen"

error

Aufgetretene Fehler und Lösungen

"Provider.read() baut nicht neu auf → verwende watch()"

pattern

Wiederkehrende Codemuster, Konventionen

"Vermeide Missbrauch des late-Schlüsselworts"

Beziehungstypen

Beziehung

Beschreibung

Beispiel

related_to

Allgemeine Beziehung

A und B sind verwandt

causes

A verursacht B

Caching-Entscheidung → Ordnerstrukturänderung

solves

A löst B

Riverpod-Erkenntnis → Provider-Bugfix

depends_on

A hängt von B ab

Ordnerstruktur → Caching-Entscheidung

contradicts

A steht im Widerspruch zu B

Zwei Designentscheidungen widersprechen sich

extends

A erweitert B

late-Muster → Erweitert auf Riverpod-Erkenntnis

example_of

A ist Beispiel für B

Spezifischer Code ist Beispiel für Muster


Datenspeicherung

SQLite-Datenbank unter ~/.claude/sessions.db:

Tabelle

Zweck

memories

Klassifizierte Erinnerungen (Beobachtung, Entscheidung, Erkenntnis, Fehler, Muster)

memories_fts

Volltext-Suchindex (FTS5)

memory_relations

Wissensgraph-Beziehungen

embeddings_v4

Semantische Suchvektoren (multilingual-e5-small, 384d)

project_context

Feste Projektinformationen (Tech-Stack, Entscheidungen)

active_context

Aktueller Arbeitsstatus

tasks

Aufgabenrückstand

solutions

Fehlerlösungsarchiv

sessions

Sitzungsverlauf


Umgebungsvariablen

Variable

Standard

Beschreibung

WORKSPACE_ROOT

-

Arbeitsbereich-Stammverzeichnis (erforderlich)

MCP_HOOKS_DISABLED

false

Claude Hooks deaktivieren

LOG_LEVEL

info

Log-Level (debug/info/warn/error)

LOG_FILE

-

Optionaler Dateipfad für Logging


Entwicklung

# Clone
git clone https://github.com/leesgit/claude-session-continuity-mcp.git
cd claude-session-continuity-mcp

# Install
npm install

# Build
npm run build

# Test
npm test

# Test with coverage
npm run test:coverage

Leistung

Metrik

Wert

Kontextladen (zwischengespeichert)

<5ms

Gedächtnissuche (FTS)

~10ms

Semantische Suche

~50ms

Build-Verifizierung

Projektabhängig


Roadmap

  • [x] v2 API (15 fokussierte Tools)

  • [x] v4 API (24 Tools - Gedächtnis + Graph)

  • [x] v5 Claude Hooks (Auto-Erfassung)

  • [x] Wissensgraph mit typisierten Beziehungen

  • [x] Gedächtnisklassifizierung (6 Typen)

  • [x] Semantische Suche (Embeddings)

  • [x] Mehrsprachige Mustererkennung (KO/EN/JA)

  • [x] Git-Commit-Integration

  • [x] 111 Tests (6 Test-Suiten)

  • [x] GitHub Actions CI/CD

  • [x] Mehrsprachige semantische Suche (v1.6.0 - multilingual-e5-small)

  • [x] Sprachübergreifende Suche EN↔KR (v1.6.0)

  • [x] Semantische Lösungssuche (v1.6.0)

  • [x] Pfad für Hook-Einstellungsdatei korrigieren (v1.6.1 - settings.json, nicht settings.local.json)

  • [x] Legacy-Hooks automatisch migrieren (v1.6.1)

  • [x] PostToolUse-Matcher-Format auf String korrigieren (v1.6.3)

  • [x] README-Dokumentation für neues Hook-Format korrigieren (v1.6.4)

  • [x] Verbesserungen beim Überspringen leerer Sitzungen und Speichern des Tech-Stacks (v1.7.1)

  • [x] Automatische Erkennung vergangener Referenzen im UserPromptSubmit-Hook (v1.8.0)

  • [x] Extra

Install Server
A
security – no known vulnerabilities
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/leesgit/claude-session-continuity-mcp'

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