mcp-redis-server
by daedalus
README.md
# mcp-redis-server
> MCP server that exposes Redis API to AI models
[](https://pypi.org/project/mcp-redis-server/)
[](https://pypi.org/project/mcp-redis-server/)
[](https://github.com/astral-sh/ruff)
mcp-name: io.github.daedalus/mcp-redis-server
## Install
```bash
pip install mcp-redis-server
```
## Usage
```python
from mcp_redis_server import mcp
# Run the server
mcp.run()
```
Or as a CLI tool:
```bash
mcp-redis-server
```
## API
The server exposes the following tools:
### Connection
- `redis_connect` - Connect to Redis server
- `redis_disconnect` - Disconnect from Redis server
- `redis_ping` - Ping the Redis server
### Strings
- `redis_get`, `redis_set`, `redis_mget`, `redis_mset`, `redis_del`
- `redis_incr`, `redis_decr`
### Lists
- `redis_lpush`, `redis_rpush`, `redis_lrange`, `redis_llen`
### Sets
- `redis_sadd`, `redis_srem`, `redis_smembers`, `redis_sismember`, `redis_scard`
### Hashes
- `redis_hset`, `redis_hget`, `redis_hmset`, `redis_hmget`, `redis_hgetall`
- `redis_hkeys`, `redis_hvals`, `redis_hdel`, `redis_hlen`
### Sorted Sets
- `redis_zadd`, `redis_zscore`, `redis_zrange`, `redis_zrevrange`, `redis_zcard`
### Keys
- `redis_exists`, `redis_expire`, `redis_ttl`, `redis_type`, `redis_scan`
### Server
- `redis_dbsize`, `redis_flushdb`, `redis_flushall`, `redis_info`
- `redis_config_get`, `redis_config_set`
## Configuration
Environment variables:
- `REDIS_HOST` - Redis host (default: localhost)
- `REDIS_PORT` - Redis port (default: 6379)
- `REDIS_PASSWORD` - Redis password (optional)
- `REDIS_DB` - Redis database number (default: 0)
- `REDIS_SSL` - Enable SSL (default: false)
## Development
```bash
git clone https://github.com/daedalus/mcp-redis-server.git
cd mcp-redis-server
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/
```
## Usage
```python
from mcp_redis import mcp
# Run the server
mcp.run()
```
Or as a CLI tool:
```bash
mcp-redis
```
## API
The server exposes the following tools:
### Connection
- `redis_connect` - Connect to Redis server
- `redis_disconnect` - Disconnect from Redis server
- `redis_ping` - Ping the Redis server
### Strings
- `redis_get`, `redis_set`, `redis_mget`, `redis_mset`, `redis_del`
- `redis_incr`, `redis_decr`
### Lists
- `redis_lpush`, `redis_rpush`, `redis_lrange`, `redis_llen`
### Sets
- `redis_sadd`, `redis_srem`, `redis_smembers`, `redis_sismember`, `redis_scard`
### Hashes
- `redis_hset`, `redis_hget`, `redis_hmset`, `redis_hmget`, `redis_hgetall`
- `redis_hkeys`, `redis_hvals`, `redis_hdel`, `redis_hlen`
### Sorted Sets
- `redis_zadd`, `redis_zscore`, `redis_zrange`, `redis_zrevrange`, `redis_zcard`
### Keys
- `redis_exists`, `redis_expire`, `redis_ttl`, `redis_type`, `redis_scan`
### Server
- `redis_dbsize`, `redis_flushdb`, `redis_flushall`, `redis_info`
- `redis_config_get`, `redis_config_set`
## Configuration
Environment variables:
- `REDIS_HOST` - Redis host (default: localhost)
- `REDIS_PORT` - Redis port (default: 6379)
- `REDIS_PASSWORD` - Redis password (optional)
- `REDIS_DB` - Redis database number (default: 0)
- `REDIS_SSL` - Enable SSL (default: false)
## Development
```bash
git clone https://github.com/daedalus/mcp-redis.git
cd mcp-redis
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/
```
TDQS
B3.4/5.0
Scored across 44 tools
Disambiguation5/5
Each tool maps to a distinct Redis command with clear data type and operation, eliminating ambiguity. For example, redis_hget and redis_hgetall are clearly different.
Naming Consistency5/5
All tools follow the consistent pattern redis_<datatype>_<operation> or redis_<operation> in snake_case, making them predictable and easy to understand.
Tool Count4/5
44 tools is a comprehensive set covering most common Redis operations, but it's on the higher side; however, it remains manageable for the scope of a Redis client.
Completeness4/5
The set covers core Redis functionality including strings, hashes, lists, sets, sorted sets, config, and server info. Missing advanced features like pub/sub or transactions, but sufficient for typical use.
Maintenance
ActivityInactive
ResponsivenessNo issues