wasurenagusa-mcp
wasurenagusa
Enseña a tu agente de codificación de IA a aprender de sus errores.
wasurenagusa (nomeolvides) — una flor japonesa cuyo nombre significa "no me olvides".
El problema
Los agentes de codificación de IA son potentes pero amnésicos. Cada sesión comienza desde cero: tus convenciones de proyecto, decisiones pasadas y lecciones aprendidas con esfuerzo desaparecen en el momento en que termina una sesión.
Las soluciones existentes requieren esfuerzo manual o simplemente almacenan memorias crudas que crecen hasta saturar la ventana de contexto.
Related MCP server: memory-bank-mcp
La solución
wasurenagusa es un servidor MCP que no solo recuerda, sino que aprende.
Detecta errores automáticamente — Detecta patrones de reintento, frustración del usuario y fallos repetidos.
Destila lecciones en principios — El LLM comprime cientos de entradas crudas en un puñado de reglas accionables.
Convierte negativos en positivos — Genera una
positiveRulejunto a cada principio: "no hagas X" se convierte en "haz Y en su lugar". Las investigaciones muestran que los LLM siguen instrucciones afirmativas significativamente mejor que las prohibiciones (problema del Elefante Rosa).Comprime la configuración en temas — El LLM agrupa configuraciones dispersas en resúmenes coherentes, preservando hechos como puertos y rutas.
Inyecta solo lo que importa — Sabiduría consolidada + configuraciones activas solamente. Sin exceso de plantillas, sin entradas duplicadas.
Búsqueda híbrida (texto completo + semántica) — Almacenamiento respaldado por SQLite con inferencia de incrustaciones (embeddings) local (no se necesita API externa). Búsqueda de texto completo con soporte para japonés + búsqueda semántica vectorial, fusionada y desduplicada. Funciona completamente offline.
Recuperación inteligente mediante etiquetas — Etiquetas ponderadas generadas por LLM + puntuación compuesta (frescura, peso de la etiqueta, frecuencia de acceso) optimizan la prioridad de recuperación sin descartar ningún dato.
Almacenamiento/restauración de memoria — Guarda temporalmente memorias fuera del contexto activo para ahorrar espacio en la ventana de contexto, y restáuralas cuando sea necesario. Ideal para sesiones largas con subagentes.
Totalmente automatizado mediante hooks de Claude Code: configuración cero tras la instalación.
Impacto en el mundo real
Basado en el uso diario del autor en 8 proyectos de producción (con intercambio de memoria entre proyectos):
1,581 "dont" entries → 5-9 principles per project (LLM consolidation)
each with positiveRule → affirmative-only injection (Pink Elephant fix)
29 config entries → 4-5 thematic summaries (LLM consolidation)
21,800 chars raw data → 6,200 chars injected (71% reduction)Demo
Sesión 1: Claude usa el puerto 3000 — el usuario lo corrige a 8080
Stop Hook: wasurenagusa analiza automáticamente la conversación y registra el error
Sesión 2: Claude usa correctamente el puerto 8080 sin que se lo digan
Por qué wasurenagusa
La mayoría de las herramientas de memoria almacenan lo que sucedió. wasurenagusa enseña a tu IA por qué las cosas salieron mal — y asegura que nunca repita el mismo error.
No es un banco de memoria. Es un sistema de aprendizaje.
wasurenagusa | claude-mem | mcp-memory-service | CLAUDE.md | |
Auto-detectar errores | Sí (reintento + sentimiento) | No | No | No |
Auto-consolidar (LLM) | Sí (dont→principios, config→temas) | No | Sí (basado en decaimiento) | No |
Búsqueda semántica vectorial | Sí (inferencia local, offline) | Sí (ChromaDB) | Sí (SQLite-vec / ChromaDB) | No |
Niveles de memoria (corto/medio/largo) | Sí (umbrales de distancia coseno) | No | No | No |
Auto-promoción (intensidad) | Sí (conteo de acceso → intensidad 5) | No | No | No |
Cero esfuerzo vía hooks | Sí | Sí | Parcial | No |
Almacenamiento legible por humanos | No (SQLite — migrado automáticamente desde v1 Markdown) | No (SQLite) | No (SQLite-vec) | Sí |
Soporte multi-LLM | Gemini / OpenAI / Anthropic (embedding local — no requiere API key) | Solo Claude | Local (MiniLM-L6-v2) | N/A |
Recuperación eficiente en tokens | Sí (índice → detalle, 70-90% ahorro) | Sí (3 capas) | N/A | No |
Memoria entre proyectos | Sí (top 5 proyectos activos) | No | No | No |
Licencia | MIT | AGPL-3.0 | Apache-2.0 | N/A |
Cómo funciona
Session Start (Hook) — injection mode
→ Checks if consolidation is stale
→ Spawns background LLM worker if needed (non-blocking)
→ Spawns background embedding backfill worker (non-blocking)
→ Injects consolidated config + principles (layer 1) + recent 30-day entries (layer 2) + owner profile
→ Vector search injects semantically related short-term memories (layer 3)
→ Cross-project vector search injects related memories from other active projects (layer 4)
→ Only customized settings injected (defaults stripped)
Session Start (Hook) — agent mode
→ Injects dont summary + config index + owner profile (minimal footprint)
→ No vector search at startup (deferred to on-demand recall)
User Prompt (Hook) — agent mode
→ Injects 1-line reminder: "search memory if relevant"
→ Main agent spawns memory-recall sub-agent as needed
→ Sub-agent runs memory_search → returns summary only (no raw data in main context)
→ Survives compaction (re-injected on every user message)
During Session
→ memory_save auto-generates embedding via local inference (no API call)
→ memory_save enriches tags with LLM-assigned weights (0.0-1.0) (when API key available)
→ Theme shift triggers background re-tagging of related past entries
→ memory_search merges keyword + vector semantic + tag-weighted results
→ Vector hits increment access counts → auto-promote to intensity 5 at threshold
Session End (Hook)
→ LLM analyzes the conversation
→ Detects mistakes, frustration, retry patterns
→ Auto-saves lessons learned (with embedding)
→ Deduplicates against existing entries before saving
→ Updates active projects tracker (top 5 recent projects)
Background (async workers)
→ Consolidates "dont" entries → behavioral principles
→ Consolidates "config" entries → thematic summaries
→ Backfills embeddings for entries created before vector layer (20/run)
→ Results used in next session startInicio rápido
💡 Recomendado: Pega este README en Claude Code y pídele que configure wasurenagusa por ti. Se encargará de todo lo siguiente automáticamente.
Requisitos previos
Node.js 18+
Claude Code (CLI)
No se requiere API key externa para las funciones principales de memoria (los embeddings se ejecutan localmente)
Opcional: API key para consolidación/análisis mediante LLM — Gemini / OpenAI / Anthropic
1. Instalación
npm install -g wasurenagusa-mcpO desde el código fuente:
git clone https://github.com/tsutushi0628/wasurenagusa-mcp.git
cd wasurenagusa-mcp
npm install && npm run build
npm link
npm run buildejecuta automáticamentechmod +xen los puntos de entrada de la CLI. No se requiere configuración manual de permisos.
2. Configuración
Crea ~/.wasurenagusa/.env:
# Set at least one API key
GEMINI_API_KEY=your-key-here
# OPENAI_API_KEY=your-key-here
# ANTHROPIC_API_KEY=your-key-hereVariable | Requerido | Descripción |
| Uno de tres | API key de Google Gemini |
| Uno de tres | API key de OpenAI |
| Uno de tres | API key de Anthropic |
| No |
|
| No | Sobrescribe el modelo predeterminado de tu proveedor |
| No | Directorio de memoria (predeterminado: |
| No | Límite de entradas por categoría antes del auto-archivado (predeterminado: |
| No | Periodo de retención de logs en días (predeterminado: |
| No | Notificaciones de Slack para tareas autónomas |
3. Registrar servidor MCP
claude mcp add wasurenagusa -- wasurenagusa-mcp4. Configurar hooks
⚠️ Requerido — Sin este paso, la memoria nunca se inyecta al inicio de la sesión. Este es el paso de configuración que más se suele pasar por alto.
Añade a ~/.claude/settings.json (o settings.local.json si prefieres mantener los hooks separados):
{
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "wasurenagusa-context",
"timeout": 5
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "wasurenagusa-context",
"timeout": 5
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "wasurenagusa-analyze",
"timeout": 30
}
]
}
],
"PreCompact": [
{
"hooks": [
{
"type": "command",
"command": "wasurenagusa-context",
"timeout": 15
}
]
}
]
}
}5. Empezar a usar
Inicia Claude Code. Eso es todo.
Primera sesión: el directorio
.wasurenagusa/se crea automáticamenteDespués de la primera conversación: el Stop Hook analiza y guarda el contexto importante
A partir de la segunda sesión: la sabiduría acumulada se inyecta automáticamente al inicio
Añade
.wasurenagusa/a tu.gitignore— contiene datos de memoria específicos del proyecto.
Categorías de memoria
Categoría | Qué almacena | Archivo |
config | URLs de API, puertos, ubicaciones de autenticación |
|
dont | Errores, anti-patrones, frustraciones del usuario |
|
decision | Decisiones de arquitectura, elecciones tecnológicas |
|
log | Registros de implementación, errores resueltos |
|
snippet | Comandos y consultas usados frecuentemente |
|
Herramientas MCP
Herramienta | Descripción |
| Obtiene configuración + principios consolidados (llamado automáticamente al inicio de la sesión) |
| Búsqueda ligera en el índice (solo ID, título, etiquetas). Usa |
| Obtiene el detalle completo por ID(s) |
| Guarda una entrada de memoria explícitamente |
| Guarda temporalmente memorias para ahorrar espacio en la ventana de contexto |
| Restaura memorias previamente guardadas en el contexto activo |
| Elimina entradas por ID |
| Envía una tarea autónoma para ejecución 24/7 |
| Comprueba el estado de ejecución de la tarea |
| Lista y gestiona acciones humanas pendientes |
| Inicializa los estándares de calidad del proyecto |
Comandos CLI
Comando | Propósito | Invocado por |
| Envía configuración + dont + memorias vectoriales a stdout | Hook SessionStart / UserPromptSubmit / PreCompact |
| Analiza la conversación con LLM y guarda automáticamente | Stop Hook |
| Genera embeddings para entradas sin vectores | Segundo plano (auto-generado) |
| Repara datos de memoria corruptos (desduplicar, reordenar logs) | Manual |
| Auto-actualiza documentos de especificaciones | cron / temporizador systemd |
| Ejecuta consolidación en todos los proyectos activos | Manual / Programador |
| Instala/desinstala/estado del programador de consolidación nocturna | Manual |
Modo de salida
wasurenagusa admite dos modos de salida para el Hook SessionStart, configurables por proyecto a través de .wasurenagusa/config.json.
Modo | Descripción | Mejor para |
injection (predeterminado) | Inyecta el texto completo de la memoria al inicio de la sesión | Entornos sin subagentes (Cursor, Windsurf, etc.) |
agent | Inyecta un índice mínimo al inicio + recordatorio de recuperación de memoria en cada mensaje del usuario. Detalles recuperados bajo demanda vía subagentes | Claude Code + Equipos de Agentes |
Configuración
Añade outputMode al archivo .wasurenagusa/config.json de tu proyecto:
{
"outputMode": "agent"
}Si el archivo no existe o outputMode no está configurado, el valor predeterminado es "injection" (compatibilidad total hacia atrás).
Reglas recomendadas de CLAUDE.md para el modo agente
Cuando uses el modo "agent" con Equipos de Agentes de Claude Code, añade estas reglas al CLAUDE.md de tu proyecto:
- Read/write memories via sub-agents (memory_search / memory_get_detail / memory_save)
- Do not bring raw memory data into the main context
- When system-reminder suggests memory recall, spawn a sub-agent to run memory_search and return summary onlyCaracterísticas avanzadas
Niveles de memoria vectorial
wasurenagusa introduce un sistema de memoria inspirado biológicamente impulsado por embeddings locales. Cada memoria se convierte en un vector de 384 dimensiones, permitiendo una recuperación basada en el significado que va mucho más allá de la coincidencia de palabras clave.
Arquitectura de tres niveles con umbrales de distancia coseno:
Nivel | Umbral | Caso de uso |
Corto plazo | ≤ 0.2 | Altamente relevante — auto-inyectado al inicio de la sesión |
Medio plazo | ≤ 0.45 | Contextualmente relacionado — mostrado durante |
Largo plazo | ≤ 0.7 | Lejanamente relacionado — descubrible pero no mostrado proactivamente |
Promoción automática: Cada vez que se recupera una memoria mediante búsqueda vectorial, su conteo de acceso aumenta. Después de 5 recuperaciones, la memoria se promociona automáticamente a intensity: 5, asegurando que el conocimiento necesario frecuentemente obtenga el máximo peso en la consolidación. Las memorias inactivas durante mucho tiempo pueden ser "despertadas" por relevancia y eventualmente ganar la máxima intensidad a través de accesos repetidos.
Cómo funciona:
memory_save
→ Text → local inference (Hugging Face Transformers) → embedding → SQLite (sqlite-vec)
memory_search "authentication setup"
→ Full-text search (FTS5, Japanese support) ─┐
→ Embed query → vector similarity search ─┤→ merge, deduplicate → results
└→ increment access count
→ auto-promote if threshold met
SessionStart Hook
→ Embed project name → short-tier search → inject related memoriesNo se requiere API externa — los embeddings se generan localmente mediante @huggingface/transformers. Los datos se almacenan en SQLite con sqlite-vec para indexación vectorial. Funciona completamente offline.
Migración automática desde v1 — los archivos de memoria basados en Markdown existentes se migran automáticamente a SQLite en la primera ejecución. No se requieren pasos manuales.
Recuperación inteligente mediante etiquetas
La recuperación inteligente mediante etiquetas mejora la precisión de la búsqueda a través de tres mecanismos, sin eliminar ni olvidar datos nunca:
Enriquecimiento de etiquetas ponderadas al guardar — Cuando guardas una memoria, el LLM genera etiquetas descriptivas y asigna a cada una un peso (0.0-1.0). Hechos concretos como números de puerto o endpoints de API reciben pesos altos; las categorías genéricas reciben pesos bajos.
Re-etiquetado en segundo plano ante cambios de tema — Cuando se detecta un nuevo tema, un proceso en segundo plano actualiza las etiquetas en entradas pasadas relacionadas para que sigan siendo descubribles bajo el nuevo contexto.
Puntuación compuesta — Los resultados de búsqueda se clasifican mediante una mezcla de frescura, peso de la etiqueta y frecuencia de acceso, mostrando primero las memorias más relevantes.
Todas las memorias se conservan con fidelidad total. La recuperación inteligente mediante etiquetas solo optimiza la prioridad de recuperación, nunca descarta datos.
Memoria entre proyectos
wasurenagusa rastrea automáticamente tus 5 proyectos usados más recientemente y busca en sus memorias contexto relevante.
Cómo funciona:
Stop Hook registra cada sesión de proyecto en
~/.wasurenagusa/scheduler/active-projects.jsonSessionStart busca en los almacenes vectoriales de otros proyectos activos (nivel corto ≤ 0.2, solo alta relevancia)
memory_searchconproject: "active"busca en todos los proyectos activos (palabra clave + vector)
**Ejemplo
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA self-hosted MCP server that provides AI assistants with a shared, persistent SQLite-backed memory for storing and retrieving project context, decisions, and discoveries. It enables cross-session continuity and team-wide knowledge sharing to keep AI coding tools aligned and informed.3MIT
- AlicenseBqualityBmaintenanceAn MCP server that gives AI assistants persistent memory across sessions. It stores project context, decisions, and progress in structured markdown files as well as a knowledge graph and sequential thinking for better memory storage.36371MIT
- AlicenseAqualityAmaintenanceA local MCP server that gives AI assistants a long-term memory by capturing sessions verbatim and surfacing relevant context automatically.14794MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that gives AI coding assistants persistent memory across sessions with chain-based project tracking, tickets, and structured handoffs.GPL 3.0
Related MCP Connectors
Cloud-hosted MCP server for durable AI memory
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
An MCP memory server. One memory your agents share — across models, devices and apps.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/tsutushi0628/wasurenagusa-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server