MCP Redis
The official Redis MCP Server is a natural language interface designed for agentic applications to manage and search data in Redis efficiently
MCP Redis is an open-source mcp server by redis, written mainly in Python, with 641 GitHub stars and the MIT license. Its code was last updated Oct 26, 2026.
Scan summary: scanned Nov 5, 2026 at commit f7bd20a. Seen able to read environment and secrets. Scan policy
f7bd20a · Nov 5, 2026Findings (1)
- lowLow. Minor, or common in normal tools. Shown for information.Reads environment variables not listed in the manifestREDIS_HOST, REDIS_PORT, REDIS_USERNAME, REDIS_PWD, REDIS_SSL, REDIS_SSL_CA_PATH, REDIS_SSL_KEYFILE, REDIS_SSL_CERTFILE, REDIS_SSL_CERT_REQS, REDIS_SSL_CA_CERTS, REDIS_CLUSTER_MODE, REDIS_DB, REDIS_ENTRAID_AUTH_FLOW, REDIS_ENTRAID_CLIENT_ID, REDIS_ENTRAID_CLIENT_SECRET
Network activity
Tools exposed (53)
hsetSet a field in a hash stored at key with an optional expiration time. Args: name: The Redis hash key. key: The field name inside the hash. value: The value to set. expire_seconds: Optional; time in seconds after which the key should expire. Returns:
hgetGet the value of a field in a Redis hash. Args: name: The Redis hash key. key: The field name inside the hash. Returns: The field value or an error message.
hdelDelete a field from a Redis hash. Args: name: The Redis hash key. key: The field name inside the hash. Returns: A success message or an error message.
hgetallGet all fields and values from a Redis hash. Args: name: The Redis hash key. Returns: A dictionary of field-value pairs or an error message.
hexistsCheck if a field exists in a Redis hash. Args: name: The Redis hash key. key: The field name inside the hash. Returns: True if the field exists, False otherwise.
set_vector_in_hashStore a vector as a field in a Redis hash. Args: name: The Redis hash key. vector_field: The field name inside the hash. Unless specifically required, use the default field name vector: The vector (list of numbers) to store in the hash. Returns: True if the
get_vector_from_hashRetrieve a vector from a Redis hash and convert it back from binary blob. Args: name: The Redis hash key. vector_field: The field name inside the hash. Unless specifically required, use the default field name Returns: The vector as a list of floats, or an error mess
json_setSet a JSON value in Redis at a given path with an optional expiration time. Args: name: The Redis key where the JSON document is stored. path: The JSON path where the value should be set. value: The JSON value to store (as JSON string, or will be auto-converted).
json_getRetrieve a JSON value from Redis at a given path. Args: name: The Redis key where the JSON document is stored. path: The JSON path to retrieve (default: root '$'). Returns: The retrieved JSON value or an error message.
json_delDelete a JSON value from Redis at a given path. Args: name: The Redis key where the JSON document is stored. path: The JSON path to delete (default: root '$'). Returns: A success message or an error message.
lpushPush a value onto the left of a Redis list and optionally set an expiration time.
rpushPush a value onto the right of a Redis list and optionally set an expiration time.
lpopRemove and return the first element from a Redis list.
rpopRemove and return the last element from a Redis list.
lrangeGet elements from a Redis list within a specific range. Returns: str: A JSON string containing the list of elements or an error message.
llenGet the length of a Redis list.
lremRemove elements from a Redis list. Args: name: The name of the list count: Number of elements to remove (0 = all, positive = from head, negative = from tail) element: The element value to remove Returns: A string indicating the number of elements removed.
deleteDelete a Redis key. Args: key (str): The key to delete. Returns: str: Confirmation message or an error message.
typeReturns the string representation of the type of the value stored at key Args: key (str): The key to check. Returns: str: The type of key, or none when key doesn't exist
expireSet an expiration time for a Redis key. Args: name: The Redis key. expire_seconds: Time in seconds after which the key should expire. Returns: A success message or an error message.
renameRenames a Redis key from old_key to new_key. Args: old_key (str): The current name of the Redis key to rename. new_key (str): The new name to assign to the key. Returns: Dict[str, Any]: A dictionary containing the result of the operation. On success
scan_keysScan 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
scan_all_keysScan 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 l
search_redis_documentsSearch 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:** - Session Management: User session stora
publishPublish a message to a Redis channel. Args: channel: The Redis channel to publish to. message: The message to send. Returns: A success message or an error message.
subscribeSubscribe to a Redis channel and return a reusable subscription handle. Args: channel: The Redis channel to subscribe to. Returns: A dictionary containing the subscription ID or an error message.
psubscribeSubscribe to Redis channels using a pattern. Args: pattern: The Redis channel pattern to subscribe to. Returns: A dictionary containing the subscription ID or an error message.
read_messagesRead pending pub/sub messages for an existing subscription. Args: subscription_id: The ID returned by subscribe() or psubscribe(). timeout_ms: Time to wait for messages in milliseconds. Use 0 for non-blocking. max_messages: Maximum number of messages to return in one cal
unsubscribeUnsubscribe and close an existing pub/sub subscription. Args: subscription_id: The ID returned by subscribe() or psubscribe(). Returns: A dictionary describing the closed subscription or an error message.
get_indexesList of indexes in the Redis database Returns: str: A JSON string containing the list of indexes or an error message.
get_index_infoRetrieve schema and information about a specific Redis index using FT.INFO. Args: index_name (str): The name of the index to retrieve information about. Returns: str: Information about the specified index or an error message.
get_indexed_keys_numberRetrieve the number of indexed keys by the index Args: index_name (str): The name of the index to retrieve information about. Returns: str: Number of indexed keys as a string
create_vector_index_hashCreate 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. Args: index_name: The name of the Redis index to create. Unless sp
vector_search_hashPerform a KNN vector similarity search using Redis 8 or later version on vectors stored in hash data structures. Args: query_vector: List of floats to use as the query vector. index_name: Name of the Redis index. Unless specifically specified, use the default index name.
hybrid_searchPerform 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:
dbsizeGet the number of keys stored in the Redis database
infoGet Redis server information and statistics. Args: section: The section of the info command (default, memory, cpu, etc.). Returns: A dictionary of server information or an error message.
client_listGet a list of connected clients to the Redis server.
saddAdd a value to a Redis set with an optional expiration time. Args: name: The Redis set key. value: The value to add to the set. expire_seconds: Optional; time in seconds after which the set should expire. Returns: A success message or an error message.
sremRemove a value from a Redis set. Args: name: The Redis set key. value: The value to remove from the set. Returns: A success message or an error message.
smembersGet all members of a Redis set. Args: name: The Redis set key. Returns: A list of values in the set or an error message.
zaddAdd a member to a Redis sorted set with an optional expiration time. Args: key (str): The sorted set key. score (float): The score of the member. member (str): The member to add. expiration (int, optional): Expiration time in seconds. Returns: str: C
zrangeRetrieve a range of members from a Redis sorted set. Args: key (str): The sorted set key. start (int): The starting index. end (int): The ending index. with_scores (bool, optional): Whether to include scores in the result. Returns: str: The sorted se
zremRemove a member from a Redis sorted set. Args: key (str): The sorted set key. member (str): The member to remove. Returns: str: Confirmation message or an error message.
xaddAdd an entry to a Redis stream with an optional expiration time. Args: key (str): The stream key. fields (dict): The fields and values for the stream entry. expiration (int, optional): Expiration time in seconds. Returns: str: The ID of the added entry or an
xrangeRead entries from a Redis stream. Args: key (str): The stream key. count (int, optional): Number of entries to retrieve. Returns: str: The retrieved stream entries or an error message.
xdelDelete an entry from a Redis stream. Args: key (str): The stream key. entry_id (str): The ID of the entry to delete. Returns: str: Confirmation message or an error message.
xgroup_createCreate a consumer group for a Redis stream. Args: key (str): The stream key. group_name (str): The consumer group name. start_id (str, optional): Stream ID from which the group starts consuming. mkstream (bool, optional): Create the stream if it does not exist.
xgroup_destroyDestroy a consumer group for a Redis stream. Args: key (str): The stream key. group_name (str): The consumer group name. Returns: str: Confirmation message or an error message.
xreadgroupRead entries from a Redis stream using a consumer group. Args: key (str): The stream key. group_name (str): The consumer group name. consumer_name (str): The consumer name. count (int, optional): Maximum number of entries to retrieve. block_ms (int, optio
xackAcknowledge entries that were processed by a consumer group. Args: key (str): The stream key. group_name (str): The consumer group name. entry_ids (List[str]): Entry IDs to acknowledge. Returns: str: Confirmation message or an error message.
setSet a Redis string value with an optional expiration time. Args: key (str): The key to set. value (str, bytes, int, float, dict): The value to store. expiration (int, optional): Expiration time in seconds. Returns: str: Confirmation message or an error messa
getGet a Redis string value. Args: key (str): The key to retrieve. Returns: str, bytes: The stored value or an error message.
Automated result for the commit shown. See our scan policy. View the scan log
Maintainers can claim the listing to rescan, or dispute a result.
MCP Redis alternatives
View more →Similar mcp servers in Database Management, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| MCP Redis (this page) redis | 641 | MIT | Oct 26, 2026 | Scanned, no flagged issues |
| Codebase Memory MCP DeusData | 48k | MIT | Nov 1, 2026 | Scanned, see report |
| Xerj xerj-org | 19k | Apache-2.0 | Nov 1, 2026 | Scanned, no flagged issues |
| MCP Toolbox googleapis | 17k | Apache-2.0 | Nov 1, 2026 | Scanned, no flagged issues |
| Nightingale ccfos | 13k | Apache-2.0 | Oct 30, 2026 | Scanned, no flagged issues |
| Dbhub bytebase | 3.8k | MIT | Oct 26, 2026 | Scanned, no flagged issues |