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.
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 installed
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 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.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
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/bsahane/memory-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server