ContextKeep

ContextKeep 🧠
Memoria a largo plazo infinita para agentes de IA
ContextKeep es un servidor de memoria potente e independiente que dota a tus agentes de IA (Claude, Cursor, Gemini, OpenCode y más) de un cerebro persistente y buscable. Deja de repetirte: permite que tu IA lo recuerde todo, permanentemente.
Características • Novedades en la V1.3 • Instalación • Herramientas MCP • Panel web • Configuración
🌟 Características
♾️ Contexto infinito: Almacena detalles de proyectos, preferencias, decisiones y fragmentos ilimitados; sin caducidad, sin límite de tamaño.
💰 Ahorra dinero y tokens: Extrae solo las memorias que importan, reduciendo drásticamente el uso de la ventana de contexto y los costes de API.
🔌 Compatibilidad universal: Funciona con cualquier cliente compatible con MCP a través de Stdio (local) o SSE (remoto/homelab).
🧭 Protocolo de índice de memoria: Un sistema de recuperación fiable de dos pasos —
list_all_memories()→retrieve_memory()— para que los agentes siempre encuentren la clave correcta, cada vez.🖥️ Panel web moderno: Gestiona tus memorias visualmente con vistas de cuadrícula, lista y calendario en una elegante interfaz oscura.
🔒 Privacidad primero: Almacenamiento 100% local. Tus datos nunca tocan un servidor externo.
🔎 Búsqueda inteligente: Búsqueda por palabras clave y semántica en todo el contenido de la memoria.
🐧 Servicio Linux: Se ejecuta silenciosamente en segundo plano como un servicio de systemd.
🐳 Listo para Docker: Despliegue con un solo comando mediante Docker Compose.
⬇️ Exportación y copia de seguridad: Exporta todas las memorias como JSON a través de la herramienta MCP o la interfaz web.

🆕 Novedades en la V1.3 — Harbor
🐳 Soporte para Docker
La petición número 1 de la comunidad. ContextKeep ahora incluye un Dockerfile y un docker-compose.yml para un despliegue con un solo comando:
docker compose up --buildEso es todo. Servidor MCP en :5100, interfaz web en :5000, con almacenamiento persistente mediante volúmenes de Docker.
📦 Empaquetado moderno de Python
pyproject.toml— especificación de dependencias canónica parauv,poetryopipSoporte para
uv— el instalador detecta automáticamenteuvy utilizauv syncpara una configuración ultrarrápidaRetrocompatible —
pip install -r requirements.txtsigue funcionando
🛠️ 3 nuevas herramientas MCP (5 → 8 en total)
Nueva herramienta | Propósito |
| Los agentes ahora pueden eliminar memorias directamente |
| Recuento de memorias, caracteres totales, ruta de almacenamiento de un vistazo |
| Copia de seguridad completa como JSON — para migración o archivo |
⬇️ Exportación desde la interfaz web
Botón Exportar todo en la barra de herramientas (o pulsa
Ctrl+E)Descarga un archivo
contextkeep_backup_YYYY-MM-DD.jsoncon marca de tiempo
🧹 Calidad del código
Se ha corregido código muerto en
memory_manager.py(untry/exceptduplicado inalcanzable)Se ha añadido el archivo
core/__init__.pyfaltante para un empaquetado correcto en PythonSe ha reemplazado
except:genérico porexcept Exception:en todo el código
🚀 Instalación
Opción 1: Inicio rápido (pip)
Clona el repositorio:
git clone https://github.com/mordang7/ContextKeep.git
cd ContextKeepEjecuta el instalador:
Linux/macOS:
python3 install.pyWindows:
python install.py
Sigue el asistente: El instalador crea un entorno virtual, instala las dependencias y genera un archivo
mcp_config.jsonlisto para usar.
Opción 2: uv (Rápido)
git clone https://github.com/mordang7/ContextKeep.git
cd ContextKeep
uv sync
uv run python server.pyOpción 3: Docker (Recomendado para Homelabs)
git clone https://github.com/mordang7/ContextKeep.git
cd ContextKeep
docker compose up --build -dEsto inicia:
Servicio | Puerto | Propósito |
|
| Servidor MCP (transporte SSE) |
|
| Panel web |
Las memorias persisten en un volumen de Docker (contextkeep-data).
🛠️ Herramientas MCP
ContextKeep expone 8 herramientas MCP a cualquier agente conectado:
Herramienta | Firma | Propósito |
| (sin argumentos) | [USAR PRIMERO] Devuelve un directorio completo de todas las claves de memoria, títulos, etiquetas y marcas de tiempo |
|
| Obtiene el contenido completo de una memoria específica mediante su clave exacta |
|
| Crea o actualiza una memoria |
|
| Búsqueda semántica/por palabras clave basada en el contenido en todas las memorias |
| (sin argumentos) | Devuelve las 10 memorias actualizadas más recientemente |
|
| Elimina una memoria permanentemente por clave |
| (sin argumentos) | Obtiene el recuento total de memorias, recuento de caracteres y ruta de almacenamiento |
| (sin argumentos) | Exporta todas las memorias como una matriz JSON |
Directiva de agente recomendada
Añade esto a tu GEMINI.md, AGENTS.md o CLAUDE.md:
## Memory Index Protocol (MANDATORY)
1. FIRST — call `list_all_memories()` to get the complete key directory
2. THEN — call `retrieve_memory(exact_key)` using the exact key from step 1
Only use `search_memories()` for content-based searches, NOT for key lookup.🔌 Configuración
Copia el contenido de mcp_config.example.json en el archivo de configuración de tu cliente de IA y actualiza las rutas.
Opción 1: Local (Claude Desktop / Gemini CLI / Cursor)
{
"mcpServers": {
"context-keep": {
"command": "/absolute/path/to/ContextKeep/venv/bin/python",
"args": ["/absolute/path/to/ContextKeep/server.py"]
}
}
}Opción 2: Remoto vía SSH (Homelab / Raspberry Pi)
Ejecuta ContextKeep en un servidor doméstico y accede a él desde cualquier máquina de tu red:
{
"mcpServers": {
"context-keep": {
"command": "ssh",
"args": [
"-i", "/path/to/private_key",
"user@192.168.1.X",
"'/path/to/ContextKeep/venv/bin/python'",
"'/path/to/ContextKeep/server.py'"
]
}
}
}Opción 3: Modo SSE (HTTP)
Ideal para OpenCode, aplicaciones web o cualquier cliente que prefiera el transporte HTTP:
{
"mcpServers": {
"context-keep": {
"transport": "sse",
"url": "http://localhost:5100/sse"
}
}
}Opción 4: Docker
Usa mcp_config.docker.example.json o apunta tu cliente al contenedor:
{
"mcpServers": {
"context-keep": {
"transport": "sse",
"url": "http://localhost:5100/sse"
}
}
}🌐 Panel web
ContextKeep incluye una interfaz web completa para gestionar tus memorias sin tocar la CLI.
URL:
http://localhost:5000Vista de cuadrícula: Tarjetas de memoria con etiquetas, recuentos de caracteres y acciones integradas
Vista de lista: Tabla densa y escaneable con todas las memorias ordenadas por última actualización
Vista de calendario: Explora tu historial de memoria por mes
Búsqueda: Filtrado en tiempo real en títulos, claves y contenido
CRUD completo: Crea, visualiza, edita y elimina memorias desde el navegador
Exportación: Descarga todas las memorias como JSON con un solo clic (
Ctrl+E)
Para iniciar manualmente:
./venv/bin/python webui.py🐧 Configuración del servicio Linux (Recomendado para Homelabs)
Ejecuta tanto el servidor MCP como la interfaz web como servicios persistentes en segundo plano:
chmod +x install_services.sh
./install_services.shEsto instala:
Servicio | Puerto | Propósito |
|
| Servidor MCP (transporte SSE) |
|
| Panel web |
Gestionar servicios:
sudo systemctl status contextkeep-server
sudo systemctl restart contextkeep-webui📋 Registro de cambios
V1.3 — Harbor
✅ Soporte para Docker — Dockerfile + docker-compose.yml para despliegue con un solo comando
✅ Empaquetado moderno —
pyproject.toml+ soporte parauvjunto a pip✅ Nueva herramienta MCP:
delete_memory()— los agentes ahora pueden eliminar memorias✅ Nueva herramienta MCP:
get_memory_stats()— recuento y tamaño de memoria de un vistazo✅ Nueva herramienta MCP:
export_memories()— copia de seguridad completa como JSON✅ Interfaz web: Botón Exportar todo con atajo
Ctrl+E✅ Interfaz web: Endpoint de API de estadísticas
✅ Corrección: Código muerto eliminado en
memory_manager.py✅ Corrección: Se añadió
core/__init__.pyfaltante para importaciones de Docker/paquetes✅ Corrección:
exceptgenérico reemplazado porexcept Exception✅ Instalador actualizado a V1.3 con detección de
uv✅ Colaboradores de la comunidad acreditados 🙏
V1.2 — Obsidian Lab
✅ Nueva herramienta MCP
list_all_memories()— directorio de memoria completo en una sola llamada✅ Rediseño de la interfaz Obsidian Lab — estética premium oscura con acentos cian/neón
✅ Insignia en vivo de recuento de memoria en el encabezado
✅ Navegación por mes en el calendario (adelante/atrás)
✅ Las tarjetas de cuadrícula ahora muestran etiquetas y distintivos de recuento de caracteres
✅ Barra lateral "Memorias recientes" eliminada para un diseño de calendario más limpio
✅ Protocolo de índice de memoria V1.2 — patrón de recuperación de agente de dos pasos estandarizado
V1.1
Panel web con vistas de cuadrícula, lista y calendario
Soporte de transporte SSE junto a Stdio
Instalador de servicio systemd de Linux
Títulos de memoria y marcas de tiempo
V1.0
Servidor MCP central con
store_memory,retrieve_memory,search_memoriesAlmacenamiento persistente respaldado por JSON
Soporte de transporte remoto SSH
🤝 Contribuciones
Las contribuciones son bienvenidas. Abre un PR, informa de un problema o sugiere una funcionalidad: toda aportación es apreciada.
Colaboradores de la comunidad en la V1.3
Un enorme agradecimiento a todos los que contribuyeron al lanzamiento de Harbor:
@Cyberdogs7 — PR #2: Implementación inicial de Docker y Docker Compose
@frehov — PR #3: Dockerfile,
pyproject.toml, soporte parauv, corrección de__init__.py@thinkstylestudio — Defensa de la comunidad
☕ Apoya el proyecto
Si ContextKeep te ahorra tiempo, tokens o salud mental, considera invitarme a un café.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/mordang7/ContextKeep'
If you have feedback or need assistance with the MCP directory API, please join our Discord server