/ Directorio / Playground / Redis
● Oficial redis 🔑 Requiere tu clave

Redis

por redis · redis/mcp-redis

Habla con Redis en inglés — inspecciona claves, gestiona cachés, ajusta vencimientos y depura pub/sub sin memorizar cada comando de Redis.

El MCP oficial de Redis expone toda la superficie de comandos de Redis a través de herramientas tipadas: strings, hashes, listas, conjuntos, conjuntos ordenados, streams, pub/sub y gestión de claves. Por defecto usa una única URL de Redis; funciona con Redis OSS, Redis Stack, Redis Cloud, y ElastiCache/MemoryDB.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

redis.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "redis": {
      "command": "uvx",
      "args": [
        "mcp-redis"
      ]
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "redis": {
      "command": "uvx",
      "args": [
        "mcp-redis"
      ]
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "redis": {
      "command": "uvx",
      "args": [
        "mcp-redis"
      ]
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "redis": {
      "command": "uvx",
      "args": [
        "mcp-redis"
      ]
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "redis",
      "command": "uvx",
      "args": [
        "mcp-redis"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "redis": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-redis"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add redis -- uvx mcp-redis

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: Redis

Investiga por qué un valor en caché está obsoleto o falta

👤 Ingenieros de backend depurando errores de caché ⏱ ~10 min beginner

Cuándo usarlo: Un usuario dice 'Actualicé mi perfil pero sigue mostrando el nombre anterior' — probablemente un problema de invalidación de caché.

Requisitos previos
  • URL de Redis con al menos acceso de lecturaREDIS_URL=redis://:pw@host:6379/0
Flujo
  1. Encuentra la clave correcta
    Escanea claves que coincidan con user:profile:42* — muestra cada una con su tipo y TTL.✓ Copiado
    → Lista de claves coincidentes
  2. Inspecciona el valor almacenado y la expiración
    Para user:profile:42, GET el valor y muestra el TTL. ¿Está obsoleto en comparación con lo esperado?✓ Copiado
    → Valor + TTL + veredicto
  3. Invalida deliberadamente el caché
    Elimina esa clave (y cualquier clave de lista/conjunto relacionada) para que la aplicación se repopule en la próxima lectura. Confirma la eliminación.✓ Copiado
    → DEL devolvió 1 o más

Resultado: Un caché confirmado como reparado con un registro de qué era obsoleto y por qué.

Errores comunes
  • KEYS * en una instancia grande paraliza el servidor — Siempre usa SCAN (el servidor traduce las herramientas scan a cursores no bloqueantes); nunca KEYS

Audita contadores de límite de velocidad para detectar patrones de abuso

👤 Equipo de plataforma / abuso ⏱ ~15 min intermediate

Cuándo usarlo: Sospechas que un cliente está haciendo ráfagas contra tu limitador de velocidad; quieres ver contadores en vivo y TTLs.

Flujo
  1. Lista contadores activos
    Escanea claves que coincidan con ratelimit:* y agrupa por prefijo. Muestra la cantidad por grupo.✓ Copiado
    → Histograma de prefijos
  2. Encuentra los principales consumidores
    Para ratelimit:api:*, devuelve las 20 claves con el valor entero más alto.✓ Copiado
    → Top-20 infractores
  3. Bloquea o reinicia
    Para la clave abusiva ratelimit:api:client_abc, elimínala para permitir la próxima llamada — y añade client_abc al conjunto de lista negra abuse:blocked con EXPIRE 86400.✓ Copiado
    → Clave eliminada + lista negra actualizada

Resultado: Evidencia en vivo de abuso más mitigación dirigida, todo en pocas operaciones de Redis.

Errores comunes
  • Eliminar una clave de límite de velocidad permite que el cliente haga ráfagas nuevamente de inmediato — Añade a un conjunto de lista negra primero, luego elimina el contador — no al revés
Combinar con: sentry

Encuentra y purga claves de sesión huérfanas que consumen memoria

👤 SREs respondiendo a una alerta de memoria de Redis ⏱ ~20 min intermediate

Cuándo usarlo: Redis está al 85% de maxmemory y necesitas saber qué la está llenando antes de que evicte claves importantes.

Flujo
  1. Muestrea claves grandes
    Encuentra las 50 claves más grandes por memoria (usa MEMORY USAGE por clave muestreada en un pase SCAN).✓ Copiado
    → Lista de claves más grandes con tamaños
  2. Agrupa por prefijo y suma
    De esa muestra, agrupa claves por el primer segmento de dos puntos. Suma tamaños por grupo para encontrar el peor prefijo.✓ Copiado
    → Prefijo → bytes totales
  3. Poda con corrección de TTL
    Para claves de prefijo session: sin TTL (persistentes), establece EXPIRE a 86400 segundos. Cuenta cuántas se actualizaron.✓ Copiado
    → Número de claves a las que se asignó un TTL

Resultado: Alivio de memoria más una causa raíz (EXPIRE faltante en escrituras de sesión) para reparar en el código de la aplicación.

Errores comunes
  • MEMORY USAGE es costoso en hashes/zsets grandes — Muestrea 5–10k claves vía SCAN, no todo el espacio de claves
Combinar con: sentry

Inspecciona un Stream de Redis para detectar entradas atascadas del grupo de consumidor

👤 Ingenieros usando Redis Streams para colas de trabajo ⏱ ~20 min advanced

Cuándo usarlo: Un grupo de consumidor está rezagado; los mensajes no se están reconociendo; el rendimiento se ha desplomado.

Flujo
  1. Verifica el stream y los grupos
    Para stream jobs, muestra XLEN, grupos de consumidor y cantidad pendiente por grupo.✓ Copiado
    → Números de acumulación
  2. Mira las entradas pendientes
    Para grupo workers, lista las 20 principales entradas de PEL (XPENDING) — muestra tiempo de inactividad y consumidor.✓ Copiado
    → IDs de mensaje atascados
  3. Reclamar o descartar
    XCLAIM idle>300000 las entradas atascadas a un consumidor nuevo; o XACK si es seguro descartar. Confirma conmigo cuál antes de ejecutar.✓ Copiado
    → Resumen de reclamación/reconocimiento

Resultado: Stream desbloqueado con una acción documentada (reclamar vs reconocer) por lote.

Errores comunes
  • XACK sin inspeccionar el mensaje puede descartar trabajo silenciosamente — Siempre obtén el cuerpo del mensaje (XRANGE) y confirma que es seguro descartar antes de XACK

Depura el despliegue de banderas de características almacenadas en hashes de Redis

👤 Equipos de plataforma usando banderas respaldadas por Redis ⏱ ~10 min beginner

Cuándo usarlo: Una bandera no se comporta como se esperaba para un subconjunto de usuarios.

Flujo
  1. Inspecciona el hash de la bandera
    HGETALL flags:new-checkout. Muestra todos los campos y valores.✓ Copiado
    → Definición de bandera
  2. Revisa los conjuntos de control
    SMEMBERS flags:new-checkout:allowlist y flags:new-checkout:blocklist. ¿Está el usuario 42 en alguno?✓ Copiado
    → Respuestas de pertenencia
  3. Corrige y verifica
    SADD usuario 42 a la lista permitida. Re-lee HGETALL para confirmar que el estado de la bandera es de otra forma sin cambios.✓ Copiado
    → Lista permitida actualizada; otros campos idénticos

Resultado: La bandera coincide con el estado previsto, con un registro de cambio verificado.

Errores comunes
  • Escribir en claves de bandera sin coordinación interrumpe la prueba en curso de otro administrador — Anuncia en #platform antes de cualquier escritura; mejor aún, usa una interfaz de administrador que registre cambios
Combinar con: sentry

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

redis + sentry

Correlaciona una clave de caché con el error de Sentry que la referenciaba

El evento de Sentry menciona la clave de caché user:profile:42 como faltante. GET la clave, verifica su TTL y confirma si fue eviccionada o nunca se completó.✓ Copiado
redis + postgres

Compara conteos en caché con la fuente de verdad en Postgres

GET stats:active_users:today de Redis. Ejecuta SELECT COUNT(*) FROM users WHERE last_seen > ... en Postgres. Informa la desviación.✓ Copiado
redis + filesystem

Exporta una instantánea de claves para análisis sin conexión

SCAN cada clave que coincida con session:*, vuelca clave+TTL+tamaño a /tmp/session-audit.jsonl.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
scan pattern: str, count?: int Descubre claves por patrón (siempre, nunca uses KEYS) gratuito
type key: str Antes de cualquier operación específica de tipo de dato en una clave desconocida gratuito
get / set / del key, value?, ex? Operaciones de string — cachés, contadores, cerraduras gratuito
hgetall / hset / hdel key, field?, value? Registros estructurados almacenados como hashes gratuito
sadd / smembers / sismember / srem key, member(s) Listas negras, listas permitidas, pertenencias gratuito
zadd / zrange / zrangebyscore key, score+member(s) Tablas de clasificación, colas de prioridad gratuito
xadd / xrange / xread / xpending / xclaim / xack stream ops Colas de trabajo en Redis Streams gratuito
ttl / expire / persist key, seconds? Verifica o establece vencimientos gratuito
info / memory_usage section? / key Inspección de capacidad y rendimiento gratuito

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
Limitado por los límites de comandos por segundo de Redis (tu instancia, no el MCP)
Tokens por llamada
La mayoría de comandos <200 tokens; HGETALL/LRANGE escalan con el tamaño de datos
Monetario
Gratuito contra tu Redis existente. Nivel gratuito de Redis Cloud 30MB.
Consejo
Siempre pasa un count realista a SCAN (por defecto 10 es lento a escala; 1000 es un buen lote).

Seguridad

Permisos, secretos, alcance

Ámbitos mínimos: Usuario ACL con `~pattern` y `+@read` para trabajo de solo lectura
Almacenamiento de credenciales: REDIS_URL (incluye contraseña) en env; prefiere TLS con rediss://
Salida de datos: TCP directo a tu endpoint de Redis; sin proxy de terceros
No conceder nunca: FLUSHALL FLUSHDB CONFIG SET SHUTDOWN

Resolución de problemas

Errores comunes y soluciones

NOAUTH Autenticación requerida

Contraseña faltante en REDIS_URL. Usa redis://:password@host:6379.

Verificar: redis-cli -u $REDIS_URL PING
MOVED 1234 other-host:6379 (Redis Cluster)

MCP simple usa cliente independiente. Apunta a un proxy con conciencia de clúster o usa un endpoint de Redis sin clúster.

ERR comando desconocido 'JSON.GET'

Eso es solo de Redis Stack. Actualiza a Redis Stack / Redis Cloud, o almacena como hashes.

Verificar: redis-cli MODULE LIST
OOM comando no permitido cuando memoria usada > 'maxmemory'

Redis está lleno. Verifica MEMORY STATS, evicta o aumenta la instancia, y establece TTLs en futuras escrituras.

Verificar: redis-cli INFO memory

Alternativas

Redis vs otros

AlternativaCuándo usarlaContrapartida
Memcached MCPTienes necesidades de caché KV simple, sin estructuras de datosSuperficie mucho más pequeña; sin listas/conjuntos/streams
DragonflyDB MCPCompatible con Redis pero multihiloMás nuevo; no todos los módulos funcionan

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills