Basic Memory

Construye una base de conocimiento local y persistente en archivos Markdown a través de conversaciones con LLMs.

Documentación

MCP Toplist

License: AGPL v3 PyPI version Python 3.12+ Tests Ruff Ask DeepWiki

Omite la instalación: prueba Basic Memory en la nube

Claude, Codex o Cursor conectados en 30 segundos. Sin Python, sin JSON, sin terminal. $15.00/mes fijo de por vida (12.50/mes con facturación anual). Prueba gratuita de 7 días: cancela en cualquier momento antes del día 7 si no es para ti. Precio beta: regístrate ahora y tu tarifa nunca sube. Usuarios de OSS: el código BMFOSS ofrece otro 20% de descuento durante 3 meses.

Iniciar prueba gratuita →

¡Basic Memory Teams ya está disponible!

Dale a tu equipo un espacio de trabajo en la nube único y compartido. El conocimiento no se limita a una sola persona: cualquier cosa que escriba un compañero está disponible de inmediato para los demás y para sus asistentes de IA. Editen una nota juntos en tiempo real, pasen el trabajo entre humanos y agentes, y construyan una base de conocimiento conectada en lugar de copias dispersas. Mismo precio: comienza con un usuario y agrega más según lo necesites.


Basic Memory

Tu IA nunca vuelve a olvidar.

Continúa justo donde lo dejaste, en Claude, Codex, Cursor, ChatGPT o cualquier herramienta que hable MCP. Tu conocimiento vive como archivos Markdown que tanto tú como tu IA pueden leer, escribir y buscar.

  • Primero local. Texto plano en tu disco. Para siempre.
  • Bidireccional. La IA y los humanos escriben en los mismos archivos; la sincronización los mantiene al día.
  • Un grafo de conocimiento real. Las observaciones y los wikilinks se combinan en contexto.
  • Búsqueda semántica. Encuentra notas por significado, no solo por palabras clave, con un reordenamiento opcional por codificador cruzado para resultados vectoriales e híbridos de mayor calidad.
  • Nativo de MCP. Funciona con todos los principales clientes de IA e IDE.
  • Descubrimiento progresivo de herramientas. Cada herramienta está etiquetada con pistas de comportamiento (solo lectura, destructiva, idempotente) para que los agentes elijan la herramienta correcta bajo demanda, sin desperdiciar contexto probando qué hacen.
  • Nube, opcional. Sincroniza entre dispositivos cuando quieras, nunca es obligatorio.

Comienza

Elige el camino que se adapte a ti. Ambos ejecutan el mismo producto sobre el mismo Markdown.

☁️   Nube💻   Instalación local

30 segundos. Regístrate, conecta tu cliente de IA, listo.

  • Funciona en cualquier navegador
  • Móvil, web, escritorio
  • Sincronización entre dispositivos integrada
  • Nosotros nos encargamos del alojamiento, las copias de seguridad y las instantáneas

$15.00/mes fijo de por vida · Prueba gratuita de 7 días · cancela en cualquier momento

Iniciar prueba gratuita →

2 minutos. Instala, configura tu cliente de IA, ejecuta.

  • Gratis para siempre (AGPL-3.0)
  • Todos los datos en tu disco
  • Compatible con entornos aislados
  • Requiere Python mediante uv
uv tool install basic-memory --prerelease=allow

--prerelease=allow es obligatorio: Basic Memory 0.23 depende de una versión preliminar de FastMCP 4, y uv solo acepta versiones preliminares de dependencias transitivas cuando se le indica; sin la marca, instala silenciosamente una versión anterior. La misma marca se aplica a cada comando uvx / uv tool upgrade a continuación.

Para implementaciones de Postgres que almacenan vectores semánticos en Milvus, instala el extra opcional de primera parte en su lugar:

uv tool install "basic-memory[milvus]" --prerelease=allow

Configura tu cliente ↓

Lo que dice la gente

Basic Memory cambió por completo mi relación con los LLM. Pasé de GPT y Gemini a usar exclusivamente Claude y Claude Code gracias a esta integración, y estoy reestructurando todos los procesos de nuestra empresa en torno a un flujo de trabajo con Basic Memory.

Alex, TrainerDay

Basic Memory es el factor "wow" que faltaba en los chatbots de IA. Ahora no puedo imaginar Claude o Claude Code sin él.

Caleb, Caleb Picker Consulting

Ya no programo sin Basic Memory. Es un gran ahorro de tiempo poder consultar proyectos que no tengo activos y mantener un registro continuo de todo lo que aprendo y de mis ProTips.

@groksrc, Desarrollador

Más en basicmemory.com.

Basic Memory Cloud

La versión alojada de Basic Memory. Mismo producto, mismos archivos Markdown, mismas herramientas MCP: solo que nosotros alojamos la base de datos, ejecutamos la sincronización y la ponemos en tu teléfono.

Lo que obtienes

  • Cada dispositivo, el mismo cerebro. Tu grafo de conocimiento en web, móvil y escritorio. Sin copiar y pegar entre máquinas.
  • Conecta cualquier cliente MCP. Claude Desktop, Claude Code, Codex, Cursor, ChatGPT (Custom GPTs), VS Code: conexión con un clic desde la aplicación web.
  • Sincronización bidireccional con local. Edita en tu teléfono, míralo en Obsidian en tu portátil. Impulsada por rclone con resolución de conflictos.
  • Instantáneas y copias de seguridad. Restauración en un punto en el tiempo. Explora el historial. Nunca pierdas una nota.
  • Sin bloqueo. Tus notas son Markdown plano. Exporta a Markdown local en cualquier momento: mismos archivos, mismo formato, mismos wikilinks. Cancela cuando quieras, tus datos siguen siendo tuyos.

Construido sobre WorkOS AuthKit, Neon Postgres y Tigris S3.

Precios

$15.00/mes, fijo durante toda la vida de tu suscripción (precio regular $19). Regístrate durante la beta y la tarifa nunca sube: mientras sigas suscrito, conservas el precio. Un solo plan, sin niveles, sin actualizaciones sorpresa. Notas ilimitadas, proyectos ilimitados, todas las funciones.

  • Prueba gratuita de 7 días. Cancela en cualquier momento antes del día 7 si no es para ti.
  • Cancela en cualquier momento después también: exporta tus notas cuando quieras.
  • Usuarios de OSS: código BMFOSS para otro 20% de descuento durante 3 meses (~$11.40/mes).

Inicia tu prueba gratuita de 7 días →

Nube vs. local

NubeLocal
Tiempo de configuración30 segundos2 minutos (requiere Python)
Costo$15.00/mes, fijo de por vida (prueba de 7 días)Gratis
AlmacenamientoNosotros alojamos (Tigris S3)Tu disco
Sincronización entre dispositivosIntegradaManual (Git, Syncthing, etc.)
Acceso móvilSí (web + app)No
Entorno aisladoNo
Tus datos siguen siendo tuyosSí: exporta en cualquier momentoSí: ya están ahí
Código fuenteAGPL-3.0AGPL-3.0
Instantáneas y copias de seguridadIntegradasHaz las tuyas

Ambos caminos usan el mismo motor OSS y los mismos archivos Markdown. No hay bloqueo en ninguno de los dos: cambia entre ellos cuando tus necesidades cambien.

Funciona con las herramientas que ya usas

ClienteTransporteNotas
Aplicación web en la nubehttpsInicia sesión en basicmemory.com: sin instalación
Claude Desktopstdio/httpsmacOS / Windows / Linux
Claude Codestdio/httpsclaude mcp add
Codexstdio/httpsEl agente de codificación de OpenAI
Cursorstdio/https.cursor/mcp.json
VS Codestdio/httpsSoporte MCP nativo
ChatGPThttpsAcciones de Custom GPT (search / fetch)
ObsidianLee/escribe el mismo Markdown directamente
Cualquier cosa MCPstdio/httpsSi habla MCP, funciona

Paquetes oficiales de agentes

Este repositorio es también el hogar canónico de los paquetes de agentes nativos del host de Basic Memory. El paquete principal de Python, el plugin de Claude Code, las habilidades compartidas, el plugin de Hermes y el plugin de OpenClaw se publican desde el mismo árbol fuente.

Los mantenedores pueden verificar toda la superficie consolidada desde la raíz del repositorio:

just package-check

Los justfiles locales de paquetes también están disponibles cuando se trabaja dentro de un host:

just package-check-claude-code
just package-check-skills
just package-check-hermes
just package-check-openclaw

Plugin de Claude Code

El plugin de Claude Code es el puente entre la memoria de trabajo de Claude y Basic Memory: resúmenes al inicio de sesión, puntos de control antes de la compactación, un estilo de salida de captura opcional y /basic-memory:bm-setup · :remember · :share · :status.

Conecta primero el servidor MCP de Basic Memory: consulta Conecta tu cliente de IA. Los hooks y habilidades del plugin lo llaman, así que es un prerrequisito obligatorio. Luego instala el plugin:

bm install claude-code

Eso registra el marketplace e instala el plugin a través de Claude Code. Agrega --scope project para declarar ambos en la configuración del repositorio para un equipo, o --dry-run para ver los comandos claude plugin subyacentes sin ejecutarlos.

Fuente: plugins/claude-code.

Habilidades compartidas

Los archivos SKILL.md independientes del framework viven en skills/. Si tu CLI de Skills admite fuentes de subdirectorios del repositorio:

npx skills add basicmachines-co/basic-memory/skills

Si tu CLI de Skills instalada no puede cargar esa fuente, actualiza la CLI o copia los directorios memory-* de skills/ al directorio de habilidades de tu agente.

Hermes

Hermes mantiene su forma de plugin nativa en integrations/hermes:

hermes plugins install basicmachines-co/basic-memory/integrations/hermes

Hermes no instala las dependencias de Python de un plugin, así que también agrega el paquete mcp al venv de Hermes: consulta el README del plugin para ese paso y las versiones de Hermes compatibles.

OpenClaw

OpenClaw se mantiene nativo de paquetes y publica desde integrations/openclaw:

openclaw plugins install @basicmemory/openclaw-basic-memory

Continúa donde lo dejaste

https://github.com/user-attachments/assets/a55d8238-8dd0-454a-be4c-8860dbbd0ddc

Conecta tu cliente de IA

Si elegiste la ruta de Nube, la aplicación web te guía en la conexión del cliente. Los fragmentos a continuación son para instalaciones locales.

Claude Desktop

Edita ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "basic-memory": {
      "command": "uvx",
      "args": ["--prerelease=allow", "basic-memory", "mcp"]
    }
  }
}

Reinicia Claude Desktop. Las notas viven en ~/basic-memory de forma predeterminada.

Claude Code, Codex CLI, Cursor, VS Code, ChatGPT, Obsidian

Claude Code

claude mcp add basic-memory -- uvx --prerelease=allow basic-memory mcp

Para el puente de memoria completo (resúmenes de sesión, puntos de control antes de la compactación y los comandos /basic-memory:*), instala también el plugin de Claude Code además de esto.

Codex CLI

Agrega a ~/.codex/config.toml:

[mcp_servers.basic-memory]
command = "uvx"
args = ["--prerelease=allow", "basic-memory", "mcp"]

Codex puede mantener su comportamiento de aprobación MCP predeterminado, o puedes preaprobar las herramientas elegibles de Basic Memory agregando esta configuración con ámbito de servidor a la misma tabla:

[mcp_servers.basic-memory]
command = "uvx"
args = ["--prerelease=allow", "basic-memory", "mcp"]
default_tools_approval_mode = "approve"

Esto no desactiva las aprobaciones de Codex globalmente ni amplía qué proyectos de Basic Memory puede acceder el servidor. Codex aún requiere aprobación para herramientas que anuncian una anotación destructiva, incluidos los escritos, ediciones y eliminaciones de Basic Memory. Si instalaste el plugin de Basic Memory para Codex, usa su configuración con ámbito de plugin en su lugar.

Cursor

Agrega a .cursor/mcp.json (proyecto) o ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "basic-memory": {
      "command": "uvx",
      "args": ["--prerelease=allow", "basic-memory", "mcp"]
    }
  }
}

VS Code

Agrega a tu configuración de usuario (JSON):

{
  "mcp": {
    "servers": {
      "basic-memory": {
        "command": "uvx",
        "args": ["--prerelease=allow", "basic-memory", "mcp"]
      }
    }
  }
}

ChatGPT

Basic Memory expone herramientas search y fetch compatibles con OpenAI para acciones de Custom GPT. Consulta la guía de integración de ChatGPT.

Obsidian

Sin configuración. Apunta Obsidian a ~/basic-memory (o a tu carpeta de proyecto) y los mismos wikilinks, frontmatter y Markdown que escribe tu IA aparecen en tu vista de grafo. Edita desde cualquier lado: la sincronización se encarga del resto.

Prueba un prompt:

"Create a note about our project architecture decisions."
"Find information about JWT auth in my notes."
"What have I been working on this week?"

Novedades

  • Actualizaciones automáticas. Basic Memory se mantiene actualizado para uv tool e instalaciones vía Homebrew; bm update activa una verificación manual.
  • Búsqueda semántica por vectores. Encuentra notas por significado, no solo por palabras clave. Clasificación híbrida de texto completo + vectores con embeddings FastEmbed, en SQLite o Postgres.
  • Reordenamiento de búsqueda opcional. Reevalúa los candidatos vectoriales e híbridos más fuertes con un cross-encoder local FastEmbed o un proveedor respaldado por LiteLLM.
  • Sistema de esquemas. Infiere, valida y compara la estructura de tu base de conocimiento con schema_infer, schema_validate, schema_diff.
  • Enrutamiento en la nube por proyecto. Enruta proyectos individuales a través de la nube mientras otros permanecen locales, mediante clave API (bm project set-cloud).
  • Edición más inteligente. edit_note append/prepend crea notas automáticamente cuando faltan; write_note protege contra sobrescrituras accidentales.
  • Resultados de búsqueda más ricos. El texto del fragmento coincidente se incluye para que el LLM obtenga contexto, no solo coincidencias.
  • FastMCP 3.0 + anotaciones de herramientas. Cada herramienta incluye sugerencias de comportamiento MCP (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) para que los agentes puedan descubrir capacidades progresivamente en tiempo de ejecución en lugar de adivinar o gastar tokens.
  • Reforma de la CLI. Salida --json para scripting, comandos conscientes del workspace y un panel de proyectos inspirado en htop.

CHANGELOG completo para v0.18 → v0.20.

Reordenamiento opcional con cross-encoder

El reordenamiento añade una segunda pasada de relevancia después de la recuperación vectorial o híbrida. Está deshabilitado por defecto porque añade latencia de inferencia y, para el proveedor local, una descarga inicial del modelo. Las búsquedas de texto, título y enlace permanente mantienen su clasificación existente.

Habilita el reordenador local FastEmbed predeterminado:

export BASIC_MEMORY_SEMANTIC_SEARCH_ENABLED=true
export BASIC_MEMORY_RERANKER_ENABLED=true

El modelo predeterminado es jinaai/jina-reranker-v1-tiny-en. Para usar un reordenador alojado a través de LiteLLM en su lugar:

export BASIC_MEMORY_SEMANTIC_SEARCH_ENABLED=true
export BASIC_MEMORY_RERANKER_ENABLED=true
export BASIC_MEMORY_RERANKER_PROVIDER=litellm
export BASIC_MEMORY_RERANKER_MODEL=cohere/rerank-v3.5
export COHERE_API_KEY=...

La función falla rápidamente ante configuración inválida y no retrocede silenciosamente al orden de recuperación cuando un proveedor habilitado falla. Consulta la guía de búsqueda semántica para configuración de proveedores, todos los ajustes, paginación y comportamiento ante fallos.

Por qué Basic Memory

La mayoría de las conversaciones con LLM son efímeras. Haces una pregunta, obtienes una respuesta, luego todo se olvida. Las soluciones alternativas tienen límites:

  • El historial de chat captura conversaciones pero no es conocimiento estructurado.
  • RAG permite que el LLM consulte tus documentos pero no que escriba en ellos.
  • Las bases de datos vectoriales necesitan infraestructura compleja y suelen vivir en la nube de otro.
  • Los grafos de conocimiento necesitan herramientas especializadas para mantenerse.

Basic Memory toma un camino más simple: archivos Markdown estructurados que tanto humanos como LLMs leen y escriben.

  • Todo el conocimiento permanece en archivos de texto plano que controlas.
  • Ambos lados leen y escriben en los mismos archivos.
  • Markdown familiar con patrones semánticos — sin nuevo formato que aprender.
  • Un grafo navegable que el LLM puede seguir enlace por enlace.
  • Funciona con los editores que ya usas (Obsidian, VS Code, cualquier otro).
  • Solo archivos más un índice SQLite local. Sin necesidad de servidores.

Cómo funciona

Estás chateando normalmente sobre café:

He estado experimentando con métodos de preparación. El vertido manual da más claridad que la prensa francesa, el agua a 205°F parece ser la mejor, y los granos recién molidos marcan una gran diferencia.

Pide al LLM que lo capture:

"Haz una nota sobre métodos de preparación de café."

Un archivo Markdown aparece en tu directorio de proyecto en tiempo real:

---
title: Coffee Brewing Methods
permalink: coffee-brewing-methods
tags: [coffee, brewing]
---

# Coffee Brewing Methods

## Observations
- [method] Pour over highlights subtle flavors over body
- [technique] Water at 205°F (96°C) extracts optimal compounds
- [principle] Freshly ground beans preserve aromatics

## Relations
- relates_to [[Coffee Bean Origins]]
- requires [[Proper Grinding Technique]]
- affects [[Flavor Extraction]]

En la siguiente sesión, el LLM retoma el hilo. Sigue las relaciones para sacar a la luz lo que ya sabes sobre granos etíopes y molinillos de muelas, y construye sobre ello en lugar de empezar de cero. Ves los mismos archivos en Obsidian o en tu editor. Edítalos a mano — la IA también ve tus cambios.

Flujo bidireccional real: los humanos editan Markdown, los LLMs leen/escriben a través de MCP, la sincronización mantiene todo consistente, y la fuente de verdad son siempre tus archivos.

El formato Markdown

Cada archivo es un Entity. Las entidades tienen Observations (hechos sobre ellas) y Relations (enlaces a otras entidades). Esa es toda la gramática.

Frontmatter

---
title: <Entity title>
type: note
permalink: <uri-slug>
tags: [optional, list]
---

Observaciones

Hechos sobre la entidad. Categorías en [brackets], etiquetas con #, contexto opcional entre paréntesis.

- [method] Pour over highlights subtle flavors
- [tip] Grind medium-fine for V60 #brewing
- [fact] Lighter roasts contain more caffeine than dark
- [resource] James Hoffmann's V60 technique on YouTube
- [question] How does temperature affect compound extraction?

Relaciones

Enlaces estilo wiki que forman el grafo. Tipos de relación de un solo token, o de varias palabras entre comillas.

- pairs_well_with [[Chocolate Desserts]]
- grown_in [[Ethiopia]]
- requires [[Burr Grinder]]
- "pairs well with" [[Dark Chocolate]]

- [[Target]] simples y - Worth checking out [[Target]] en prosa se indexan como links_to. Referencia completa en la documentación.

Herramientas MCP

Basic Memory expone estas herramientas a cualquier cliente MCP. Cada herramienta está anotada con sugerencias de comportamiento MCP (solo lectura, destructiva, idempotente, mundo abierto) para que los agentes puedan elegir la correcta sin prueba y error:

  • Contenido: write_note, read_note, edit_note, move_note, delete_note, read_content, view_note
  • Búsqueda y descubrimiento: search_notes, recent_activity, list_directory
  • Grafo de conocimiento: build_context (navega URLs memory://)
  • Proyectos: list_memory_projects, list_workspaces, create_memory_project, delete_project
  • Esquema: schema_infer, schema_validate, schema_diff
  • Compatibilidad y diagnóstico: search, fetch, basic_memory_diagnostics

Todas las herramientas MCP usan salida de texto por defecto; pasa output_format="json" para respuestas estructuradas. Referencia completa de herramientas en la documentación.

Esenciales de la CLI

# Projects
basic-memory project list
basic-memory project add research ~/research
basic-memory project set-cloud research   # route through cloud
basic-memory project set-local research   # revert

# Config
basic-memory config list                        # all settings, effective values, env overrides
basic-memory config set cli_output_style plain  # validated through the config model
basic-memory config unset cli_output_style      # revert to default

# Health & maintenance
basic-memory status
basic-memory doctor              # file <-> DB consistency check
basic-memory tool edit-note ...  # CLI access to MCP tools
basic-memory update              # check for and install updates

# Imports
basic-memory import claude conversations
basic-memory import chatgpt
basic-memory import memory-json

Las banderas de enrutamiento (--local / --cloud) fuerzan un destino cuando estás en modo mixto. Referencia completa de la CLI en la documentación.

Actualizaciones automáticas

Las instalaciones por CLI verifican actualizaciones cada 24 horas por defecto y las aplican silenciosamente (para que el servidor MCP siga respondiendo).

  • Fuentes de instalación compatibles: uv tool, Homebrew
  • Se omite para uvx (entorno efímero gestionado por uv)
  • Manual: bm update (verificar + aplicar) o bm update --check (solo verificar)

Deshabilitar en ~/.basic-memory/config.json:

{ "auto_update": false }

Telemetría

Eventos mínimos y anónimos para entender el embudo de conversión de CLI a nube.

Lo que recopilamos: impresiones de promociones de nube, intentos y resultados de inicio de sesión en la nube, eventos de exclusión de promociones.

Lo que no recopilamos: contenido de archivos, títulos de notas, datos de la base de conocimiento, PII, direcciones IP, seguimiento por comando o por herramienta.

Los eventos van a nuestra instancia de Umami Cloud (código abierto, centrada en privacidad) en un hilo en segundo plano — nunca bloquea la CLI.

Excluirse:

export BASIC_MEMORY_NO_PROMOS=1

Esto deshabilita promociones y toda la telemetría.

Registro

Basic Memory usa Loguru. Los valores predeterminados varían según el punto de entrada:

Punto de entradaPredeterminadoPor qué
Comandos CLISolo archivoNo interfiere con la salida de comandos
Servidor MCPSolo archivoStdout corrompería JSON-RPC
Servidor APIArchivo (local) o stdout (nube)Docker/nube usa stdout

Archivo de registro: ~/.basic-memory/basic-memory.log (rotación de 10MB, retención de 10 días).

Variables de entorno

VariablePredeterminadoDescripción
BASIC_MEMORY_LOG_LEVELINFODEBUG / INFO / WARNING / ERROR
BASIC_MEMORY_CLOUD_MODEfalseLos registros de API van a stdout con contexto estructurado
BASIC_MEMORY_FORCE_LOCALfalseFuerza enrutamiento de API local
BASIC_MEMORY_FORCE_CLOUDfalseFuerza enrutamiento de API en la nube
BASIC_MEMORY_EXPLICIT_ROUTINGfalseMarca la selección de ruta como explícita
BASIC_MEMORY_ENVdevEstablecer a test para modo de prueba (solo stderr)
BASIC_MEMORY_NO_PROMOSfalseDeshabilita promociones de nube y telemetría
BASIC_MEMORY_IMPORT_UPLOAD_MAX_BYTES104857600Tamaño máximo de importación subida
BASIC_MEMORY_LOG_LEVEL=DEBUG basic-memory reindex
tail -f ~/.basic-memory/basic-memory.log

Desarrollo

Basic Memory soporta SQLite (predeterminado, rápido, sin Docker) y Postgres (vía testcontainers — se requiere Docker).

just install          # Install with dev dependencies
just test-sqlite      # All tests, SQLite
just test-postgres    # All tests, Postgres (testcontainers)
just test             # Both backends
just fast-check       # fix/format/typecheck + impacted tests
just doctor           # File <-> DB consistency check (temp config)
just package-check    # Claude Code, skills, Hermes, OpenClaw package checks
just lint
just typecheck        # Pyright (primary)
just typecheck-ty     # ty (supplemental)
just format
just check            # All quality checks
just migration "msg"  # New Alembic migration

Las pruebas usan marcadores pytest: windows, benchmark, smoke. Consulta justfile para la lista completa.

Las contribuciones son bienvenidas — consulta CONTRIBUTING.md.

Licencia

AGPL-3.0.

Hecho con ♥️ por Basic Machines