Access to Redis database operations.
What is an MCP Server?
| Attribute | Details |
|---|---|
| Docker Image | https://hub.docker.com/repository/docker/mcp/redis |
| Author | https://github.com/redis |
| Repository | https://github.com/redis/mcp-redis |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/redis/mcp-redis/blob/1fb3282c58a1be66d2777e75a50757f0de8f89bd/Dockerfile |
| Commit | 1fb3282c58a1be66d2777e75a50757f0de8f89bd |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | !Docker Scout Health Score |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/redis --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | MIT License |
| Tools provided by this Server | Short Description |
|---|---|
client_list | Get a list of connected clients to the Redis server. |
create_vector_index_hash | Create a Redis 8 vector similarity index using HNSW on a Redis hash. |
dbsize | Get the number of keys stored in the Redis database |
delete | Delete a Redis key. |
expire | Set an expiration time for a Redis key. |
get | Get a Redis string value. |
get_index_info | Retrieve schema and information about a specific Redis index using FT.INFO. |
get_indexed_keys_number | Retrieve the number of indexed keys by the index |
get_indexes | List of indexes in the Redis database |
get_vector_from_hash | Retrieve a vector from a Redis hash and convert it back from binary blob. |
hdel | Delete a field from a Redis hash. |
hexists | Check if a field exists in a Redis hash. |
hget | Get the value of a field in a Redis hash. |
hgetall | Get all fields and values from a Redis hash. |
hset | Set a field in a hash stored at key with an optional expiration time. |
hybrid_search | Perform a hybrid search combining a Redis filter expression with KNN vector similarity. |
info | Get Redis server information and statistics. |
json_del | Delete a JSON value from Redis at a given path. |
json_get | Retrieve a JSON value from Redis at a given path. |
json_set | Set a JSON value in Redis at a given path with an optional expiration time. |
llen | Get the length of a Redis list. |
lpop | Remove and return the first element from a Redis list. |
lpush | Push a value onto the left of a Redis list and optionally set an expiration time. |
lrange | Get elements from a Redis list within a specific range. |
lrem | Remove elements from a Redis list. |
publish | Publish a message to a Redis channel. |
rename | Renames a Redis key from old_key to new_key. |
rpop | Remove and return the last element from a Redis list. |
rpush | Push a value onto the right of a Redis list and optionally set an expiration time. |
sadd | Add a value to a Redis set with an optional expiration time. |
scan_all_keys | Scan and return ALL keys matching a pattern using multiple SCAN iterations. |
scan_keys | Scan keys in the Redis database using the SCAN command (non-blocking, production-safe). |
search_redis_documents | Search Redis documentation and knowledge base to learn about Redis concepts and use cases. |
set | Set a Redis string value with an optional expiration time. |
set_vector_in_hash | Store a vector as a field in a Redis hash. |
smembers | Get all members of a Redis set. |
srem | Remove a value from a Redis set. |
subscribe | Subscribe to a Redis channel. |
type | Returns the string representation of the type of the value stored at key |
unsubscribe | Unsubscribe from a Redis channel. |
vector_search_hash | Perform a KNN vector similarity search using Redis 8 or later version on vectors stored in hash data structures. |
xack | Acknowledge entries that were processed by a consumer group. |
xadd | Add an entry to a Redis stream with an optional expiration time. |
xdel | Delete an entry from a Redis stream. |
xgroup_create | Create a consumer group for a Redis stream. |
xgroup_destroy | Destroy a consumer group for a Redis stream. |
xrange | Read entries from a Redis stream. |
xreadgroup | Read entries from a Redis stream using a consumer group. |
zadd | Add a member to a Redis sorted set with an optional expiration time. |
zrange | Retrieve a range of members from a Redis sorted set. |
zrem | Remove a member from a Redis sorted set. |
Tool: client_list
Get a list of connected clients to the Redis server.
Tool: create_vector_index_hash
Create a Redis 8 vector similarity index using HNSW on a Redis hash.
This function sets up a Redis index for approximate nearest neighbor (ANN) search using the HNSW algorithm and float32 vector embeddings.
| Parameters | Type | Description |
|---|---|---|
dim | integer optional | The dimensionality of the vectors stored under the vector_field. |
distance_metric | string optional | The distance function to use (e.g., 'COSINE', 'L2', 'IP'). |
index_name | string optional | The name of the Redis index to create. Unless specifically required, use the default name for the index. |
prefix | string optional | The key prefix used to identify documents to index (e.g., 'doc:'). Unless specifically required, use the default prefix. |
vector_field | string optional | The name of the vector field to be indexed for similarity search. Unless specifically required, use the default field name |
Tool: dbsize
Get the number of keys stored in the Redis database
Tool: delete
Delete a Redis key.
| Parameters | Type | Description |
|---|---|---|
key | string |
Tool: expire
Set an expiration time for a Redis key.
| Parameters | Type | Description |
|---|---|---|
expire_seconds | integer | Time in seconds after which the key should expire. |
name | string | The Redis key. |
Tool: get
Get a Redis string value.
| Parameters | Type | Description |
|---|---|---|
key | string |
Tool: get_index_info
Retrieve schema and information about a specific Redis index using FT.INFO.
| Parameters | Type | Description |
|---|---|---|
index_name | string |
Tool: get_indexed_keys_number
Retrieve the number of indexed keys by the index
| Parameters | Type | Description |
|---|---|---|
index_name | string |
Tool: get_indexes
List of indexes in the Redis database
Returns: str: A JSON string containing the list of indexes or an error message.
Tool: get_vector_from_hash
Retrieve a vector from a Redis hash and convert it back from binary blob.
| Parameters | Type | Description |
|---|---|---|
name | string | The Redis hash key. |
vector_field | string optional | The field name inside the hash. Unless specifically required, use the default field name |
Tool: hdel
Delete a field from a Redis hash.
| Parameters | Type | Description |
|---|---|---|
key | string | The field name inside the hash. |
name | string | The Redis hash key. |
Tool: hexists
Check if a field exists in a Redis hash.
| Parameters | Type | Description |
|---|---|---|
key | string | The field name inside the hash. |
name | string | The Redis hash key. |
Tool: hget
Get the value of a field in a Redis hash.
| Parameters | Type | Description |
|---|---|---|
key | string | The field name inside the hash. |
name | string | The Redis hash key. |
Tool: hgetall
Get all fields and values from a Redis hash.
| Parameters | Type | Description |
|---|---|---|
name | string | The Redis hash key. |
Tool: hset
Set a field in a hash stored at key with an optional expiration time.
| Parameters | Type | Description |
|---|---|---|
key | string | The field name inside the hash. |
name | string | The Redis hash key. |
value | string | The value to set. |
expire_seconds | string optional | Optional; time in seconds after which the key should expire. |
Tool: hybrid_search
Perform a hybrid search combining a Redis filter expression with KNN vector similarity.
Hybrid search pre-filters documents by metadata before ranking by vector similarity — the standard pattern for production RAG and semantic search pipelines.
Filter expression examples: "*" → no filter, pure vector search (same as vector_search_hash) "@category:{news}" → tag filter "@year:[2020 2024]" → numeric range "@lang:{en} @year:[2022 +inf]" → combined tag + range "@title:redis" → full-text match on a text field
Full filter syntax: [***]
| Parameters | Type | Description |
|---|---|---|
query_vector | array | List of floats to use as the query vector. |
filter_expression | string optional | Redis filter expression to restrict candidates before KNN ranking. |
index_name | string optional | Name of the Redis index (default: 'vector_index'). |
k | integer optional | Number of nearest neighbors to return. |
return_fields | string optional | Additional fields to include in results (optional). |
vector_field | string optional | Name of the indexed vector field (default: 'vector'). |
Tool: info
Get Redis server information and statistics.
| Parameters | Type | Description |
|---|---|---|
section | string optional | The section of the info command (default, memory, cpu, etc.). |
Tool: json_del
Delete a JSON value from Redis at a given path.
| Parameters | Type | Description |
|---|---|---|
name | string | The Redis key where the JSON document is stored. |
path | string optional | The JSON path to delete (default: root '$'). |
Tool: json_get
Retrieve a JSON value from Redis at a given path.
| Parameters | Type | Description |
|---|---|---|
name | string | The Redis key where the JSON document is stored. |
path | string optional | The JSON path to retrieve (default: root '$'). |
Tool: json_set
Set a JSON value in Redis at a given path with an optional expiration time.
| Parameters | Type | Description |
|---|---|---|
name | string | The Redis key where the JSON document is stored. |
path | string | The JSON path where the value should be set. |
value | string | The JSON value to store (as JSON string, or will be auto-converted). |
expire_seconds | string optional | Optional; time in seconds after which the key should expire. |
Tool: llen
Get the length of a Redis list.
| Parameters | Type | Description |
|---|---|---|
name | string |
Tool: lpop
Remove and return the first element from a Redis list.
| Parameters | Type | Description |
|---|---|---|
name | string |
Tool: lpush
Push a value onto the left of a Redis list and optionally set an expiration time.
| Parameters | Type | Description |
|---|---|---|
name | string | |
value | string | |
expire | string optional |
Tool: lrange
Get elements from a Redis list within a specific range.
Returns: str: A JSON string containing the list of elements or an error message.
| Parameters | Type | Description |
|---|---|---|
name | string | |
start | integer | |
stop | integer |
Tool: lrem
Remove elements from a Redis list.
| Parameters | Type | Description |
|---|---|---|
count | integer | Number of elements to remove (0 = all, positive = from head, negative = from tail) |
element | string | The element value to remove |
name | string | The name of the list |
Tool: publish
Publish a message to a Redis channel.
| Parameters | Type | Description |
|---|---|---|
channel | string | The Redis channel to publish to. |
message | string | The message to send. |
Tool: rename
Renames a Redis key from old_key to new_key.
| Parameters | Type | Description |
|---|---|---|
new_key | string | |
old_key | string |
Tool: rpop
Remove and return the last element from a Redis list.
| Parameters | Type | Description |
|---|---|---|
name | string |
Tool: rpush
Push a value onto the right of a Redis list and optionally set an expiration time.
| Parameters | Type | Description |
|---|---|---|
name | string | |
value | string | |
expire | string optional |
Tool: sadd
Add a value to a Redis set with an optional expiration time.
| Parameters | Type | Description |
|---|---|---|
name | string | The Redis set key. |
value | string | The value to add to the set. |
expire_seconds | string optional | Optional; time in seconds after which the set should expire. |
Tool: scan_all_keys
Scan and return ALL keys matching a pattern using multiple SCAN iterations.
This function automatically handles the SCAN cursor iteration to collect all matching keys. It's safer than KEYS * for large databases but will still collect all results in memory.
⚠️ WARNING: With very large datasets (millions of keys), this may consume significant memory. For large-scale operations, *** using scan_keys() with manual iteration instead.
| Parameters | Type | Description |
|---|---|---|
batch_size | integer optional | Number of keys to scan per iteration (default 100). |
pattern | string optional | Pattern to match keys against (default is "*" for all keys). |
Tool: scan_keys
Scan keys in the Redis database using the SCAN command (non-blocking, production-safe).
⚠️ IMPORTANT: This returns PARTIAL results from one iteration. Use scan_all_keys() to get ALL matching keys, or call this function multiple times with the returned cursor until cursor becomes 0.
The SCAN command iterates through the keyspace in small chunks, making it safe to use on large databases without blocking other operations.
| Parameters | Type | Description |
|---|---|---|
count | integer optional | Hint for the number of keys to return per iteration (default 100). |
cursor | integer optional | The cursor position to start scanning from (0 to start from beginning). |
pattern | string optional | Pattern to match keys against (default is "*" for all keys). |
Tool: search_redis_documents
Search Redis documentation and knowledge base to learn about Redis concepts and use cases.
This tool exposes updated and curated documentation, and must be invoked every time the user wants to learn more in areas including:
Common Use Cases:
question|string|The question about Redis concepts, data structures, features, or use casesTool: set
Set a Redis string value with an optional expiration time.
| Parameters | Type | Description |
|---|---|---|
key | string | |
value | string | |
expiration | string optional |
Tool: set_vector_in_hash
Store a vector as a field in a Redis hash.
| Parameters | Type | Description |
|---|---|---|
name | string | The Redis hash key. |
vector | array | The vector (list of numbers) to store in the hash. |
vector_field | string optional | The field name inside the hash. Unless specifically required, use the default field name |
Tool: smembers
Get all members of a Redis set.
| Parameters | Type | Description |
|---|---|---|
name | string | The Redis set key. |
Tool: srem
Remove a value from a Redis set.
| Parameters | Type | Description |
|---|---|---|
name | string | The Redis set key. |
value | string | The value to remove from the set. |
Tool: subscribe
Subscribe to a Redis channel.
| Parameters | Type | Description |
|---|---|---|
channel | string | The Redis channel to subscribe to. |
Tool: type
Returns the string representation of the type of the value stored at key
| Parameters | Type | Description |
|---|---|---|
key | string |
Tool: unsubscribe
Unsubscribe from a Redis channel.
| Parameters | Type | Description |
|---|---|---|
channel | string | The Redis channel to unsubscribe from. |
Tool: vector_search_hash
Perform a KNN vector similarity search using Redis 8 or later version on vectors stored in hash data structures.
| Parameters | Type | Description |
|---|---|---|
query_vector | array | List of floats to use as the query vector. |
index_name | string optional | Name of the Redis index. Unless specifically specified, use the default index name. |
k | integer optional | Number of nearest neighbors to return. |
return_fields | string optional | List of fields to return (optional). |
vector_field | string optional | Name of the indexed vector field. Unless specifically required, use the default field name |
Tool: xack
Acknowledge entries that were processed by a consumer group.
| Parameters | Type | Description |
|---|---|---|
entry_ids | array | |
group_name | string | |
key | string |
Tool: xadd
Add an entry to a Redis stream with an optional expiration time.
| Parameters | Type | Description |
|---|---|---|
fields | object | |
key | string | |
expiration | string optional |
Tool: xdel
Delete an entry from a Redis stream.
| Parameters | Type | Description |
|---|---|---|
entry_id | string | |
key | string |
Tool: xgroup_create
Create a consumer group for a Redis stream.
| Parameters | Type | Description |
|---|---|---|
group_name | string | |
key | string | |
mkstream | boolean optional | |
start_id | string optional |
Tool: xgroup_destroy
Destroy a consumer group for a Redis stream.
| Parameters | Type | Description |
|---|---|---|
group_name | string | |
key | string |
Tool: xrange
Read entries from a Redis stream.
| Parameters | Type | Description |
|---|---|---|
key | string | |
count | integer optional |
Tool: xreadgroup
Read entries from a Redis stream using a consumer group.
| Parameters | Type | Description |
|---|---|---|
consumer_name | string | |
group_name | string | |
key | string | |
block_ms | string optional | |
count | integer optional | |
stream_id | string optional |
Tool: zadd
Add a member to a Redis sorted set with an optional expiration time.
| Parameters | Type | Description |
|---|---|---|
key | string | |
member | string | |
score | number | |
expiration | string optional |
Tool: zrange
Retrieve a range of members from a Redis sorted set.
| Parameters | Type | Description |
|---|---|---|
end | integer | |
key | string | |
start | integer | |
with_scores | boolean optional |
Tool: zrem
Remove a member from a Redis sorted set.
| Parameters | Type | Description |
|---|---|---|
key | string | |
member | string |
json{ "mcpServers": { "redis": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "REDIS_HOST", "-e", "REDIS_PORT", "-e", "REDIS_USERNAME", "-e", "REDIS_SSL", "-e", "REDIS_CA_PATH", "-e", "REDIS_SSL_KEYFILE", "-e", "REDIS_SSL_CERTFILE", "-e", "REDIS_CERT_REQS", "-e", "REDIS_CA_CERTS", "-e", "REDIS_CLUSTER_MODE", "-e", "REDIS_PWD", "mcp/redis" ], "env": { "REDIS_HOST": "127.0.0.1", "REDIS_PORT": "6379", "REDIS_USERNAME": "default", "REDIS_SSL": "False", "REDIS_CA_PATH": "", "REDIS_SSL_KEYFILE": "", "REDIS_SSL_CERTFILE": "", "REDIS_CERT_REQS": "required", "REDIS_CA_CERTS": "", "REDIS_CLUSTER_MODE": "False", "REDIS_PWD": "" } } } }
Why is it safer to run MCP Servers with Docker?
以下是 mcp/redis 相关的常用 Docker 镜像,适用于 缓存、高可用、数据分析 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务