redis
by: modelcontextprotocol
A Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
📌Overview
Purpose: To provide a Model Context Protocol server that enables Large Language Models (LLMs) to interact seamlessly with Redis key-value stores.
Overview: This framework serves as an interface between LLMs and Redis databases, facilitating robust data handling via a set of standardized tools. It leverages Redis's capabilities to enhance data management for applications utilizing deep learning models.
Key Features:
-
set: Allows users to store a key-value pair in Redis with the option for expiration, improving data management and ensuring optimal resource usage.
-
get: Enables retrieval of values associated with specified keys, making data access quick and efficient.
-
delete: Supports deletion of one or more Redis keys, facilitating data maintenance and ensuring only relevant data is retained.
-
list: Offers functionality to list Redis keys that match a specified pattern, aiding in organized data retrieval and management.
Redis
A Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through standardized tools.
Prerequisites
- Redis server must be installed and running
- Download Redis: https://redis.io/download
- For Windows users: Use Windows Subsystem for Linux (WSL) or Memurai (Redis-compatible Windows server)
- Default port: 6379
Common Issues & Solutions
Connection Errors
ECONNREFUSED
- Cause: Redis/Memurai server is not running or unreachable
- Solution:
- Verify server is running:
- Redis:
redis-cli ping
should return "PONG" - Memurai (Windows):
memurai-cli ping
should return "PONG"
- Redis:
- Check service status:
- Linux:
systemctl status redis
- macOS:
brew services list
- Windows: Check Memurai in Services (services.msc)
- Linux:
- Ensure correct port (default 6379) is not blocked by firewall
- Verify Redis URL format:
redis://hostname:port
- If
redis://localhost:6379
fails with ECONNREFUSED, try usingredis://127.0.0.1:6379
- Verify server is running:
Server Behavior
- Implements exponential backoff with a maximum of 5 retries
- Initial retry delay: 1 second, maximum delay: 30 seconds
- Server exits after max retries to prevent infinite reconnection loops
Components
Tools
-
set
Set a Redis key-value pair with optional expiration
Input:key
(string): Redis keyvalue
(string): Value to storeexpireSeconds
(number, optional): Expiration time in seconds
-
get
Get value by key from Redis
Input:key
(string): Redis key to retrieve
-
delete
Delete one or more keys from Redis
Input:key
(string | string[]): Key or array of keys to delete
-
list
List Redis keys matching a pattern
Input:pattern
(string, optional): Pattern to match keys (default: *)
Usage with Claude Desktop
To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your claude_desktop_config.json
:
Docker
- When running Docker on macOS, use
host.docker.internal
if the server is running on the host network (e.g., localhost) - Redis URL can be specified as an argument, defaults to
redis://localhost:6379
(useredis://127.0.0.1:6379
if localhost fails)
{
"mcpServers": {
"redis": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"mcp/redis",
"redis://host.docker.internal:6379"
]
}
}
}
NPX
{
"mcpServers": {
"redis": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-redis",
"redis://localhost:6379"
]
}
}
}
Building
Docker:
docker build -t mcp/redis -f src/redis/Dockerfile .
License
This MCP server is licensed under the MIT License. You are free to use, modify, and distribute the software under the terms of the MIT License. See the LICENSE file in the project repository for details.