Uso
La estructura es la siguiente:
mcp-server-redis/
├── src/
│ ├── __init__.py
│ ├── main.py # Main entry point
│ ├── config.py # Configuration
│ ├── connection.py # Redis connection management
│ ├── resources/ # Resource implementations
│ │ ├── __init__.py
│ │ ├── status.py # Connection status resources
│ │ └── keys.py # Key-related resources
│ └── tools/ # Tool implementations
│ ├── __init__.py
│ ├── basic.py # Basic Redis operations
│ ├── lists.py # List operations
│ ├── hashes.py # Hash operations
│ ├── sets.py # Set operations
│ └── pubsub.py # Pub/Sub operations
├── tests/ # Test directory
│ └── __init__.py
├── README.md
└── pyproject.tomlPara utilizar este servidor, necesitarás:
Instale las dependencias necesarias:
[Si aún no está instalado] https://docs.astral.sh/uv/
uv venv
source .venv/bin/activate
uv sync
Consulte el archivo .env.example para configurar su conexión Redis agregando las variables adecuadas.
Ejecutar el servidor:
python src/server.py
Related MCP server: Code Analysis MCP Server
Capacidades de este servidor
Recursos:
redis://status - Estado de la conexión actual
redis://info - Información del servidor Redis
redis://keys/{pattern} - Lista de claves que coinciden con un patrón
Herramientas:
Operaciones básicas:
get_value - Obtener un valor
set_value - Establece un valor con vencimiento opcional
delete_key - Eliminar una clave
incremento - Incrementar un valor numérico
Operaciones de lista:
list_push - Envía valores a una lista
list_range - Obtener el rango de valores de la lista
Operaciones hash:
hash_set - Establecer campos hash
hash_get - Obtener campos hash
Operaciones de conjuntos:
set_add - Agregar a un conjunto
set_members - Obtener miembros del conjunto
Pub/Sub:
publish_message - Publicar un mensaje
Cada herramienta incluye gestión de errores y devuelve respuestas relevantes. El servidor se reconectará automáticamente a Redis si se pierde la conexión.
Puedes probarlo con el Inspector MCP: mcp dev src/server.py
O instálelo en Claude Desktop: mcp install src/server.py
Ejemplo
User: What's the current Redis connection status?
LLM: Let me check the Redis connection status for you.
[Reading resource redis://status]
The Redis server is currently connected and running on localhost:6379, database 0.
User: Can you store my name "Alice" in Redis?
LLM: I'll help you store your name in Redis using the set_value tool.
[Calling set_value with key="name" value="Alice"]
Successfully set key 'name'
I've stored your name "Alice" in Redis under the key "name". Would you like me to verify the value was stored correctly by retrieving it?
User: Yes please verify it
LLM: I'll retrieve the value using the get_value tool.
[Calling get_value with key="name"]
Alice
Yes, I can confirm that your name "Alice" was successfully stored in Redis and can be retrieved correctly. The value matches exactly what we stored.Esta implementación proporciona una base sólida para la integración de Redis mediante MCP. Puede ampliarla aún más añadiendo más comandos de Redis según sea necesario para su caso de uso específico.