Skip to main content
Glama
daedalus

mcp-redis-server

by daedalus
README.md
# mcp-redis-server

> MCP server that exposes Redis API to AI models

[![PyPI](https://img.shields.io/pypi/v/mcp-redis-server.svg)](https://pypi.org/project/mcp-redis-server/)
[![Python](https://img.shields.io/pypi/pyversions/mcp-redis-server.svg)](https://pypi.org/project/mcp-redis-server/)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](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