redis-guard-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| redis_getA | Get a string value by key. Returns null if the key doesn't exist. |
| redis_mgetB | Get multiple string values at once, as {key: value}. |
| redis_typeA | Report a key's Redis type (string/hash/list/set/zset/...). |
| redis_ttlB | Seconds until a key expires. -1 = no expiry, -2 = key doesn't exist. |
| redis_existsB | Count how many of the given keys currently exist. |
| redis_scan_keysA | One SCAN page of keys matching a glob pattern. Never blocks the
server the way KEYS can on a large keyspace — pass the returned
cursor back in as |
| redis_hgetC | Get one field from a hash. |
| redis_hscanA | One HSCAN page of a hash's fields. Pass the returned cursor back
in as |
| redis_lrangeA | A range of list elements, capped at 1000 per call. stop omitted
means "as many as fit within the cap starting at start" — if
|
| redis_sscanA | One SSCAN page of a set's members, sorted. Pass the returned
cursor back in as |
| redis_zrangeA | A range of sorted-set members, capped at 1000 per call, same pagination convention as redis_lrange. |
| redis_dbsizeA | Total number of keys in the current database. |
| redis_check_permissionsA | Ask Redis's own ACL engine, via ACL DRYRUN, whether each of a
curated list of dangerous commands (EVAL, CONFIG SET, FLUSHALL,
SHUTDOWN, CLIENT KILL/PAUSE, ...) would actually succeed for the
connected user right now. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Every tool targets a distinct Redis operation or data structure: get/mget for strings, type/ttl/exists for metadata, scan_keys for key patterns, hget/hscan for hashes, lrange for lists, sscan for sets, zrange for sorted sets, dbsize for stats, and check_permissions for security. No two tools overlap in purpose or could be easily confused.
All tools follow the redis_ prefix, then an operation (get, mget, type, ttl, exists, dbsize, scan_keys, check_permissions) or a type-specific operation (hget, hscan, lrange, sscan, zrange). The pattern is uniform: redis_<op> or redis_<datatype><op>, with consistent snake_case throughout. Minor variations like redis_type vs redis_scan_keys are still pattern-legible.
13 tools is well-scoped for a Redis guard server. Each tool covers a meaningful read operation or safety check, and none feels redundant. This is within the ideal 3–15 range and the count matches the breadth of Redis data types plus critical metadata and security features.
The surface is complete for apparent read-only guard purposes: it covers all major data types (string, hash, list, set, zset) with paginated access, plus key metadata (type, ttl, exists), pattern scanning, and a permission check for dangerous commands. Minor gaps like type-specific cardinality commands (redis_llen, redis_scard) exist, but the core workflow of safe reads is fully served.