About
Redis MCP Server
A professional implementation of a Redis server with MCP (Model Control Protocol) integration, containerized with Docker.
Features
- Redis server with persistence
- MCP server integration for Redis operations
- Docker and Docker Compose support
- Comprehensive error handling and logging
- Environment-based configuration
- Health checks for Redis service
Prerequisites
- Docker
- Docker Compose
Quick Start
- Clone the repository:
git clone https://github.com/cbuitragoh/customRedis.git
cd customredis
- Start the services:
docker-compose up -d
- Check the logs:
docker-compose logs -f
Available Redis Operations
The MCP server provides the following Redis operations:
set_redis_key(key: str, value: str)
: Set a key-value pairget_redis_key(key: str)
: Retrieve a value by keydelete_redis_key(key: str)
: Delete a keylist_redis_keys(pattern: str = '*')
: List all keys matching a pattern
Configuration
The application can be configured through environment variables:
REDIS_HOST
: Redis server host (default: redis)REDIS_PORT
: Redis server port (default: 6379)REDIS_DB
: Redis database number (default: 0)LOG_LEVEL
: Logging level (default: INFO)
Development
Local Development
- Create a virtual environment:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Run the server:
python src/server.py
Docker Development
- Build the image:
docker-compose build
- Run the services:
docker-compose up
Project Structure
.
├── src/
│ └── server.py # Main server implementation
├── Dockerfile # Docker configuration
├── docker-compose.yml # Docker Compose configuration
├── requirements.txt # Python dependencies
├── .env # Environment variables
└── README.md # This file
Error Handling
The application includes comprehensive error handling:
- Connection errors
- Redis operation errors
- Server startup/shutdown errors
- Graceful shutdown on keyboard interrupt
Logging
The application uses Python's logging module with the following features:
- Timestamp-based log entries
- Different log levels (INFO, WARNING, ERROR)
- Detailed error messages
- Operation success/failure logging
Using with Claude Desktop
To use this Redis MCP server with Claude Desktop, add the following configuration to your Claude Desktop settings:
{
"mcpServers": {
"redis": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--network",
"customredis_redis-network",
"customredis-mcp-server"]
}
}
}
This configuration:
- Uses Docker to run the Redis MCP server
- Connects to Redis using the host machine's Redis instance
- Runs in interactive mode (-i)
- Removes the container after use (--rm)
- Connect the MCP server to same network to Redis container
Make sure:
- Redis is running in container from docker-compose redis service
- The Redis port (6379) is accessible
- Docker is running on your system
License
MIT License
Recommend MCP