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
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 fileKeine manuelle Arbeit. Der Kontext folgt Ihnen.
Schnellstart
Installation mit einem Befehl
npm install claude-session-continuity-mcpDas war's! Das Postinstall-Skript erledigt automatisch:
Registrierung des MCP-Servers in
~/.claude.jsonInstallation 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 |
|
| Lädt automatisch den Projektkontext beim Sitzungsstart |
|
| Injiziert automatisch relevante Erinnerungen + Suche nach vergangenen Referenzen |
|
| Verfolgt aktive Dateien (Edit, Write) + injiziert automatisch Fehlerlösungen (Bash) |
|
| Strukturierter Übergabekontext vor der Komprimierung |
|
| 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 uninstall3. 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.jsonStammordnername)Lädt Kontext aus
.claude/sessions.dbInjiziert: 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.issuesals 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 fileHook-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=trueErkennung 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 automaticallyUnterstü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 |
| Muster, Strukturen im Codebase gefunden | "Alle Bildschirme sind im features/-Ordner getrennt" |
| Architektur, Bibliotheksentscheidungen | "Entschieden, SharedPreferences für Caching zu verwenden" |
| Neues Wissen, Best Practices | "Riverpod ist besser zum Testen" |
| Aufgetretene Fehler und Lösungen | "Provider.read() baut nicht neu auf → verwende watch()" |
| Wiederkehrende Codemuster, Konventionen | "Vermeide Missbrauch des late-Schlüsselworts" |
Beziehungstypen
Beziehung | Beschreibung | Beispiel |
| Allgemeine Beziehung | A und B sind verwandt |
| A verursacht B | Caching-Entscheidung → Ordnerstrukturänderung |
| A löst B | Riverpod-Erkenntnis → Provider-Bugfix |
| A hängt von B ab | Ordnerstruktur → Caching-Entscheidung |
| A steht im Widerspruch zu B | Zwei Designentscheidungen widersprechen sich |
| A erweitert B | late-Muster → Erweitert auf Riverpod-Erkenntnis |
| A ist Beispiel für B | Spezifischer Code ist Beispiel für Muster |
Datenspeicherung
SQLite-Datenbank unter ~/.claude/sessions.db:
Tabelle | Zweck |
| Klassifizierte Erinnerungen (Beobachtung, Entscheidung, Erkenntnis, Fehler, Muster) |
| Volltext-Suchindex (FTS5) |
| Wissensgraph-Beziehungen |
| Semantische Suchvektoren (multilingual-e5-small, 384d) |
| Feste Projektinformationen (Tech-Stack, Entscheidungen) |
| Aktueller Arbeitsstatus |
| Aufgabenrückstand |
| Fehlerlösungsarchiv |
| Sitzungsverlauf |
Umgebungsvariablen
Variable | Standard | Beschreibung |
| - | Arbeitsbereich-Stammverzeichnis (erforderlich) |
|
| Claude Hooks deaktivieren |
|
| Log-Level (debug/info/warn/error) |
| - | 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:coverageLeistung
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
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