Serveur MCP Redis officiel, fournissant une interface en langage naturel pour les applications d'agents intelligents, gérant et recherchant efficacement les données Redis.
Serveur Redis MCP - Présentation détaillée du projet
Aperçu du projet
Le serveur Redis MCP est un serveur de protocole de contenu de modèle (Model Content Protocol - MCP) développé par Redis, offrant une interface en langage naturel aux applications d'agents d'IA, leur permettant de gérer et de rechercher efficacement des données dans Redis. Ce projet s'intègre parfaitement avec les clients MCP, prenant en charge les flux de travail basés sur l'IA pour interagir avec les données structurées et non structurées dans Redis.
Adresse du projet: https://github.com/redis/mcp-redis
Caractéristiques principales
🤖 Requêtes en langage naturel
- Permet aux agents d'IA d'interroger et de mettre à jour les données Redis en utilisant le langage naturel.
- Peut traiter des instructions en langage naturel telles que "Stocker toute la conversation dans un flux", "Mettre cet élément en cache", "Stocker la session avec un délai d'expiration".
🔗 Intégration MCP transparente
- Compatible avec n'importe quel client MCP, permettant une communication fluide.
- Prend en charge les protocoles de transport stdio et SSE.
📊 Prise en charge complète de Redis
Prend en charge toutes les principales structures de données Redis :
- Chaîne (String) : Stockage de valeurs de configuration simples, de données de session ou de réponses mises en cache.
- Hachage (Hash) : Stockage de paires champ-valeur, prise en charge du stockage d'intégrations vectorielles.
- Liste (List) : Files d'attente, courtiers de messages ou maintenance d'une liste des opérations récentes.
- Ensemble (Set) : Suivi des valeurs uniques, prise en charge des opérations d'ensemble.
- Ensemble trié (Sorted Set) : Classements, files d'attente prioritaires, analyses basées sur le temps.
- Publication/Abonnement (Pub/Sub) : Notifications en temps réel, applications de chat, distribution de mises à jour.
- Flux (Streams) : Traçabilité des événements, flux d'activité, enregistrement des données de capteurs.
- JSON : Structures de données imbriquées complexes, base de données de documents.
🔍 Recherche et filtrage
- Prend en charge la récupération et la recherche efficaces de données.
- Gestion des index vectoriels et fonctionnalités de recherche vectorielle.
- Outils de moteur de requête.
⚡ Haute performance et légèreté
- Conçu pour des opérations de données à haute performance.
- Architecture évolutive.
Installation et configuration
Prérequis
- Python 3.13+
- Gestionnaire de paquets uv
- Serveur Redis
Étapes d'installation
# Cloner le dépôt
git clone https://github.com/redis/mcp-redis.git
cd mcp-redis
# Installer les dépendances avec uv
uv venv
source .venv/bin/activate
uv sync
Configuration des variables d'environnement
Nom de la variable | Description | Valeur par défaut |
---|---|---|
REDIS_HOST |
IP ou nom d'hôte Redis | "127.0.0.1" |
REDIS_PORT |
Port Redis | 6379 |
REDIS_USERNAME |
Nom d'utilisateur de la base de données | "default" |
REDIS_PWD |
Mot de passe de la base de données | "" |
REDIS_SSL |
Activer/Désactiver SSL/TLS | False |
REDIS_CA_PATH |
Chemin du certificat CA | None |
REDIS_SSL_KEYFILE |
Fichier de clé privée du client | None |
REDIS_SSL_CERTFILE |
Fichier de certificat du client | None |
REDIS_CERT_REQS |
Vérifier si le certificat du serveur est requis | "required" |
REDIS_CA_CERTS |
Chemin du fichier de certificats CA de confiance | None |
REDIS_CLUSTER_MODE |
Activer le mode cluster Redis | False |
MCP_TRANSPORT |
Protocole de transport (stdio/sse) | stdio |
Méthodes de déploiement
1. Mode processus local (par défaut)
# Utiliser le transport stdio
uv run src/main.py
2. Mode service réseau
# Définir le transport SSE
export MCP_TRANSPORT="sse"
uv run src/main.py
# Tester le serveur
curl -i http://127.0.0.1:8000/sse
3. Déploiement Docker
# Construire l'image
docker build -t mcp-redis .
# Exécuter le conteneur
docker run --rm --name redis-mcp-server -i \
-e REDIS_HOST=<redis_hostname> \
-e REDIS_PORT=<redis_port> \
-e REDIS_USERNAME=<redis_username> \
-e REDIS_PWD=<redis_password> \
mcp-redis
Méthodes d'intégration
Intégration avec Claude Desktop
Modifier le fichier claude_desktop_config.json
:
{
"mcpServers": {
"redis": {
"command": "<chemin complet de la commande uv>",
"args": [
"--directory",
"<répertoire du serveur MCP>",
"run",
"src/main.py"
],
"env": {
"REDIS_HOST": "<nom d'hôte Redis>",
"REDIS_PORT": "<port Redis>",
"REDIS_PWD": "<mot de passe Redis>",
"REDIS_SSL": true,
"REDIS_CA_PATH": "<chemin du certificat CA>"
}
}
}
}
Intégration avec VS Code
Activer le mode proxy et configurer mcp.json
:
{
"servers": {
"redis": {
"type": "stdio",
"command": "<chemin complet de la commande uv>",
"args": [
"--directory",
"<répertoire du serveur MCP>",
"run",
"src/main.py"
],
"env": {
"REDIS_HOST": "<nom d'hôte Redis>",
"REDIS_PORT": "<port Redis>",
"REDIS_USERNAME": "<nom d'utilisateur Redis>",
"REDIS_PWD": "<mot de passe Redis>"
}
}
}
}
Intégration avec le SDK d'agent OpenAI
# Installer le SDK
pip install openai-agents
# Configurer la clé API
export OPENAI_API_KEY="<openai_token>"
# Exécuter l'application
python3.13 redis_assistant.py
Déploiement automatisé (Smithery)
# Utiliser Smithery pour configurer automatiquement Claude Desktop
npx -y @smithery/cli install @redis/mcp-redis --client claude
Cas d'utilisation
🤖 Assistants IA
- Permettre aux grands modèles de langage d'acquérir, de stocker et de traiter des données dans Redis.
- Mettre en œuvre une gestion et une interrogation intelligentes des données.
💬 Chatbots et agents virtuels
- Récupérer les données de session.
- Gérer les files d'attente de messages.
- Personnaliser les réponses.
📈 Recherche et analyse de données
- Requêtes d'informations en temps réel.
- Recherche rapide de données.
- Recherche de similarité vectorielle.
🔄 Traitement des événements
- Utiliser les flux Redis pour gérer les flux d'événements.
- Traitement des données en temps réel.
- Traçabilité des événements.
Débogage et dépannage
Inspecteur MCP
# Débogage visuel
npx @modelcontextprotocol/inspector uv run src/main.py
Surveillance des journaux
# Surveiller les journaux de Claude
tail -f ~/Library/Logs/Claude/mcp-server-redis.log
Tableau de bord OpenAI
Le dépannage des flux de travail d'agent peut être effectué via le tableau de bord OpenAI.
Développement et contribution
Processus de contribution
- Forker le dépôt
- Créer une nouvelle branche (
feature-branch
) - Soumettre les modifications
- Pousser vers la branche et soumettre une PR
Pile technologique
- Langue : Python 3.13+
- Gestion des paquets : uv
- Protocole : MCP (Model Content Protocol)
- Base de données : Redis
- Conteneurisation : Docker
Licence et support
- Licence : MIT License
- Support technique : Obtenir de l'aide via GitHub Issues
Conclusion
Le serveur Redis MCP est un outil puissant qui comble le fossé entre les agents d'IA et les bases de données Redis, permettant aux applications d'IA de gérer et d'interroger les données de manière plus intelligente grâce à une interface en langage naturel. Qu'il s'agisse de construire des assistants intelligents, des chatbots ou d'effectuer des analyses de données en temps réel, ce projet offre une solution fiable et efficace.
Sa conception modulaire, sa riche prise en charge des structures de données Redis et ses multiples méthodes de déploiement le rendent adapté à divers scénarios, des petits projets aux applications d'entreprise. Grâce à l'intégration avec les principales plateformes telles que Claude, VS Code, OpenAI, les développeurs peuvent facilement intégrer la puissance de Redis dans leurs applications basées sur l'IA.