Tutorial Técnico · Actualizado Abril 2026
Claude-mem: Memoria Persistente para Claude Code | Instalación y Configuración 2026
Cada sesión de Claude Code empieza desde cero.
claude-mem lo cambia para siempre.
Guía completa para instalar y configurar claude-mem, el servidor MCP que añade memoria persistente local a Claude Code. Con código real, cálculo de ahorro de tokens y solución a los errores más comunes.
📊 Nivel: Básico → Avanzado
🗓 Abril 2026
✅ Comandos verificados
Reducción de tokens de contexto por sesión en proyectos medianos
Local y offline — ningún dato sale de tu máquina
Coste adicional — open source, sin suscripción
Tiempo de instalación desde cero hasta primera memoria guardada
📋 Índice de contenidos
02 Cómo funciona claude-mem por dentro
03 Cómo instalar claude-mem paso a paso
04 Modo Endless: contexto sin límite de sesión
05 Cuánto ahorras en tokens: cálculo real
06 El visualizador web local (localhost:37777)
07 claude-mem vs. alternativas: tabla comparativa
08 Cuándo NO usar claude-mem
09 Errores comunes y cómo resolverlos
10 Preguntas frecuentes
Qué es claude-mem y qué problema resuelve
claude-mem es un servidor MCP (Model Context Protocol), el protocolo abierto de Anthropic que permite conectar modelos de IA con herramientas externas mediante una interfaz estandarizada. claude-mem usa ese protocolo para añadir una capa de memoria persistente a Claude Code: cada vez que cierras una sesión, guarda automáticamente el contexto relevante en una base de datos local SQLite. La próxima vez que abres Claude Code, recupera solo lo que necesita, sin que tengas que volver a explicar nada.
El resultado es que Claude recuerda la arquitectura de tu proyecto, las decisiones que tomaste, los bugs que ya resolviste y las convenciones que acordasteis — de forma indefinida, sin coste de nube y sin que tus datos salgan de tu máquina.
El problema: amnesia de sesión en Claude Code
Claude Code no retiene ninguna información entre sesiones por defecto. Esto es correcto desde el punto de vista de la privacidad, pero destructivo para la productividad en proyectos de larga duración. Cada mañana empiezas de cero: tienes que volver a explicar la estructura de carpetas, los patrones que usas, qué librerías están en producción y cuáles en prueba, qué errores ya descartasteis y por qué.
En proyectos con más de 100 archivos, esta «puesta en contexto» consume entre 5.000 y 20.000 tokens de input solo para llegar al punto donde la conversación anterior terminó. A $3 por millón de tokens de input con Claude Sonnet 4.6 (tarifa oficial de Anthropic, abril de 2026), eso son entre $0,015 y $0,06 por sesión — aparentemente poco, pero multiplicado por 20 sesiones al mes y varios proyectos simultáneos, el coste real está en el tiempo, no en el dinero: 5-10 minutos de setup manual por sesión que se evitan completamente.
Por qué CLAUDE.md no es suficiente
CLAUDE.md es el archivo de instrucciones persistentes que Claude Code lee al iniciar cada sesión. Es útil para convenciones generales del proyecto, pero tiene tres limitaciones críticas frente a claude-mem:
- No es searchable: Claude lee el archivo completo en cada sesión, sin filtrar por relevancia. Con 500 líneas de CLAUDE.md, estás pagando tokens por contexto que no necesitas en ese momento.
- No crece automáticamente: tienes que actualizar CLAUDE.md a mano cada vez que tomas una decisión importante. claude-mem captura el contexto de forma automática durante la conversación.
- No guarda historial operativo: CLAUDE.md documenta convenciones estáticas; claude-mem guarda decisiones concretas, bugs resueltos y razonamientos que explican por qué el código es como es.
Cómo funciona claude-mem por dentro
claude-mem combina tres tecnologías de búsqueda local para recuperar el contexto más relevante con el menor número de tokens posible. Todo ocurre en tu máquina — no hay llamadas externas.
Arquitectura: SQLite + FTS5 + búsqueda vectorial local
La base de datos es un archivo SQLite (el motor de base de datos más desplegado del mundo, integrado en el propio sistema operativo de macOS y Linux) almacenado en ~/.claude-mem/memory.db. Sobre SQLite, claude-mem activa la extensión FTS5 (Full-Text Search 5), que permite búsquedas de texto completo con relevancia TF-IDF (Term Frequency-Inverse Document Frequency, el algoritmo estándar para puntuar relevancia textual) sin instalar nada adicional.
Para la búsqueda semántica, claude-mem genera embeddings locales usando un modelo ligero en formato ONNX (Open Neural Network Exchange, el estándar abierto para modelos de IA portables que permite ejecutarlos sin dependencias del proveedor original), lo que permite encontrar memorias conceptualmente relacionadas aunque no compartan las mismas palabras exactas. Este proceso ocurre completamente en CPU, sin necesidad de GPU, aunque en proyectos grandes puede ser el cuello de botella de rendimiento.
Mensaje
Claude Code
Retrieval
FTS5 + Vector
Storage
SQLite local
Contexto
Solo lo relevante
El flujo de recuperación en 3 capas
Cuando Claude Code recibe un mensaje, claude-mem ejecuta tres búsquedas en paralelo y fusiona los resultados por relevancia:
- Búsqueda exacta (FTS5): encuentra memorias que contienen los mismos términos que el mensaje actual. Rápida y precisa para nombres de funciones, rutas de archivos y errores específicos.
- Búsqueda semántica (vectorial): encuentra memorias conceptualmente relacionadas aunque usen vocabulario diferente. Útil para recuperar decisiones de diseño aunque no recuerdes las palabras exactas con las que las describiste.
- Memorias recientes: independientemente de la relevancia, incluye las últimas N memorias para mantener la continuidad de la sesión anterior.
El resultado combinado se inyecta al inicio del contexto de Claude, antes de tu mensaje. Típicamente ocupa entre 500 y 2.500 tokens — frente a los 15.000-30.000 tokens que costaría incluir el contexto completo del proyecto.
Cómo instalar claude-mem paso a paso
La instalación completa lleva menos de 3 minutos. Necesitas Node.js instalado y Claude Code funcionando — si ya tienes ambos, son cuatro comandos.
Requisitos previos
- Node.js 18+ — comprueba con
node --version - Claude Code — instalado y con sesión activa
- npm o npx — incluido con Node.js
- macOS, Linux o Windows con WSL2 (Windows nativo tiene limitaciones con SQLite binario)
nvm install 20 && nvm use 20 o descarga desde nodejs.org.Instalación del plugin
Instala claude-mem de forma global para que esté disponible en todos tus proyectos:
Bash
# Instalar claude-mem globalmente npm install -g claude-mem # Verificar que el binario está disponible claude-mem --version
Si prefieres no instalar nada globalmente, puedes usar npx directamente en la configuración del servidor MCP (ver siguiente paso).
Configuración del servidor MCP en settings.json
Claude Code lee la configuración de servidores MCP desde ~/.claude/settings.json (configuración global) o desde .claude/settings.json en la raíz del proyecto (configuración local). Añade el bloque mcpServers con la entrada para claude-mem:
JSON — ~/.claude/settings.json
{
"mcpServers": {
"claude-mem": {
"command": "claude-mem",
"args": ["serve"],
"env": {
"CLAUDE_MEM_DB_PATH": "~/.claude-mem/memory.db",
"CLAUDE_MEM_WEB_PORT": "37777",
"CLAUDE_MEM_MAX_RESULTS": "15"
}
}
}
}
Si prefieres usar npx sin instalación global, sustituye el bloque "command" y "args" por:
JSON — variante con npx
{
"mcpServers": {
"claude-mem": {
"command": "npx",
"args": ["-y", "claude-mem", "serve"]
}
}
}
.claude/settings.json en la raíz de cada proyecto y cambia CLAUDE_MEM_DB_PATH a una ruta relativa como ".claude-mem/memory.db". Así las memorias del proyecto A no contaminan las del proyecto B.Verificación: cómo confirmar que la memoria está activa
/mcp en el chat de Claude Code. Debes ver claude-mem listado con estado «connected». Si aparece «failed» o no aparece, revisa la sección de errores comunes más abajo.localhost:37777.Modo Endless: cómo funciona el contexto sin límite de sesión
El Modo Endless es la función más avanzada de claude-mem: cuando el contexto de la sesión actual se acerca al límite de la ventana de contexto del modelo (200.000 tokens en Claude 4.x), claude-mem comprime y resume automáticamente el historial anterior, lo guarda en la base de datos y libera espacio para continuar la conversación sin interrupciones.
El proceso es transparente: Claude sigue respondiendo con continuidad, usando el resumen comprimido como punto de referencia en lugar del historial completo. Esto permite sesiones de trabajo técnico que duran horas sin perder el hilo, incluso en bases de código grandes con mucho contexto acumulado.
El umbral de compresión es configurable mediante la variable de entorno CLAUDE_MEM_COMPRESS_AT (porcentaje de la ventana de contexto, por defecto 80%). El resumen comprimido ocupa típicamente un 10-15% del contexto original, multiplicando por 6-10 la duración efectiva de cada sesión antes de necesitar reiniciar.
Cuánto ahorras en tokens: cálculo real con proyecto de 500 archivos
Los porcentajes de ahorro genéricos sin metodología no sirven para tomar una decisión informada. Aquí está el cálculo completo, reproducible, con los precios actuales de Claude Sonnet 4.6 (abril 2026).
Ejemplo con proyecto de 500 archivos
Supuesto: proyecto backend Node.js con 500 archivos, ~80.000 líneas de código. El equipo trabaja con Claude Code durante 20 sesiones al mes. Precios de referencia: $3 por millón de tokens de input con Claude Sonnet 4.6, según la tarifa oficial de Anthropic publicada en abril de 2026.
| Concepto | Sin claude-mem | Con claude-mem |
|---|---|---|
| Tokens de contexto inicial por sesión | ~18.000 tokens | ~1.500 tokens |
| Tiempo de setup manual por sesión | 7-10 minutos | 0 minutos |
| Coste de contexto por sesión (input $3/M) | $0,054 | $0,0045 |
| Coste mensual de contexto (20 sesiones) | $1,08 | $0,09 |
| Tiempo ahorrado al mes | — | ~160 minutos |
| Ahorro en tokens de contexto | — | ~92% |
El ahorro económico directo en tokens es modesto (~$12/año por desarrollador). El beneficio real está en las 160 minutos mensuales de setup eliminados y en la calidad de las respuestas: Claude no necesita hacer suposiciones sobre el proyecto porque ya tiene el contexto guardado.
El visualizador web local (localhost:37777)
claude-mem arranca automáticamente una interfaz web local en el puerto 37777 junto al servidor MCP. Esta UI te da control total sobre la base de datos de memorias sin tocar SQL.
Desde el visualizador puedes hacer cuatro cosas concretas:
- Buscar memorias: campo de búsqueda con soporte FTS5 — encuentra cualquier memoria por palabras clave exactas o similares.
- Editar entradas: corrige memorias incorrectas que Claude guardó con información desactualizada o errónea.
- Eliminar memorias: borra entradas individuales o limpia la base de datos completa con un botón de reset.
- Ver metadatos: cada memoria muestra cuándo se guardó, en qué sesión, qué herramienta la creó y cuántas veces se ha recuperado — útil para detectar qué contexto usa más Claude.
CLAUDE_MEM_WEB_PORT, usa ese número en su lugar. El visualizador solo es accesible en local — no está expuesto a la red.El visualizador también muestra el tamaño actual de la base de datos y el número total de memorias almacenadas. En proyectos maduros con meses de uso activo, es normal tener entre 500 y 2.000 entradas, con un tamaño de archivo entre 2 MB y 15 MB — completamente manejable para SQLite.
claude-mem vs. alternativas: cuál usar según tu caso
Antes de instalar claude-mem, conviene entender qué otras opciones existen y en qué escenarios cada una gana.
| Criterio | CLAUDE.md | Memoria nativa Claude | mem0 | claude-mem |
|---|---|---|---|---|
| Persistencia automática | No (manual) | Sí | Sí | Sí |
| 100% local / offline | Sí | No (cloud) | No (cloud) | Sí |
| Búsqueda semántica | No | Sí | Sí | Sí |
| Coste adicional | Ninguno | Plan Pro/Enterprise | Desde $0/mes (límites) | Ninguno |
| Control total de datos | Sí | No | No | Sí |
| Interfaz de revisión | Editor de texto | Limitada | Dashboard web | localhost:37777 |
| Configuración inicial | Inmediata | Automática | API key + SDK | ~3 minutos |
| Funciona sin conexión | Sí | No | No | Sí |
La memoria nativa de Claude (disponible en planes Pro y Enterprise) es más cómoda porque no requiere instalación, pero los datos se almacenan en los servidores de Anthropic y no tienes control sobre qué se guarda ni cuándo. Para proyectos con datos sensibles (código propietario, arquitecturas internas), esto puede ser un bloqueador.
mem0 es una opción sólida si ya usas su plataforma para otras integraciones de IA, pero introduce una dependencia de red y una suscripción adicional que claude-mem evita por completo.
Cuándo NO usar claude-mem
claude-mem no es la herramienta correcta en todos los escenarios. Instalarla cuando no aplica añade complejidad sin beneficio.
Errores comunes y cómo resolverlos
El 95% de los problemas con claude-mem caen en cuatro categorías. Aquí están los síntomas exactos y la solución directa para cada uno.
El servidor MCP no se detecta
Síntoma: Al escribir /mcp en Claude Code, claude-mem no aparece o aparece con estado «failed».
Causas y soluciones:
- JSON malformado en settings.json: valida el archivo con
node -e "JSON.parse(require('fs').readFileSync('~/.claude/settings.json','utf8'))". Una coma extra o una llave sin cerrar es suficiente para que Claude Code ignore el archivo completo. - Binario no encontrado en PATH: si instalaste con npm global, comprueba que
$(npm root -g)/../binestá en tu PATH. Ejecutawhich claude-mem— si no devuelve nada, usa la variante con npx en el JSON. - Claude Code no se reinició: los cambios en settings.json no se aplican en sesiones ya abiertas. Reinicia completamente la aplicación.
Bash — diagnóstico rápido
# Verificar que claude-mem está instalado y en PATH which claude-mem && claude-mem --version # Validar el JSON de settings sin lanzar Claude node -e "JSON.parse(require('fs').readFileSync(process.env.HOME + '/.claude/settings.json','utf8'));console.log('JSON válido')" # Arrancar el servidor manualmente para ver el error exacto claude-mem serve --verbose
La base de datos no persiste entre sesiones
Síntoma: Claude guarda memorias durante la sesión, pero en la sesión siguiente no las recupera.
La causa más común es que CLAUDE_MEM_DB_PATH apunta a una ruta relativa interpretada de forma diferente según desde dónde se lanza Claude Code. Usa siempre una ruta absoluta con la home expandida:
JSON — ruta absoluta correcta
"CLAUDE_MEM_DB_PATH": "/Users/tu-usuario/.claude-mem/memory.db"
Comprueba también que el directorio existe: mkdir -p ~/.claude-mem. Si el directorio no existe en el arranque, claude-mem falla silenciosamente y usa una base de datos temporal en memoria que se pierde al cerrar.
Rendimiento lento en proyectos grandes
Síntoma: Las respuestas de Claude tardan varios segundos adicionales al inicio de cada mensaje. El visualizador web muestra más de 3.000 entradas en la base de datos.
El cuello de botella es la generación de embeddings para la búsqueda semántica en bases de datos grandes. Tres ajustes que resuelven el 90% de los casos:
- Reduce
CLAUDE_MEM_MAX_RESULTSde 15 a 8 — menos resultados a clasificar por relevancia. - Activa el modo solo-FTS desactivando embeddings:
"CLAUDE_MEM_DISABLE_VECTORS": "true". Pierdes búsqueda semántica pero ganas velocidad de 10x. - Limpia memorias antiguas desde el visualizador: filtra por fecha y elimina entradas de hace más de 6 meses que ya no son relevantes para el estado actual del proyecto.
CLAUDE_MEM_DB_PATH en el .claude/settings.json local de cada proyecto para aislar los contextos y mejorar la relevancia de las recuperaciones.Conflicto de puertos: el visualizador no arranca
Síntoma: localhost:37777 no carga o devuelve «connection refused».
Otro proceso ocupa el puerto 37777. Comprueba con lsof -i :37777 y cambia el puerto en la configuración con "CLAUDE_MEM_WEB_PORT": "38888" (o cualquier puerto libre por encima de 1024).
Preguntas frecuentes sobre claude-mem
Estas son las dudas que aparecen más frecuentemente al instalar claude-mem por primera vez.
¿claude-mem envía mis datos a algún servidor externo?
No. claude-mem es completamente local: la base de datos SQLite vive en tu máquina, la generación de embeddings ocurre en CPU local con un modelo ONNX descargado una sola vez, y el visualizador web solo escucha en localhost. Ningún dato sale de tu equipo. Esta es la diferencia fundamental respecto a mem0 o la memoria nativa de Anthropic, que procesan y almacenan información en servidores cloud.
¿Funciona con todos los modelos de Claude 4.x?
Sí. claude-mem opera como servidor MCP independientemente del modelo que use Claude Code. Funciona con Claude Opus 4.7, Claude Sonnet 4.6 y Claude Haiku 4.5. El modelo que elijas en Claude Code no afecta al funcionamiento de la memoria — solo afecta a la calidad y velocidad de las respuestas de Claude sobre ese contexto recuperado.
¿Cómo puedo ver exactamente qué ha guardado claude-mem?
De dos formas: abre http://localhost:37777 en el navegador mientras Claude Code esté activo para usar la interfaz visual, o consulta la base de datos directamente con sqlite3 ~/.claude-mem/memory.db "SELECT content, created_at FROM memories ORDER BY created_at DESC LIMIT 20;". El campo content contiene el texto exacto que claude-mem guardó.
¿Cómo borro toda la memoria y empiezo desde cero?
Tres opciones según lo que necesites: (1) Desde el visualizador web, usa el botón «Reset Database» para borrar todas las entradas manteniendo la configuración. (2) Elimina directamente el archivo: rm ~/.claude-mem/memory.db — claude-mem creará uno nuevo vacío en el próximo arranque. (3) Para borrar solo memorias de un proyecto específico sin afectar otros, usa el filtro por proyecto en el visualizador y elimina las entradas seleccionadas.
¿Es compatible con Windows sin WSL?
Con limitaciones. El paquete npm instala sin problemas, pero la extensión FTS5 de SQLite requiere compilación nativa que puede fallar en Windows sin las build tools de Visual Studio instaladas. La solución oficial es usar Windows con WSL2, donde claude-mem funciona de forma idéntica a Linux. Si prefieres Windows nativo, instala primero windows-build-tools con npm install -g windows-build-tools antes de instalar claude-mem.
📋 Resumen ejecutivo
Lo que debes hacer
- Instalar claude-mem con npm install -g y configurar el servidor MCP en settings.json
- Usar rutas absolutas en CLAUDE_MEM_DB_PATH para evitar pérdida de datos
- Configurar bases de datos separadas por proyecto si trabajas en varios repositorios
- Revisar el visualizador en localhost:37777 periódicamente para limpiar memorias obsoletas
- Combinar claude-mem con CLAUDE.md: instrucciones fijas en CLAUDE.md, contexto operativo en claude-mem
Lo que debes evitar
- Instalar claude-mem para proyectos de un solo uso donde CLAUDE.md es suficiente
- Usar rutas relativas en CLAUDE_MEM_DB_PATH — la base de datos puede perderse entre sesiones
- Ignorar que claude-mem puede guardar credenciales o tokens mencionados en el chat
- Dejar crecer la base de datos global sin separar proyectos — degrada la relevancia
- Asumir que el Modo Endless conserva todo el detalle del historial comprimido
¿Listo para dejar de explicar lo mismo a Claude cada mañana?
En Sismatic implantamos flujos de trabajo con IA y herramientas de desarrollo que multiplican la productividad de los equipos de producto. Si quieres ir más allá de la configuración individual y escalar el uso de Claude Code en tu empresa, hablamos.