Redis MCP Server

Official

Official Redis server — search keys, inspect data structures and manage caches in natural language.

Local + remotestdiostreamable-httpPythonMIT 500

What is the Redis MCP server?

The Redis MCP server is maintained by Redis themselves, and it shows in the coverage: rather than a thin GET/SET wrapper, it speaks the full breadth of Redis data structures — strings, hashes, lists, sets, sorted sets, streams, JSON documents and even vector search indexes. If your team uses Redis as more than a cache, that breadth matters.

The everyday use is operational spelunking. Redis instances accumulate mystery keys the way attics accumulate boxes, and "what's actually in this cache?" is suddenly a question you can ask directly: scan for patterns, inspect a hash's fields, check a key's TTL, eyeball a stream's recent entries. Debugging a stale-cache bug becomes "look up the session key for this user and tell me when it expires" instead of a round of redis-cli archaeology.

Because it can write as well as read, it also covers routine operations — clearing a poisoned cache entry, seeding test data, bumping a TTL — though that same power means you should scope its credentials carefully. A Redis ACL user limited to the commands and key patterns you're comfortable with is the right way to run this anywhere near production; DEL on the wrong pattern has ruined better days than yours.

It's Python-based, installable via uvx or Docker, and connects to anything Redis-compatible: local instances, Redis Cloud, clusters with TLS. For teams on Redis Cloud there's also a managed remote variant, which drops the local process entirely.

Locking it down before production

  • Give the server its own ACL user rather than the default one — ACL SETUSER mcp on >secret ~cache:* +@read limits it to a key prefix and read commands, so FLUSHALL isn't even in its vocabulary.
  • Key discovery uses cursor-based SCAN rather than KEYS, so it won't block the server, but a wildcard pattern across a million-key instance is still a long sequence of round trips.
  • Read the info keyspace section before drawing conclusions about memory: the count of keys without a TTL is usually where unexplained growth is hiding.
  • Vector search depends on the Redis Query Engine, so you need Redis Stack or Redis 8+. A plain older redis-server won't expose index commands no matter how the server is configured.

What you can do with it

Cache debugging

Find the exact key behind a stale-data bug, check its TTL and contents, and clear it — conversationally.

Instance hygiene

Survey what key patterns exist, what's eating memory, and what has no expiry set.

Agent memory on Redis

Use Redis structures (and vector search) as fast working memory for agent workflows.

Available tools

ToolWhat it does
scan_keysScan for keys matching a pattern without blocking the server
get / setRead and write string values with optional expiry
hget_all / hsetInspect and modify hash fields
list / set / zset operationsWork with lists, sets and sorted sets
json_get / json_setRead and write RedisJSON documents
xrangeRead entries from Redis streams
vector_searchQuery vector indexes for similarity search
infoServer info: memory, clients, keyspace statistics

How to install the Redis MCP server

{
  "mcpServers": {
    "redis": {
      "command": "uvx",
      "args": ["--from", "redis-mcp-server", "redis-mcp-server",
               "--url", "redis://localhost:6379/0"]
    }
  }
}

Use rediss:// URLs for TLS connections to managed Redis.

Configuration

Python 3.13+ with uv, or Docker. Network access to your Redis instance; use a scoped ACL user near production.

VariableDescriptionRequired
REDIS_URLConnection URL as an alternative to the --url flage.g. rediss://user:pass@host:6380/0Optional

Example prompts to try

  • Scan for keys matching session:* and tell me how many there are and their typical TTL.
  • What's in the hash user:1042? Update its plan field to 'pro'.
  • Which key patterns are using the most memory on this instance?

Frequently asked questions

Yes — pass a rediss:// URL (note the double s) with credentials and it connects to Redis Cloud, ElastiCache and other TLS-terminated deployments. Redis Cloud accounts can also use a fully managed remote MCP endpoint.