Skip to main content
Glama
leesgit

claude-session-continuity-mcp

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

Continuidad de sesión sin re-explicación para Claude Code — Captura automática de contexto + búsqueda semántica + pipeline automático de error→solución

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

El problema

Cada nueva sesión de Claude Code:

"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 minutos configurando el contexto. Cada. Vez.

La solución

Totalmente automática. Los Claude Hooks se encargan de todo sin llamadas manuales:

# 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

Cero trabajo manual. El contexto te sigue.


Inicio rápido

Instalación con un comando

npm install claude-session-continuity-mcp

¡Eso es todo! El script postinstall automáticamente:

  1. Registra el servidor MCP en ~/.claude.json

  2. Instala los Claude Hooks en ~/.claude/settings.json

Qué se instala

Servidor MCP (en ~/.claude.json):

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

Claude Hooks (en ~/.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" }] }]
  }
}

Nota (v1.5.0+): Cobertura completa del ciclo de vida con 5 hooks. Utiliza npm exec -- que busca primero en node_modules/.bin local.

Hooks instalados (v1.5.0+)

Hook

Comando

Función

SessionStart

claude-hook-session-start

Carga automáticamente el contexto del proyecto al iniciar la sesión

UserPromptSubmit

claude-hook-user-prompt

Inyecta automáticamente memorias relevantes + búsqueda de referencias pasadas

PostToolUse

claude-hook-post-tool

Rastrea archivos activos (Edit, Write) + inyecta automáticamente soluciones a errores (Bash)

PreCompact

claude-hook-pre-compact

Contexto de entrega estructurado antes de la compresión

Stop

claude-hook-session-end

Extrae commits, decisiones y pares error-solución de la transcripción

Gestión manual de hooks

# Check hook status
npx claude-session-hooks status

# Reinstall hooks
npx claude-session-hooks install

# Remove hooks
npx claude-session-hooks uninstall

3. Reiniciar Claude Code

Después de la instalación, reinicia Claude Code para activar los hooks.


Características

Característica

Descripción

🤖 Cero trabajo manual

Los Claude Hooks automatizan toda la captura/carga de contexto

🎯 Solo memoria de calidad

(v1.10.0) Solo decisiones, aprendizajes, errores — sin ruido de cambios de archivo

🧠 Búsqueda semántica

Embeddings multilingual-e5-small (94+ idiomas, 384d)

🌍 Multilingüe

Coreano/Inglés/Japonés + búsqueda entre idiomas (EN→KR, KR→EN)

🔗 Integración con Git

Mensajes de commit extraídos automáticamente de las transcripciones

🕸️ Grafo de conocimiento

Relaciones de memoria (resuelve, causa, extiende...)

📊 Clasificación de memoria

5 tipos: observación, decisión, aprendizaje, error, patrón

Verificación integrada

Ejecución de build/test/lint con un clic

📋 Gestión de tareas

Gestión de tareas basada en prioridades

🔧 Auto Error→Solución

(v1.12.0) Detección automática de errores Bash → inyecta soluciones pasadas; el fin de sesión registra automáticamente pares error-solución

💰 Eficiencia de tokens

(v1.11.0) Se eliminó loadContext de UserPromptSubmit (ahorra 24-60K tokens/sesión)

📑 Divulgación progresiva

(v1.11.0) memory_search devuelve primero el índice, memory_get para el contenido completo

Decaimiento temporal

(v1.11.0) Puntuación de memoria con vidas medias específicas por tipo para relevancia

📝 Entrega estructurada

(v1.10.0) PreCompact guarda resumen de trabajo, archivos activos, acciones pendientes

🚪 Fin de sesión inteligente

(v1.10.0) Extrae commits, decisiones, pares error-solución de la transcripción

🗑️ Limpieza automática de ruido

(v1.10.0) Elimina automáticamente memorias de observación obsoletas (3d+)

🔍 Detección de referencias pasadas

(v1.8.0) "¿Cómo hicimos X la última vez?" busca automáticamente en la BD

📝 Extracción de directivas de usuario

(v1.8.0) Extrae automáticamente reglas "siempre/nunca" de los prompts


Claude Hooks - Sistema de contexto automático

Cómo funciona

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

  • Detecta automáticamente el proyecto: monorepo (apps/project-name/) o proyecto único (nombre de la carpeta raíz package.json)

  • Carga el contexto desde .claude/sessions.db

  • Inyecta: Estado actual, 3 sesiones recientes con commits/decisiones, directivas, tareas pendientes, memorias clave filtradas

  • Limpia automáticamente memorias de ruido obsoletas (3d+ rastreo automático, 14d+ compactación automática)

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

  • Se ejecuta en cada envío de prompt

  • (v1.11.0) Ya no llama a loadContext() — ahorra 24-60K tokens/sesión

  • Inyecta contexto relevante (filtrado: solo decisiones, aprendizajes, errores)

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

  • Rastrea rutas de archivos activos y actualiza active_context.recent_files

  • (v1.12.0) Detecta automáticamente errores Bash → busca en la BD de soluciones → inyecta soluciones pasadas en el contexto

  • Ya no crea memorias de observación (v1.10.0 — elimina el ruido de [File Change])

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

  • Construye un contexto de entrega estructurado: resumen de trabajo, archivo activo, acción pendiente, hechos clave, errores recientes

  • Ya no almacena memorias de auto-compactación (v1.10.0)

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

  • Extrae mensajes de commit de la transcripción JSONL (patrones git commit -m)

  • Extrae pares error-solución (error → resolución en 3 mensajes)

  • (v1.12.0) Registra automáticamente pares error→solución en la tabla de soluciones para reutilización futura

  • Extrae decisiones (patrones "porque", "en lugar de", "elegí")

  • (v1.11.0) Análisis de transcripción de una sola pasada (4 lecturas JSONL → 1)

  • Almacena metadatos estructurados en la columna sessions.issues como JSON

Ejemplo de salida (Inicio de sesión)

# 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

Gestión de hooks

# 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

Detección de referencias pasadas (v1.8.0)

Cuando preguntas sobre trabajo pasado, el hook UserPromptSubmit busca automáticamente en la base de datos:

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

Patrones soportados (Coreano e Inglés):

Patrón

Ejemplo

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

"¿Cómo solucionamos el error de CORS la última vez?"

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

"Lógica de inicio de sesión que modificamos"

지난 세션/작업에서

"Implementación de pagos en la sesión pasada"

last time/before/previously

"¿Cómo manejamos la autenticación la última vez?"

did we/did I ... before

"¿Arreglamos la migración de la base de datos antes?"

remember when/recall when

"¿Recuerdas cuando configuramos CI?"

Ejemplo de salida:

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

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

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

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

¿Por qué npm exec? (v1.4.3+)

Las versiones anteriores usaban rutas absolutas o 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"

Ahora usamos npm exec --:

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

npm exec -- busca primero en node_modules/.bin local, y luego recurre al global. Funciona tanto con instalación local como global sin acceder al registro de npm.


Herramientas (API v5) - 25 herramientas enfocadas

1. Ciclo de vida de sesión (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. Gestión de proyectos (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. Gestión de tareas (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. Archivo de soluciones (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. Verificación (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. Sistema de memoria (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. Grafo de conocimiento (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
})

Tipos de memoria

Tipo

Descripción

Caso de uso

observation

Patrones, estructuras encontradas en el código

"Todas las pantallas están separadas en la carpeta features/"

decision

Arquitectura, elecciones de librerías

"Decidimos usar SharedPreferences para caché"

learning

Nuevo conocimiento, mejores prácticas

"Riverpod es mejor para pruebas"

error

Errores ocurridos y soluciones

"Provider.read() no reconstruye → usar watch()"

pattern

Patrones de código recurrentes, convenciones

"Evitar el abuso de la palabra clave late"

Tipos de relación

Relación

Descripción

Ejemplo

related_to

Relación general

A y B están relacionados

causes

A causa B

Decisión de caché → cambio en estructura de carpetas

solves

A resuelve B

Aprendizaje de Riverpod → corrección de error de Provider

depends_on

A depende de B

Estructura de carpetas → decisión de caché

contradicts

A contradice B

Dos decisiones de diseño entran en conflicto

extends

A extiende B

Patrón late → extendido al aprendizaje de Riverpod

example_of

A es ejemplo de B

Código específico es ejemplo de patrón


Almacenamiento de datos

Base de datos SQLite en ~/.claude/sessions.db:

Tabla

Propósito

memories

Memorias clasificadas (observación, decisión, aprendizaje, error, patrón)

memories_fts

Índice de búsqueda de texto completo (FTS5)

memory_relations

Relaciones del grafo de conocimiento

embeddings_v4

Vectores de búsqueda semántica (multilingual-e5-small, 384d)

project_context

Información fija del proyecto (stack tecnológico, decisiones)

active_context

Estado actual del trabajo

tasks

Backlog de tareas

solutions

Archivo de soluciones de errores

sessions

Historial de sesiones


Variables de entorno

Variable

Predeterminado

Descripción

WORKSPACE_ROOT

-

Ruta raíz del espacio de trabajo (requerido)

MCP_HOOKS_DISABLED

false

Deshabilitar Claude Hooks

LOG_LEVEL

info

Nivel de registro (debug/info/warn/error)

LOG_FILE

-

Ruta de registro en archivo opcional


Desarrollo

# 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

Rendimiento

Métrica

Valor

Carga de contexto (caché)

<5ms

Búsqueda de memoria (FTS)

~10ms

Búsqueda semántica

~50ms

Verificación de build

Dependiente del proyecto


Hoja de ruta

  • [x] API v2 (15 herramientas enfocadas)

  • [x] API v4 (24 herramientas - memoria + grafo)

  • [x] Claude Hooks v5 (captura automática)

  • [x] Grafo de conocimiento con relaciones tipadas

  • [x] Clasificación de memoria (6 tipos)

  • [x] Búsqueda semántica (embeddings)

  • [x] Detección de patrones multilingües (KO/EN/JA)

  • [x] Integración de commits de Git

  • [x] 111 pruebas (6 suites de prueba)

  • [x] CI/CD de GitHub Actions

  • [x] Búsqueda semántica multilingüe (v1.6.0 - multilingual-e5-small)

  • [x] Búsqueda entre idiomas EN↔KR (v1.6.0)

  • [x] Búsqueda semántica de soluciones (v1.6.0)

  • [x] Corregir ruta del archivo de configuración de hooks (v1.6.1 - settings.json, no settings.local.json)

  • [x] Migración automática de hooks heredados (v1.6.1)

  • [x] Corregir formato de matcher de PostToolUse a string (v1.6.3)

  • [x] Corregir documentación del README para el nuevo formato de hook (v1.6.4)

  • [x] Mejoras en el salto de sesión vacía y guardado de techStack (v1.7.1)

  • [x] Detección automática de referencias pasadas en el hook UserPromptSubmit (v1.8.0)

  • [x] Extracción de directivas de usuario (reglas "siempre/nunca") (v1.8.0)

  • [x] Revisión de calidad de memoria — no más ruido de [File Change] (v1.10.0)

  • [x] Contexto de entrega estructurado en PreCompact (v1.10.0)

  • [x] Fin de sesión inteligente: extracción de commit/decisión/error-solución de la transcripción (v1.10.0)

  • [x] Limpieza automática de ruido (observaciones 3d+, auto-compactación 14d+) (v1.10.0)

  • [x] Visualización de 3 sesiones recientes con metadatos estructurados (v1.10.0)

  • [x] Eficiencia de tokens — eliminar loadContext de UserPromptSubmit, ahorra

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