Redis MCP: Verbinden Sie Ihren KI-Agenten mit Ihrer Datenbank

Redis MCP lässt einen KI-Client Werkzeuge aufrufen, die Daten in Ihrer Redis-Datenbank lesen und ändern. Um Ihre eigene Datenbank zu verbinden, führen Sie den offiziellen redis-mcp-server aus, geben Sie ihm eine Redis-Adresse und eingeschränkte Zugangsdaten und registrieren Sie diesen Prozess dann in Cursor oder Claude Desktop.
Diese Anleitung bringt diese Verbindung mit zwei kleinen Demo-Schlüsseln zum Laufen. Sie werden einen String und einen Hash lesen, eine TTL prüfen und sicherstellen, dass Redis einen Schreibvorgang ablehnt. Sie können auf Ihrem Computer beginnen und dann denselben Ansatz mit einer dedizierten Instanz von Managed Redis in Lizard verwenden.
Getestet am 27. September 2026, Dubai-Zeit: Python 3.12.10, Redis 8.8.0, redis-mcp-server 0.5.1, MCP Python SDK 1.30.0 und redis-py 8.1.0. Der herunterladbare Test bestand 14 Prüfungen gegen einen isolierten lokalen Redis-Prozess über MCP via stdio. Er testete keine gehostete Datenbank, kein TLS und nicht die Schnittstellen von Cursor und Claude Desktop. Diese Einrichtungsschritte folgen der verlinkten Produktdokumentation. Diese Anleitung wurde mit KI-Unterstützung erstellt; das Testskript und die Ergebnisse sind unten verfügbar.
Wählen Sie den Redis MCP-Server, der auf Daten zugreift
Der offizielle Redis MCP-Server verbindet sich mit einem Redis-Endpunkt. Seine Werkzeuge umfassen das Lesen und Schreiben von Strings und Hashes, Schlüsselprüfung und Serverinformationen. Redis setzt die Berechtigungen der von Ihnen bereitgestellten Zugangsdaten durch.
Es gibt mehrere Redis-Werkzeuge mit MCP im Namen:
| Werkzeug | Womit es sich verbindet | Nutzen Sie es für |
|---|---|---|
redis/mcp-redis, verpackt als redis-mcp-server | Ihre Redis-Datenbank | Lesen oder Ändern von Anwendungsdaten |
Redis-Dokumentation MCP unter redis.io/mcp | Redis-Dokumentation | Nachschlagen von Befehlen und Beispielen |
| Redis Cloud MCP | Die Redis Cloud Management-API | Verwaltung von Redis Cloud-Ressourcen |
Wir verwenden das erste. Eine Dokumentationsverbindung gibt Ihrem Agenten keinen Zugriff auf Ihre Schlüssel. Redis beschreibt den Unterschied in seiner Anleitung zur Agenten-Einrichtung.
Der MCP-Prozess läuft auf demselben Computer wie Ihr Client und kommuniziert über die Standardein- und -ausgabe, oder stdio. Er öffnet eine separate Netzwerkverbindung zu Redis. Diese Einrichtung benötigt keinen öffentlichen HTTP-Endpunkt für MCP. Eine grüne Verbindungsanzeige im Client zeigt nur, dass der MCP-Prozess gestartet wurde; ein Werkzeugaufruf muss noch beweisen, dass die Redis-Authentifizierung und der Datenzugriff funktionieren.
1. Bereiten Sie eine kleine Redis-Datenbank vor
Verwenden Sie eine dedizierte Lerninstanz mit synthetischen Daten. Sie benötigen Python 3.10 oder neuer, uv und Zugriff auf einen Redis-Server. Der lokale Weg benötigt außerdem redis-server in Ihrem PATH.
Laden Sie diese Dateien in ein neues Demo-Verzeichnis herunter:
- requirements.txt: die festgelegten Python-Pakete.
- setup.py: erstellt zwei Schlüssel und einen Benutzer mit Leserechten und schreibt dann die MCP-Konfiguration.
- verify.py: startet einen eigenen lokalen Redis-Prozess und testet die MCP-Verbindung.
- validation.json: die Ergebnisse aus dem Testlauf dieser Anleitung.
Erstellen Sie unter macOS oder Linux die Python-Umgebung:
uv venv .venv --python 3.12
uv pip install --python .venv/bin/python -r requirements.txtStarten Sie in einem separaten Terminal eine temporäre Redis-Instanz:
redis-server --bind 127.0.0.1 --port 6391 --save "" --appendonly noLassen Sie dieses Terminal laufen. Diese lokale Instanz hat keine Persistenz und lauscht nur auf Loopback. Stoppen Sie sie mit Strg+C, wenn Sie fertig sind. Wenn Port 6391 bereits zu einem anderen Prozess gehört, wählen Sie einen freien Port und passen Sie ADMIN_REDIS_URL entsprechend an, bevor Sie das Setup ausführen.
Führen Sie in Ihrem Demo-Verzeichnis Folgendes aus:
.venv/bin/python setup.pyDas Setup-Skript verbindet sich standardmäßig mit redis://127.0.0.1:6391/0. Es erstellt:
| Schlüssel | Typ | Wert | Anfängliche TTL |
|---|---|---|---|
mcpdemo:status | String | ready | 3.600 Sekunden |
mcpdemo:session:42 | Hash | user=demo-user, language=english | 3.600 Sekunden |
Es erstellt auch den Benutzer mcp_reader mit einem zufälligen Passwort. Es weigert sich, einen bestehenden Benutzer oder Demo-Schlüssel zu ersetzen, sodass ein wiederholter Lauf auf derselben Instanz mit einer Erklärung stoppt.
Das Skript speichert mcp.local.json mit einem absoluten Pfad zum installierten MCP-Server. Die Datei enthält das Passwort des Lesebenutzers. Halten Sie sie privat und fügen Sie diese Pfade zur .gitignore des Demo-Projekts hinzu, bevor Sie etwas committen:
.venv/
.env
mcp.local.json
.cursor/mcp.json
test-runs/Verwenden Sie unter Windows .venv\Scripts\python.exe für die Python-Befehle. Das Skript wählt den passenden ausführbaren Pfad für die generierte Konfiguration. Der automatisierte Lauf dieser Anleitung verwendete macOS.
2. Verstehen Sie die Berechtigungen des Lesebenutzers
Das Skript wendet diese Redis-ACL-Richtlinie an. Dies ist die Redis-Befehlssyntax mit einem Platzhalter-Passwort; das Setup-Skript generiert das echte Passwort für Sie:
ACL SETUSER mcp_reader reset on >REPLACE_WITH_RANDOM_PASSWORD ~mcpdemo:* -@all +ping +get +hget +hgetall +type +ttlDie Regeln erlauben das Lesen bekannter Strings und Hashes unter mcpdemo:* sowie Typ- und TTL-Prüfungen. Sie verweigern Schreibvorgänge, Administrationsbefehle, Pub/Sub und Schlüsselaufzählung. Die Redis-ACL-Referenz erklärt jede Regel.
Ein Nur-Lese-Prompt erzwingt keinen Nur-Lese-Zugriff. Die Datenbank-Zugangsdaten tun dies. Der MCP-Server kann weiterhin Schreibwerkzeuge anbieten; Redis sollte deren Ausführung für diesen Benutzer ablehnen. Lassen Sie die Bestätigungsaufforderungen des Clients als weitere Kontrolle darüber, welche Aufrufe ausgeführt werden, aktiviert.
Warum die Richtlinie SCAN nicht erlaubt
Ein ACL-Schlüsselmuster schränkt den Zugriff auf Schlüsselwerte ein. Es führt nicht dazu, dass SCAN nur die Schlüsselnamen unter diesem Muster zurückgibt. In unserem Test ermöglichte die Gewährung von +scan, dass mcp_reader den Namen private:sentinel entdeckte, obwohl es den Wert dieses Schlüssels nicht lesen konnte. Der Widerruf von SCAN blockierte die Aufzählung wieder.
Beginnen Sie mit bekannten Demo-Schlüsseln. Wenn Sie später das Durchsuchen auf einer separaten Instanz erlauben, die keine unbeteiligten Daten enthält, verwenden Sie scan_keys in kleinen Iterationen und folgen Sie dem zurückgegebenen Cursor, bis er null wird. COUNT ist ein Arbeitshinweis, kein hartes Ergebnislimit. Siehe die SCAN-Referenz. Die Standardrichtlinie des Tutorials lehnt absichtlich sowohl scan_keys als auch scan_all_keys ab.
3. Fügen Sie Redis MCP zu Cursor oder Claude Desktop hinzu
Öffnen Sie die generierte mcp.local.json lokal. Sie hat diese Form:
{
"mcpServers": {
"redis-demo": {
"command": "/ABSOLUTE/PATH/redis-mcp-demo/.venv/bin/redis-mcp-server",
"args": ["--host", "127.0.0.1", "--port", "6391", "--db", "0"],
"env": {
"REDIS_USERNAME": "mcp_reader",
"REDIS_PWD": "YOUR_GENERATED_READER_PASSWORD"
}
}
}
}Verwenden Sie die tatsächlich generierte Datei, nicht die obigen Platzhalter. Fügen Sie den Eintrag redis-demo in das bestehende mcpServers-Objekt Ihres Clients ein; behalten Sie alle anderen bereits vorhandenen Server bei.
Cursor: Verwenden Sie .cursor/mcp.json im Demo-Projekt oder ~/.cursor/mcp.json für eine Einrichtung auf Benutzerebene. Überprüfen Sie den Server in den MCP-Einstellungen des Clients und aktivieren Sie ihn für das Projekt. Cursor dokumentiert die Dateispeicherorte in seiner Anleitung zur MCP-Integration.
Claude Desktop: Fügen Sie den Eintrag in claude_desktop_config.json ein. Unter macOS befindet sich diese Datei unter ~/Library/Application Support/Claude/. Starten Sie die App nach dem Speichern neu. Folgen Sie der Anleitung zur Redis-Client-Konfiguration für die aktuellen Client-Schritte.
Diese Anleitung übergibt Host, Port und Datenbank als explizite Argumente. Im getesteten 0.5.1-Kommandozeilen-Einstiegspunkt überschreiben Standard-CLI-Werte diese Einstellungen, wenn Sie nur Umgebungsvariablen angeben. Die alleinige Angabe von REDIS_HOST kann daher dazu führen, dass der Prozess 127.0.0.1 versucht. Der Benutzername und das Passwort in der obigen Konfiguration verwenden die unterstützten Variablen REDIS_USERNAME und REDIS_PWD.
4. Prüfen Sie die Verbindung
Bitten Sie Ihren Client, die Redis-Werkzeuge explizit zu verwenden. Genehmigen Sie die angeforderten Lesevorgänge und prüfen Sie die Werkzeugausgabe, bevor Sie sich auf die Zusammenfassung des Modells verlassen.
Use redis-demo to get mcpdemo:status. Then use hgetall on
mcpdemo:session:42 and type on that same key. Report the raw
tool results and the remaining TTL. Do not change any data.Die erwarteten Ergebnisse sind:
getgibtreadyzurück.hgetallgibt die zwei synthetischen Felder zurück.typegibthashund eine positive TTL unter 3.600 Sekunden zurück.
Das offizielle Werkzeug type enthält die TTL in seiner Antwort. In unserem Lauf gab es zurück:
{
"key": "mcpdemo:session:42",
"type": "hash",
"ttl": 3591
}Ihre Zahl wird abweichen. Eine TTL von -2 bedeutet, dass der Schlüssel nicht existiert; -1 bedeutet, dass er ohne Ablaufdatum existiert. Wenn mehr als eine Stunde vergangen ist, sind die Demo-Daten möglicherweise abgelaufen. Ein autorisierter Administrator kann die Schlüssel neu setzen, oder Sie können eine frische lokale Instanz starten und das Setup erneut ausführen.
Verwenden Sie als Nächstes die temporäre Demo-Instanz, um die Einschränkung zu prüfen:
Use redis-demo to try setting mcpdemo:status to changed once.
Report the exact tool result. Then read mcpdemo:status again.
Do not retry with other tools or credentials.Unser MCP-Aufruf gab User mcp_reader has no permissions to run the 'set' command zurück, und ein separater Lesevorgang gab immer noch ready zurück. Dies verifiziert sowohl die Ablehnung als auch den unveränderten Wert. Einige Redis MCP-Werkzeuge geben einen Fehler als Text zurück, prüfen Sie also den Antwortinhalt, auch wenn der MCP-Aufruf selbst abgeschlossen wird.
Sie können die zugrunde liegenden Protokollprüfungen ohne einen Modell-API-Schlüssel reproduzieren:
.venv/bin/python verify.pyDas Skript startet seinen eigenen Redis-Prozess auf einem freien Loopback-Port. Es akzeptiert Ihre Datenbank-URL nicht. Es prüft Authentifizierung, MCP-Start, angebotene Werkzeuge, Lesevorgänge, TTL, blockierte Schreibvorgänge, unveränderte Daten, ein anderes Schlüsselpräfix, fehlende Schlüssel und das obige SCAN-Verhalten. Es stoppt nur den Prozess, den es erstellt hat, und speichert validation.json neben dem Skript.
5. Verbinden Sie eine dedizierte Instanz von Managed Redis
Erstellen Sie für eine gemeinsame Anwendungsdatenbank Managed Redis im Projekt-Dashboard und folgen Sie der Verbindungsanleitung. Verwenden Sie für diese Übung eine separate Lerninstanz. Kopieren Sie deren Verbindungs-URL in eine private lokale .env-Datei unter dem Namen ADMIN_REDIS_URL; fügen Sie diese Administrator-Zugangsdaten niemals in einen KI-Chat ein.
Laden Sie Ihre eigene vertrauenswürdige Datei und führen Sie das Setup aus dem Demo-Verzeichnis aus:
set -a
. ./.env
set +a
.venv/bin/python setup.py
unset ADMIN_REDIS_URLDas Setup-Skript verwendet diese Zugangsdaten, um die synthetischen Schlüssel und den Lesebenutzer zu erstellen. Seine generierte MCP-Konfiguration enthält nur die neuen Zugangsdaten des Lesebenutzers. Es extrahiert Host, Port und Datenbank aus der URL und fügt TLS-Optionen mit Zertifikatsprüfung für rediss://-Endpunkte hinzu. Abfrageparameter und benutzerdefinierte Zertifikatspfade benötigen eine separate Konfiguration; das Skript stoppt, anstatt sie zu erraten.
Der Endpunkt muss von dem Computer aus erreichbar sein, auf dem MCP ausgeführt wird. Eine einfache redis://-URL hat keine Transportverschlüsselung. Verwenden Sie eine vertrauenswürdige private Route oder einen verifizierten TLS-Endpunkt, wo verfügbar; das Ändern des URL-Präfixes fügt einem Server keine TLS-Unterstützung hinzu. Die aktuelle Anleitung für Managed Redis zeigt redis://-Verbindungen, gehen Sie also nicht davon aus, dass sie einen öffentlichen TLS-Endpunkt bereitstellt.
Das Erstellen eines ACL-Benutzers erfordert auch, dass der Anbieter ACL SETUSER zulässt. Wenn der Anbieter dies verweigert, verwenden Sie dessen unterstützte Benutzerverwaltungssteuerungen, bevor Sie den Agenten verbinden. Tragen Sie das Administrator-Passwort nicht als Notlösung in die MCP-Konfiguration ein.
Zur Laufzeit vorgenommene Redis-ACL-Änderungen benötigen einen Persistenzmechanismus, um einen Redis-Neustart zu überleben. Die aktuelle Startkonfiguration von Managed Redis deklariert keine ACL-Datei, behandeln Sie diesen Demo-Benutzer also als temporär und überprüfen Sie ihn nach Neustarts. Gehen Sie nicht davon aus, dass die AOF-Persistenz ACL-Benutzer speichert. Behalten Sie die getesteten Berechtigungen in Ihrem Setup-Prozess bei und lesen Sie die Anleitung zu Speicherung und Wiederherstellung für die anderen Limits des Dienstes.
Beheben Sie häufige Redis MCP-Verbindungsfehler
| Symptom | Prüfung |
|---|---|
| MCP-Prozess startet nicht | Verwenden Sie den absoluten ausführbaren Pfad aus der generierten Konfiguration. Bestätigen Sie, dass die Python-Umgebung noch existiert. |
| Verbindung abgelehnt oder Zeitüberschreitung | Prüfen Sie die expliziten --host und --port, die Redis-Verfügbarkeit und den Netzwerkzugriff vom MCP-Computer. |
WRONGPASS oder Authentifizierung fehlgeschlagen | Prüfen Sie REDIS_USERNAME und REDIS_PWD. Ein Passwort für default authentifiziert nicht mcp_reader. Prüfen Sie, ob ein Neustart den temporären ACL-Benutzer entfernt hat. |
NOPERM oder ein Berechtigungsfehler | Vergleichen Sie den angeforderten Befehl und Schlüssel mit der ACL. Ein abgelehnter Schreibvorgang, SCAN oder ein unbeteiligtes Präfix wird in dieser Anleitung erwartet. |
WRONGTYPE | Verwenden Sie zuerst type. Lesen Sie Strings mit get; lesen Sie Hashes mit hgetall. |
Fehlender Schlüssel oder TTL -2 | Prüfen Sie die Datenbanknummer, den genauen Schlüsselnamen und den Ablauf. |
| TLS-Zertifikatsfehler | Bestätigen Sie, dass der Server tatsächlich TLS unterstützt, und stellen Sie seine vertrauenswürdige CA über die dokumentierten SSL-Optionen des Servers bereit. Lassen Sie Zertifikatsprüfungen aktiviert. |
JSON.GET oder FT.SEARCH ist unbekannt | Diese Werkzeuge benötigen die passenden Redis JSON- oder Suchfunktionen. Dass grundlegende String-/Hash-Werkzeuge funktionieren, beweist nicht, dass diese Funktionen existieren. |
Was Sie bauen können, nachdem die Verbindung funktioniert
Verwenden Sie dieses Setup, um eine synthetische Sitzung zu prüfen, die Lebensdauer eines Cache-Eintrags zu kontrollieren oder den gespeicherten Kontext eines Agenten zu debuggen. Werkzeugergebnisse können in Ihre Modellkonversation einfließen, wählen Sie also aus, welche Daten der Agent lesen darf, bevor Sie eine echte Anwendung verbinden.
Wenn Sie möchten, dass die Anwendung Erinnerungen automatisch speichert, fahren Sie mit KI-Agenten-Gedächtnis mit Redis fort. Wenn Ihr Agent relationale Daten benötigt, verwenden Sie die separate Rolle mit Leserechten in Postgres MCP.
Beginnen Sie mit Managed Redis, verbinden Sie den Benutzer mit Leserechten und verifizieren Sie einen erfolgreichen Lesevorgang und einen abgelehnten Schreibvorgang, bevor Sie das Werkzeugset erweitern.
Mit KI entwickeln. Mit Lizard ausliefern.
Du brauchst kein Plattform-Team, um live zu gehen. Deine ganze Cloud ist nur einen CLI-Befehl entfernt.
- Workspaces
- —
- Dienste
- —
- Add-ons
- —
- Bereitstellungen
- —