Skip to main content
Glama

memory-mcp

Memoria persistente, buscable y versionada para agentes de IA — respaldada por Valkey (compatible con Redis), expuesta como un servidor MCP a través de HTTP.

Funciona con cualquier agente compatible con MCP: Claude Code, Cursor, VS Code y otros.

Qué hace

  • Almacena entradas de memoria con nombre, etiquetas, tipos y ámbitos de proyecto

  • Búsqueda por intersección de etiquetas, filtrado por tipo/proyecto y búsqueda por subcadena

  • Seguimiento de aciertos (las entradas accedidas con más frecuencia suben a la parte superior)

  • Historial completo de versiones con reversión

  • Punto final de métricas de Prometheus

  • Autenticación opcional mediante token bearer

Inicio rápido

cp .env.example .env
# Optional: set MEMORY_MCP_AUTH_TOKEN in .env (see Auth section)
docker compose up -d

Esto descarga la imagen precompilada de GHCR. El servidor MCP ya está disponible en http://127.0.0.1:3106/mcp.

Para compilar localmente en su lugar:

docker compose build
docker compose up -d

Uso de un Redis o Valkey existente

Por defecto, docker compose up -d inicia un contenedor de Valkey incluido. Para conectarse a una instancia existente de Redis o Valkey, configure VALKEY_URL e inicie solo el servicio memory-mcp:

# .env
VALKEY_URL=redis://your-host:6379

docker compose up -d memory-mcp

Cualquier servidor compatible con Redis (Redis 6+, Valkey, KeyDB, Upstash a través de rediss://, etc.) funciona. El servidor utiliza solo estructuras de datos básicas: hashes, listas y conjuntos.

Configuración del agente

Copie AGENTS.md de este repositorio en la raíz de su proyecto. Indica a su agente cómo utilizar las herramientas de memoria, qué almacenar y cuándo.

Luego, registre el servidor MCP con su cliente de agente:

Claude Code

# Without auth
claude mcp add memory --transport http http://127.0.0.1:3106/mcp

# With auth
claude mcp add memory --transport http http://127.0.0.1:3106/mcp \
  --header "Authorization: Bearer your-token"

O añádalo manualmente a ~/.claude.json:

{
  "mcpServers": {
    "memory": {
      "type": "http",
      "url": "http://127.0.0.1:3106/mcp",
      "headers": { "Authorization": "Bearer your-token" }
    }
  }
}

Cursor

Añada a ~/.cursor/mcp.json (global) o .cursor/mcp.json (proyecto):

{
  "mcpServers": {
    "memory": {
      "url": "http://127.0.0.1:3106/mcp",
      "headers": { "Authorization": "Bearer your-token" }
    }
  }
}

VS Code (GitHub Copilot, extensión MCP)

Añada a .vscode/mcp.json en su proyecto:

{
  "servers": {
    "memory": {
      "type": "http",
      "url": "http://127.0.0.1:3106/mcp",
      "headers": { "Authorization": "Bearer your-token" }
    }
  }
}

Omita la línea headers / Authorization en cualquier configuración si no está utilizando autenticación.

Configuración

Copie .env.example a .env y edítelo según sea necesario.

Variable

Predeterminado

Descripción

MEMORY_MCP_BIND

127.0.0.1

Interfaz en la que vincular. Use 0.0.0.0 solo con AUTH_TOKEN configurado.

MEMORY_MCP_HOST_PORT

3106

Puerto expuesto en el host

MEMORY_MCP_AUTH_TOKEN

(vacío)

Token bearer para /mcp. Vacío = sin autenticación. Genere uno: openssl rand -hex 32

MEMORY_MCP_MAX_ENTRIES_WARN

300

Límite suave — advierte al escribir cuando se supera

MEMORY_MCP_MAX_VERSIONS_PER_ENTRY

20

Instantáneas de versión máximas por entrada

MEMORY_MCP_MEM_LIMIT

256m

Límite de memoria del contenedor

VALKEY_IMAGE

valkey/valkey:9.0.3

Imagen de Valkey a utilizar

Autenticación

Por defecto, el servidor se ejecuta sin autenticación. Esto es seguro cuando se vincula a loopback (127.0.0.1) y se accede solo desde la máquina local.

Para habilitar la autenticación:

# Generate a token
openssl rand -hex 32

# Add to .env
MEMORY_MCP_AUTH_TOKEN=your-generated-token

docker compose up -d

Todas las solicitudes a POST /mcp deben incluir entonces:

Authorization: Bearer <token>

GET /health y GET /metrics siempre están sin autenticación.

Herramientas disponibles

Herramienta

Descripción

memory_search

Buscar por etiquetas (intersección), tipo, proyecto o subcadena de texto

memory_get

Obtener una entrada por ID (incrementa el contador de aciertos)

memory_set

Crear o actualizar una entrada (versionada en cada escritura)

memory_list

Listar entradas con filtro opcional de tipo/proyecto

memory_delete

Eliminar una entrada (se escribe primero una versión de marcador de posición)

memory_history

Ver el historial de versiones de una entrada

memory_rollback

Restaurar una entrada a una versión anterior

memory_prune_candidates

Mostrar entradas obsoletas con cero aciertos para su revisión (solo lectura)

Tipos de memoria

pattern, decision, reference, feedback, incident, project, entity, state

Puntos finales

Método

Ruta

Autenticación

Descripción

POST

/mcp

si está configurado

Punto final MCP JSON-RPC

GET

/health

ninguna

Comprobación de estado

GET

/metrics

ninguna

Métricas de Prometheus

Modelo de datos

Cada entrada se almacena como un hash de Redis en mem:<id>:

Campo

Descripción

title

Título descriptivo corto

body

Contenido completo

type

Tipo de entrada

tags

Lista de etiquetas separadas por comas

source

Quién lo escribió

project

Ámbito del proyecto (vacío = entre proyectos)

created

Fecha ISO de creación

updated

Fecha ISO de la última actualización

hits

Veces recuperado mediante memory_get

ttl

Expiración en segundos (opcional)

El historial de versiones se almacena en una lista de Redis en memver:<id> (de la más nueva a la más antigua, limitada a MAX_VERSIONS_PER_ENTRY).

Los índices de etiquetas, tipos y proyectos son conjuntos de Redis (tag:<nombre>, type:<nombre>, project:<nombre>).

Licencia

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)

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/joshdougall/memory-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server