Memoria Persistente con Basic Memory (MCP)
Los asistentes de IA (como Claude Code, Gemini CLI o Codex) son herramientas increiblemente potentes para el desarrollo y el aprendizaje, pero sufren de “amnesia”: cada vez que abres una nueva sesion, empiezan desde cero.
Basic Memory es un servidor basado en el Model Context Protocol (MCP) que resuelve este problema. Permite a cualquier IA compatible leer y escribir notas en tu entorno local utilizando archivos Markdown estandar. Esto convierte un simple directorio en un “segundo cerebro” persistente que la IA puede consultar para recordar tu contexto, nivel de conocimientos o decisiones de arquitectura previas.
Requisitos Previos
- Un cliente de IA compatible con MCP (ej. Claude Code, Gemini CLI, Cursor, o implementaciones CLI que soporten el protocolo).
- uv instalado en tu sistema (un gestor de herramientas de Python).
Instalacion
Instala basic-memory de forma global en tu sistema usando uv. Esto asegura un entorno aislado y limpio:
uv tool install basic-memory
Configuracion del Directorio
El servidor necesita saber en que directorio se almacenaran tus notas. Navega a la carpeta que deseas usar como tu base de conocimiento y ejecuta los siguientes comandos:
# Registra este directorio como un "proyecto" y hazlo tu proyecto por defecto
# Esto creara la base de datos interna de forma automatica
bm project add mi-cerebro . --local --default
Importante: el path del proyecto debe ser fijo y absoluto (ej.
~/Workspace/mi-cerebro), nunca un path que cambie entre contextos (como$(pwd)dentro de un contenedor o una ruta montada). Basic Memory vigila ese directorio con un watcher y trata todo.mddentro como parte de su base de conocimiento — si el path apunta a un proyecto de codigo distinto cada vez, sus.mdseran reformateados.
Nota: La informacion se guarda localmente en texto plano (.md), lo que significa que puedes abrir, leer y editar tus apuntes con tu editor favorito (como Helix, Neovim, Logseq u Obsidian) sin depender de la IA.
Control de Versiones (Git)
Versionar tu cerebro en un repositorio es muy recomendable para evitar perdidas de datos o alucinaciones destructivas de la IA. Los .md son la fuente de verdad de Basic Memory; la base de datos SQLite es solo un indice derivado que se reconstruye desde los archivos con basic-memory sync si se pierde o corrompe. Por eso solo necesitas versionar los .md.
No hace falta un .gitignore especifico para Basic Memory: el SQLite vive fuera del proyecto (en ~/.basic-memory/ o donde apunte BASIC_MEMORY_HOME), asi que no ensucia el repositorio. Si ademas usas Logseq u Obsidian sobre el mismo directorio, ignora lo suyo (.logseq/bak/, .obsidian/workspace*, etc.).
Conectando tu Cliente de IA
El metodo de conexion varia segun la herramienta que utilices, pero el principio es el mismo: debes indicarle al cliente que ejecute el servidor MCP apuntando al proyecto que acabas de crear.
Los CLI modernos soportan dos scopes de configuracion: user (global, disponible en todas tus sesiones y directorios) y project/local (solo dentro del directorio donde lo registraste). Para una memoria que te acompane en todo momento, usa user.
Para Claude Code (CLI)
Registra basic-memory en el scope de usuario para que este disponible desde cualquier directorio:
claude mcp add -s user basic-memory -- basic-memory mcp --project=mi-cerebro
Si prefieres que solo este activo dentro de un directorio concreto, omite -s user (scope local por defecto).
Para Gemini CLI
Gemini CLI tambien tiene un comando nativo para anadir servidores MCP, que edita ~/.gemini/settings.json por ti:
gemini mcp add -s user basic-memory -- basic-memory mcp --project=mi-cerebro
Si prefieres que solo este activo dentro de un directorio concreto, omite -s user (scope project por defecto).
Para Zed Editor y Otros Clientes (Configuracion JSON)
Si utilizas Zed u otros editores que no exponen un comando para anadir MCPs, la integracion se realiza editando manualmente su archivo de configuracion. Anade el siguiente bloque en la seccion de servidores MCP:
{
"mcpServers": {
"basic-memory": {
"command": "/ruta/completa/a/basic-memory",
"args": ["mcp", "--project=mi-cerebro"]
}
}
}
Opencode
opencode mcp add
Luego rellenar informacion
- Nombre: basic-memory
- Commando: basic-memory mcp –project=nexus
opencode mcp list