This is a working client, not a viewer: del removes a key outright and set overwrites unless NX is passed, so an agent holding these tools can change whatever state the instance holds. The read paths are shaped for exactly the questions you ask during an incident — scan by pattern to find the key, hgetall to see the whole record, zrangebyscore to pull the slice of a leaderboard or queue that a score range covers. Expiry is available where it belongs, on set through PX, rather than as a separate tool.
A Redis client exposed as 13 tools, covering strings, hashes, sorted sets, sets and key discovery against one instance.
- Key discovery without dumping the keyspace: scan matches a pattern and takes a count to bound each pass.
- String values: get reads a key, set writes one with optional NX so it only lands if the key is absent and PX to attach an expiry in milliseconds, and del removes it.
- Hashes read whole or by field: hmset writes several fields at once, hget reads one, and hgetall returns every field and value.
- Sorted sets addressed both ways: zadd adds members, zrange returns a range by index, zrangebyscore returns members between a min and a max score, both optionally with scores, and zrem removes members.
- Plain sets: sadd adds members and smembers returns everything in the set.
A Redis instance the host can reach, addressed by hostname and port when the server starts.
One command — npx redis-mcp --redis-host localhost --redis-port 6379
