Redis MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REDIS_DB | No | Database number (0-15) | 0 |
| REDIS_TLS | No | Use TLS connection | false |
| REDIS_HOST | No | Redis host | localhost |
| REDIS_PORT | No | Redis port | 6379 |
| MCP_WEB_PORT | No | Web UI port | 3457 |
| REDIS_PASSWORD | No | Redis password | |
| REDIS_USERNAME | No | Redis username (for ACL) | |
| MCP_OPEN_BROWSER | No | Auto-open browser on start | true |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| execute_commandB | Execute any Redis command. For dangerous commands (FLUSHALL, SHUTDOWN, etc.), the command blacklist will be checked. |
| run_redis_queryA | Execute read-only Redis commands (GET, HGET, LRANGE, SMEMBERS, etc.). Returns the result. |
| list_keysA | List keys matching a pattern. Use '*' for all keys. Be careful with large databases. |
| get_key_infoB | Get information about a key: type, TTL, encoding, and value. |
| get_stringC | Get the value of a string key. |
| set_stringA | Set the value of a string key. Optionally set expiration. |
| get_hashC | Get all fields and values of a hash, or specific fields. |
| set_hashC | Set fields in a hash. |
| get_listC | Get elements from a list by range. |
| push_listB | Push elements to a list (left or right). |
| get_setB | Get all members of a set. |
| add_setC | Add members to a set. |
| get_sorted_setC | Get members from a sorted set by score range or rank. |
| add_sorted_setB | Add members with scores to a sorted set. |
| delete_keyC | Delete one or more keys. |
| rename_keyD | Rename a key. |
| set_ttlC | Set expiration time for a key. |
| get_ttlC | Get remaining TTL for a key. |
| select_databaseB | Select a Redis database (0-15). |
| get_database_sizeB | Get the number of keys in the current database. |
| get_server_infoA | Get Redis server information (memory, clients, stats, etc.). |
| get_connection_infoA | Get current Redis connection details. |
| list_saved_connectionsA | List all saved Redis connections. |
| save_connectionB | Save a Redis connection configuration. |
| use_connectionC | Switch to a saved Redis connection. |
| delete_connectionC | Delete a saved Redis connection. |
| test_connectionC | Test a Redis connection by sending PING. |
| get_command_blacklistA | Get the current command blacklist configuration. |
| update_command_blacklistC | Update the command blacklist configuration. |
| reset_command_blacklistA | Reset command blacklist to default patterns. |
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 30 tools
Most tools have distinct purposes, but there is overlap between get_key_info and specific getters (get_string, get_hash, etc.) as well as between execute_command and run_redis_query. This could cause an agent to select the wrong tool.
All tool names follow a consistent verb_noun pattern with lowercase and underscores. The verbs appropriately reflect Redis command conventions (add for sets, set for strings/hashes, push for lists). Very consistent.
With 30 tools, the server is over-scoped. While each tool corresponds to a specific Redis operation, there is redundancy (e.g., get_key_info vs get_string) and the count exceeds 25, which is considered too many for a coherent set.
The tool set covers basic Redis operations for major data types and connection management, but lacks commonly used operations like INCR, EXISTS, APPEND, and advanced data structures. However, the presence of execute_command allows agents to fill gaps.