Memory MCP Server
Memory MCP Server
Un servidor del Model Context Protocol (MCP) que proporciona memoria persistente a los agentes de IA. Las memorias se almacenan en una base de datos SQLite local (creada automáticamente, sin configuración) y se exponen a través de cuarenta herramientas que siguen una arquitectura basada en herramientas. Está construido sobre el andamiaje de producción template-mcp-server (FastMCP + FastAPI, registro estructurado, contenedores, manifiestos de OpenShift, CI).
Características
40 herramientas MCP en cuatro dominios: memoria, tareas, tiempo (recordatorios/alertas), panel
Siete herramientas de memoria: store, get, search, list, update, delete, projects
Siete herramientas de tareas pendientes: create/search/list/get/update/complete/delete con prioridad y fechas de vencimiento
Ocho herramientas kanban: tableros con columnas configurables; añadir/mover/actualizar/eliminar tarjetas
Siete herramientas de seguimiento: rastreadores de estado cuyas entradas se agregan en métricas de progreso
Persistencia SQLite mediante aiosqlite: un solo archivo, línea base WAL optimizada, creación automática
Búsqueda de palabras clave de texto completo: coincidencia de palabras completas con derivación porter sobre un índice FTS5, ordenada por relevancia (mejor coincidencia primero)
Etiquetas y metadatos en memorias y tareas pendientes
FastMCP + FastAPI con múltiples transportes (HTTP, SSE, streamable-HTTP)
Configuración Pydantic mediante variables de entorno
Registro estructurado JSON con structlog
Integración OAuth (deshabilitada por defecto; consulte
docs/authentication.md)Listo para contenedores (imagen base Red Hat UBI) y manifiestos de OpenShift incluidos
Comportamiento de búsqueda y almacenamiento
La búsqueda (memory_search, todo_search) coincide con tokens de palabras completas sobre un índice de texto completo con derivación porter: las palabras parciales nunca coinciden (consultar check no coincidirá con checklist), la puntuación y los operadores se tratan literalmente, y los resultados se ordenan por relevancia bm25: la coincidencia más fuerte primero, la más reciente primero en caso de empate. Tenga en cuenta que la tokenización unicode61 trata una oración CJK completa como un solo token, por lo que la coincidencia de palabras completas asume escrituras separadas por espacios.
Las bases de datos se ejecutan en modo WAL con synchronous=NORMAL: las transacciones recientemente confirmadas pueden perderse en un bloqueo del sistema operativo o un corte de energía (una compensación aceptada para notas/tareas, no adecuada como sistema de registro). El tamaño de WAL en estado estable está limitado por wal_autocheckpoint (~1000 páginas ≈ 4 MiB); journal_size_limit (8 MiB) solo permite que SQLite trunque el archivo WAL una vez que los puntos de control lo liberan. El mantenimiento (PRAGMA optimize + una pasada de wal_checkpoint(TRUNCATE)) se ejecuta en línea en el bucle de sondeo de recordatorios cada décima iteración y puede retrasar brevemente una iteración; está limitado por el tiempo de espera por hook y el tiempo de espera de ocupado de la base de datos.
Related MCP server: Agent Progress Tracker MCP Server
Inicio rápido
git clone https://github.com/redhat-data-and-ai/memory-mcp-server
cd memory-mcp-server
make install # creates venv, installs deps + pre-commit hooks
make local # starts server on localhost:5001Verifique en otra terminal:
curl http://localhost:5001/healthConfiguración manual (sin Make):
# Create venv and install
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pre-commit install
# Configure and run
cp .env.example .env
memory-mcp-server
# Verify
curl http://localhost:5001/healthHerramientas
Memoria
Herramienta | Propósito |
| Persistir una nueva memoria; devuelve su id |
| Obtener una memoria por id |
| Búsqueda de palabras clave sobre el contenido, ordenada por relevancia |
| Explorar memorias de la más reciente a la más antigua |
| Actualizar parcialmente una memoria |
| Eliminar una memoria por id |
Tareas pendientes
Herramienta | Propósito |
| Añadir una tarea estructurada |
| Búsqueda de palabras clave sobre título/descripción, ordenada por relevancia |
| Explorar tareas pendientes con filtros |
| Gestionar tareas pendientes individuales |
Kanban
Herramienta | Propósito |
| Nuevo tablero; por defecto backlog/todo/in_progress/done |
| Enumerar o eliminar tableros |
| Estado completo del tablero agrupado por columna |
| Colocar y reordenar trabajo |
| Editar o eliminar tarjetas |
Recordatorios y alertas
Herramienta | Propósito |
| Programar una alerta futura (repeticiones none/hourly/daily/weekly) |
| Inspeccionar o editar una programación |
| Las más próximas a vencer primero |
| Gestionar programaciones |
| Revisar y descartar alertas disparadas |
Un programador en segundo plano convierte los recordatorios vencidos en alertas en el servidor; consúltelas al inicio de la sesión con alert_list(acknowledged=false).
Panel
Herramienta | Propósito |
| Conteos entre dominios, alertas no confirmadas y lo que vence a continuación |
Rastreadores
Herramienta | Propósito |
| Gestionar rastreadores |
| Rastrear elementos (not_started/in_progress/blocked/done) |
| Progreso: total/hecho/porcentaje más conteos por estado |
Todas las herramientas devuelven diccionarios {status: "success" | "error", ...} y nunca lanzan excepciones a través del límite de la herramienta.
Configuración
Variable | Predeterminado | Descripción |
|
| Archivo de base de datos SQLite (creado automáticamente, incluye directorios padre) |
|
| Intervalo del programador en segundo plano para disparar recordatorios vencidos |
|
| Dirección de enlace del servidor |
|
| Puerto del servidor (1024-65535) |
|
| Protocolo de transporte ( |
|
| Clave/certificado SSL para HTTPS |
|
| Autenticación OAuth (consulte |
|
| Nivel de registro |
* ENABLE_AUTH tiene como valor predeterminado False en .env.example. Copie siempre .env.example a .env para comenzar con la autenticación deshabilitada.
Conexión de un cliente MCP
Apunte su cliente MCP al endpoint del servidor:
{
"mcpServers": {
"memory": {
"url": "http://localhost:5001/mcp"
}
}
}Consulte examples/fastmcp_client.py para ver un cliente funcional que almacena y busca memorias.
Desarrollo
make lint # ruff + mypy
make test # pytest with coverage
make pre-commit # run all pre-commit hooksDocumentación
Guía | Descripción |
Diagramas del sistema, estructura del código, componentes clave | |
Configuración, ejecución local, pruebas, calidad del código | |
Podman, OpenShift, configuración de contenedores | |
Configuración de OAuth, modos de autenticación, solución de problemas |
Licencia
Apache 2.0 — derivado de redhat-data-and-ai/template-mcp-server.
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent memory for AI agents. Search, store, and recall across sessions.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Persistent memory for AI agents. Search and store durable facts, preferences and decisions.
- mem0OAuthio.github.mem0ai
Persistent memory for AI agents: add, search, update, and delete long-term memories.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceProvides persistent local memory functionality for AI assistants, enabling them to store, retrieve, and search contextual information across conversations with SQLite-based full-text search. All data stays private on your machine while dramatically improving context retention and personalized assistance.3-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to track, search, and retrieve their progress across projects with persistent memory using SQLite storage and LLM-powered summarization. Supports logging completed work, searching previous entries, and retrieving context for multi-step or multi-agent workflows.12 npmMIT
- AlicenseAqualityBmaintenanceProvides AI coding assistants with persistent memory storage using a local SQLite database. Enables tools to remember project details, notes, and relationships across sessions to maintain context and reduce repetitive explanations.174MIT
- AlicenseNot gradedqualityCmaintenanceGives AI coding agents persistent memory by storing observations, decisions, and learnings in a local SQLite database with vector search, full-text search, and a rules engine.4MIT