claude-memory-fts
claude-memory-fts
Servidor MCP de memoria a largo plazo para Claude Code. Almacena hechos en una base de datos SQLite local con búsqueda híbrida (FTS5 + similitud vectorial semántica) e inyección automática de contexto.
Características
Búsqueda híbrida — Búsqueda por palabras clave FTS5 + similitud vectorial semántica, combinadas mediante Reciprocal Rank Fusion (RRF)
Comprensión semántica — encuentra recuerdos por significado, no solo por palabras clave (impulsado por embeddings all-MiniLM-L6-v2)
Inyección automática de contexto — los 30 recuerdos más importantes se inyectan en cada prompt mediante un hook
Clasificación por importancia — hechos clasificados por frecuencia de acceso, decaimiento por recencia y peso de categoría
Seguimiento de acceso — rastrea con qué frecuencia se accede a cada recuerdo
Upsert — actualiza automáticamente los hechos existentes en lugar de duplicarlos
Categorizado — organizado por tipo: preferencia, decisión, técnico, proyecto, flujo de trabajo, personal, general
Recursos MCP — expone el recurso
memory://contextpara el contexto de la sesiónConfiguración cero — funciona de inmediato, almacena datos en
~/.claude/memory.db
Instalación
# Add to Claude Code
claude mcp add memory -- npx claude-memory-fts
# Auto-configure context injection hook (recommended)
npx claude-memory-fts --setup-hookEl comando --setup-hook realiza automáticamente lo siguiente:
Crea
~/.claude/scripts/memory-context.shAñade un hook
UserPromptSubmita~/.claude/settings.jsonLos 30 recuerdos principales se inyectan automáticamente en cada prompt
Comandos CLI
Comando | Descripción |
| Iniciar servidor MCP (usado por Claude Code) |
| Mostrar los 30 hechos principales (usado por el script de hook) |
| Configurar automáticamente el hook de inyección de contexto |
Configuración
Variable de entorno | Predeterminado | Descripción |
|
| Ruta al archivo de base de datos SQLite |
Ejemplo con ruta personalizada:
claude mcp add memory -e MEMORY_DB_PATH=/path/to/my/memory.db -- npx claude-memory-ftsHerramientas
memory_save
Guarda un hecho en la memoria a largo plazo.
Parámetro | Tipo | Requerido | Descripción |
| string | sí | La información a recordar |
| string | no | Uno de: |
memory_search
Búsqueda híbrida: ejecuta FTS5 y búsqueda semántica en paralelo, fusiona resultados con RRF. Recurre a LIKE para coincidencias parciales.
Parámetro | Tipo | Requerido | Descripción |
| string | sí | Palabra clave o frase de búsqueda |
| number | no | Resultados máximos (predeterminado: 10) |
memory_update
Actualiza el contenido o la categoría de un recuerdo por ID.
Parámetro | Tipo | Requerido | Descripción |
| number | sí | ID del recuerdo |
| string | no | Nuevo contenido (omitir para mantener el actual) |
| string | no | Nueva categoría (omitir para mantener la actual) |
memory_list
Lista todos los recuerdos guardados agrupados por categoría.
Parámetro | Tipo | Requerido | Descripción |
| string | no | Filtrar por categoría |
| number | no | Resultados máximos (predeterminado: 50) |
memory_delete
Elimina un recuerdo por ID.
Parámetro | Tipo | Requerido | Descripción |
| number | sí | ID del recuerdo |
Recursos
memory://context
Recurso MCP que expone los 30 hechos principales clasificados por puntuación de importancia:
Frecuencia de acceso — los hechos accedidos con frecuencia obtienen mayor puntuación (limitado a 20 puntos)
Recencia — los hechos actualizados recientemente obtienen mayor puntuación (10 puntos, decae a lo largo de 90 días)
Peso de categoría — preferencia/decisión (3), flujo de trabajo/técnico (2), proyecto/personal (1), general (0)
Cómo funciona
Pipeline de búsqueda
FTS5 + BM25 y similitud vectorial semántica se ejecutan en paralelo
Los resultados se fusionan y deduplican usando Reciprocal Rank Fusion (k=60)
Los hechos que aparecen en ambas listas reciben un impulso natural
Si ambos devuelven resultados vacíos, recurre a la coincidencia de subcadenas LIKE
El recuento de acceso se rastrea en cada acierto de búsqueda
Embeddings
Modelo: all-MiniLM-L6-v2 (384 dimensiones, ~23MB)
Generado localmente mediante
@xenova/transformers— sin llamadas a API, ningún dato sale de su máquinaLos embeddings se crean al guardar y se rellenan al iniciar el servidor
Similitud de coseno con umbral de 0.3 para filtrar ruido
Almacenamiento
SQLite con modo WAL para lecturas/escrituras concurrentes rápidas
Tabla virtual FTS5 sincronizada mediante disparadores para indexación de texto completo en tiempo real
Embeddings almacenados como columnas BLOB junto a los hechos
Desarrollo
git clone https://github.com/kurovu146/claude-memory-mcp.git
cd claude-memory-mcp
npm install
npm run build
npm testLicencia
MIT
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/kurovu146/claude-memory-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server