What it is
A Model Context Protocol server that provides access to Redis databases. It lets LLMs interact with Redis key-value stores through standardized tools: set, get, delete and list. It can be run via NPX or Docker and configured in Claude Desktop or VS Code. The repository is in the servers-archived project.
Who it's for
- Developers who want an LLM to inspect or modify Redis key-value data
- Claude Desktop users who need Redis access through MCP
- VS Code users configuring MCP servers
Requirements
Requirements
- A Redis server installed and running (default port 6379)
- On Windows: Windows Subsystem for Linux (WSL) or Memurai (Redis-compatible Windows server)
- A Redis URL, e.g. redis://localhost:6379
- NPX or Docker to run the server
Setup
Claude Desktop with Docker
Add this to the "mcpServers" section of claude_desktop_config.json. On macOS, use host.docker.internal when the Redis server is on the host network. The Redis URL is passed as an argument and defaults to redis://localhost:6379 (use redis://127.0.0.1:6379 if localhost fails).
json{ "mcpServers": { "redis": { "command": "docker", "args": [ "run", "-i", "--rm", "mcp/redis", "redis://host.docker.internal:6379"] } } }Claude Desktop with NPX
Add this to the "mcpServers" section of claude_desktop_config.json.
json{ "mcpServers": { "redis": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-redis", "redis://localhost:6379" ] } } }VS Code manual installation (NPX)
Add this to your User Settings (JSON) file (Ctrl + Shift + P, then Preferences: Open User Settings (JSON)). Alternatively, put it in .vscode/mcp.json in your workspace, where the mcp key is not needed.
json{ "mcp": { "inputs": [ { "type": "promptString", "id": "redis_url", "description": "Redis URL (e.g. redis://localhost:6379)" } ], "servers": { "redis": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-redis"], "env": { "REDIS_URL": "${input:redis_url}" } } } } }VS Code manual installation (Docker)
Use this configuration for Docker installation in VS Code.
json{ "mcp": { "inputs": [ { "type": "promptString", "id": "redis_url", "description": "Redis URL (e.g. redis://host.docker.internal:6379)" } ], "servers": { "redis": { "command": "docker", "args": ["run", "-i", "--rm", "mcp/redis"], "env": { "REDIS_URL": "${input:redis_url}" } } } } }
Examples
Verify Redis is running
bashredis-cli pingWhat it does: Per the troubleshooting section, this should return "PONG" if the Redis server is running and reachable.
Check Redis service status on Linux
bashsystemctl status redisWhat it does: Listed as the way to check service status on Linux when diagnosing ECONNREFUSED errors.
set tool input
json{"key": "<key>", "value": "<value>", "expireSeconds": 60}What it does: Illustrates the documented set tool inputs: key (string), value (string) and optional expireSeconds (number). The placeholder values and the 60 are illustrative, not from the source.
list tool input
json{"pattern": "*"}What it does: The list tool takes an optional pattern to match keys; the documented default is *.
Pros & cons
Pros
- Pro:Simple tool set (set, get, delete, list) covering basic key-value operations
- Pro:Supports optional key expiration on set and deleting one or several keys at once
- Pro:Can be run via NPX or Docker, with documented configs for Claude Desktop and VS Code
- Pro:Documents connection troubleshooting and exponential backoff retry behavior
Cons
- Con:Only four tools are documented, so other Redis data types and commands are not covered
- Con:The server exits after 5 failed retries rather than reconnecting indefinitely
- Con:Lives in the servers-archived repository, so it is an archived project
Images
