Integrations
Provides tools for executing PostgreSQL queries against Supabase databases with risk assessment, parsing, and validation. Includes automatic migration versioning for database-altering operations.
Enables safely interacting with Supabase databases, executing SQL queries, managing database schemas, accessing the Supabase Management API, and using the Supabase Auth Admin SDK for user management. Includes safety controls for different risk levels of operations.
Abfrage | MCP-Server für Supabase
🌅 Mehr als 17.000 Installationen über pypi und fast 30.000 Downloads auf Smithery.ai – kurz gesagt, es hat Spaß gemacht! 🥳 Vielen Dank an alle, die diesen Server in den letzten Monaten genutzt haben. Ich hoffe, er war hilfreich für euch. Da Supabase einen eigenen offiziellen MCP-Server veröffentlicht hat, habe ich beschlossen, diesen nicht mehr aktiv zu pflegen. Der offizielle MCP-Server bietet genauso viele Funktionen, und in Zukunft werden viele weitere hinzugefügt. Schaut mal rein!
Inhaltsverzeichnis
✨ Hauptmerkmale
- 💻 Kompatibel mit Cursor, Windsurf, Cline und anderen MCP-Clients, die
stdio
unterstützen - 🔐 Steuern Sie den Nur-Lese- und Lese-/Schreibmodus der SQL-Abfrageausführung
- 🔍 Laufzeitvalidierung von SQL-Abfragen mit Risikobewertung
- 🛡️ Dreistufiges Sicherheitssystem für SQL-Operationen: sicher, schreibend und destruktiv
- 🔄 Robuste Transaktionsverarbeitung für direkte und gepoolte Datenbankverbindungen
- 📝 Automatische Versionierung von Datenbankschemaänderungen
- 💻 Verwalten Sie Ihre Supabase-Projekte mit der Supabase Management API
- 🧑💻 Verwalten Sie Benutzer mit Supabase Auth Admin-Methoden über das Python SDK
- 🔨 Vorgefertigte Tools, die Cursor und Windsurf dabei helfen, effektiver mit MCP zusammenzuarbeiten
- 📦 Kinderleichte Installation und Einrichtung über den Paketmanager (uv, pipx usw.)
Erste Schritte
Voraussetzungen
Für die Installation des Servers ist Folgendes auf Ihrem System erforderlich:
- Python 3.12+
Wenn Sie die Installation über uv
planen, stellen Sie sicher, dass es installiert ist.
PostgreSQL-Installation
Für den MCP-Server selbst ist keine PostgreSQL-Installation mehr erforderlich, da dieser jetzt asyncpg verwendet, das nicht von PostgreSQL-Entwicklungsbibliotheken abhängig ist.
Sie benötigen jedoch weiterhin PostgreSQL, wenn Sie eine lokale Supabase-Instanz ausführen:
macOS
Windows
- Laden Sie PostgreSQL 16+ von https://www.postgresql.org/download/windows/ herunter und installieren Sie es
- Stellen Sie sicher, dass während der Installation „PostgreSQL Server“ und „Command Line Tools“ ausgewählt sind
Schritt 1. Installation
Seit v0.2.0 ist die Paketinstallation möglich. Sie können den Server mit Ihrem bevorzugten Python-Paketmanager wie folgt installieren:
pipx
wird empfohlen, da es isolierte Umgebungen für jedes Paket erstellt.
Sie können den Server auch manuell installieren, indem Sie das Repository klonen und pipx install -e .
aus dem Stammverzeichnis ausführen.
Installation von der Quelle
Wenn Sie aus der Quelle installieren möchten, beispielsweise für die lokale Entwicklung:
Installation über Smithery.ai
Die vollständigen Anweisungen zur Verwendung von Smithery.ai zum Herstellen einer Verbindung mit diesem MCP-Server finden Sie hier .
Schritt 2. Konfiguration
Der Supabase MCP-Server erfordert eine Konfiguration, um eine Verbindung zu Ihrer Supabase-Datenbank herzustellen, auf die Management-API zuzugreifen und das Auth Admin SDK zu verwenden. Dieser Abschnitt erläutert alle verfügbaren Konfigurationsoptionen und deren Einrichtung.
🔑 Wichtig : Seit v0.4 benötigt der MCP-Server einen API-Schlüssel, den Sie kostenlos bei thequery.dev erhalten, um diesen MCP-Server zu verwenden.
Umgebungsvariablen
Der Server verwendet die folgenden Umgebungsvariablen:
Variable | Erforderlich | Standard | Beschreibung |
---|---|---|---|
SUPABASE_PROJECT_REF | Ja | 127.0.0.1:54322 | Ihre Supabase-Projektreferenz-ID (oder lokaler Host:Port) |
SUPABASE_DB_PASSWORD | Ja | postgres | Ihr Datenbankpasswort |
SUPABASE_REGION | Ja* | us-east-1 | AWS-Region, in der Ihr Supabase-Projekt gehostet wird |
SUPABASE_ACCESS_TOKEN | NEIN | Keiner | Persönlicher Zugriffstoken für die Supabase Management API |
SUPABASE_SERVICE_ROLE_KEY | NEIN | Keiner | Servicerollenschlüssel für Auth Admin SDK |
QUERY_API_KEY | Ja | Keiner | API-Schlüssel von thequery.dev (für alle Vorgänge erforderlich) |
Hinweis : Die Standardwerte sind für die lokale Supabase-Entwicklung konfiguriert. Für Remote-Supabase-Projekte müssen Sie eigene Werte für
SUPABASE_PROJECT_REF
undSUPABASE_DB_PASSWORD
angeben.
🚨 WICHTIGER KONFIGURATIONSHINWEIS : Für Remote-Supabase-Projekte MÜSSEN Sie die korrekte Region angeben, in der Ihr Projekt gehostet wird (
SUPABASE_REGION
. Wenn die Fehlermeldung „Mandant oder Benutzer nicht gefunden“ auftritt, liegt dies höchstwahrscheinlich daran, dass Ihre Regionseinstellung nicht mit der tatsächlichen Region Ihres Projekts übereinstimmt. Sie finden die Region Ihres Projekts im Supabase-Dashboard unter „Projekteinstellungen“.
Verbindungstypen
Datenbankverbindung
- Der Server verbindet sich mit Ihrer Supabase PostgreSQL-Datenbank über den Transaktionspooler-Endpunkt
- Die lokale Entwicklung verwendet eine direkte Verbindung zu
127.0.0.1:54322
- Remote-Projekte verwenden das Format:
postgresql://postgres.[project_ref]:[password]@aws-0-[region].pooler.supabase.com:6543/postgres
⚠️ Wichtig : Session-Pooling-Verbindungen werden nicht unterstützt. Der Server verwendet ausschließlich Transaktionspooling für eine bessere Kompatibilität mit der MCP-Serverarchitektur.
Management-API-Verbindung
- Erfordert die Festlegung
SUPABASE_ACCESS_TOKEN
- Verbindet sich mit der Supabase Management API unter
https://api.supabase.com
- Funktioniert nur mit Remote-Supabase-Projekten (keine lokale Entwicklung)
Auth Admin SDK-Verbindung
- Erfordert die Festlegung
SUPABASE_SERVICE_ROLE_KEY
- Für die lokale Entwicklung wird eine Verbindung zu
http://127.0.0.1:54321
hergestellt. - Für Remote-Projekte wird eine Verbindung zu
https://[project_ref].supabase.co
hergestellt.
Konfigurationsmethoden
Der Server sucht in dieser Reihenfolge nach Konfigurationen (von der höchsten zur niedrigsten Priorität):
- Umgebungsvariablen : Werte, die direkt in Ihrer Umgebung festgelegt werden
- Lokale
.env
Datei : Eine.env
Datei in Ihrem aktuellen Arbeitsverzeichnis (funktioniert nur beim Ausführen aus der Quelle) - Globale Konfigurationsdatei :
- Windows:
%APPDATA%\supabase-mcp\.env
- macOS/Linux:
~/.config/supabase-mcp/.env
- Windows:
- Standardeinstellungen : Lokale Entwicklungsstandards (wenn keine andere Konfiguration gefunden wird)
⚠️ Wichtig : Bei Verwendung des über pipx oder uv installierten Pakets werden lokale
.env
Dateien in Ihrem Projektverzeichnis nicht erkannt. Sie müssen entweder Umgebungsvariablen oder die globale Konfigurationsdatei verwenden.
Einrichten der Konfiguration
Option 1: Clientspezifische Konfiguration (empfohlen)
Legen Sie Umgebungsvariablen direkt in Ihrer MCP-Clientkonfiguration fest (siehe clientspezifische Einrichtungsanweisungen in Schritt 3). Die meisten MCP-Clients unterstützen diesen Ansatz, sodass Ihre Konfiguration mit Ihren Clienteinstellungen übereinstimmt.
Option 2: Globale Konfiguration
Erstellen Sie eine globale .env
-Konfigurationsdatei, die für alle MCP-Serverinstanzen verwendet wird:
Fügen Sie Ihre Konfigurationseinstellungen zur Datei hinzu:
Option 3: Projektspezifische Konfiguration (nur Quellinstallation)
Wenn Sie den Server aus der Quelle ausführen (nicht über ein Paket), können Sie in Ihrem Projektverzeichnis eine .env
Datei im gleichen Format wie oben erstellen.
So finden Sie Ihre Supabase-Projektinformationen
- Projektreferenz : Gefunden in Ihrer Supabase-Projekt-URL:
https://supabase.com/dashboard/project/<project-ref>
- Datenbankkennwort : Wird während der Projekterstellung festgelegt oder unter „Projekteinstellungen“ → „Datenbank“ gefunden.
- Zugriffstoken : Generieren Sie unter https://supabase.com/dashboard/account/tokens
- Servicerollenschlüssel : Zu finden in Projekteinstellungen → API → Projekt-API-Schlüssel
Unterstützte Regionen
Der Server unterstützt alle Supabase-Regionen:
us-west-1
– Westen der USA (Nordkalifornien)us-east-1
– Osten der USA (Nord-Virginia) – Standardus-east-2
– Osten der USA (Ohio)ca-central-1
– Kanada (Zentral)eu-west-1
– West-EU (Irland)eu-west-2
– Westeuropa (London)eu-west-3
– West-EU (Paris)eu-central-1
– Zentrale EU (Frankfurt)eu-central-2
- Mitteleuropa (Zürich)eu-north-1
– Nord-EU (Stockholm)ap-south-1
– Südasien (Mumbai)ap-southeast-1
– Südostasien (Singapur)ap-northeast-1
– Nordostasien (Tokio)ap-northeast-2
– Nordostasien (Seoul)ap-southeast-2
– Ozeanien (Sydney)sa-east-1
– Südamerika (São Paulo)
Einschränkungen
- Kein Self-Hosted-Support : Der Server unterstützt nur offizielle Supabase.com-gehostete Projekte und lokale Entwicklung
- Keine Unterstützung für Verbindungszeichenfolgen : Benutzerdefinierte Verbindungszeichenfolgen werden nicht unterstützt
- Kein Sitzungspooling : Für Datenbankverbindungen wird nur Transaktionspooling unterstützt
- API- und SDK-Funktionen : Die Management-API und die Auth Admin SDK-Funktionen funktionieren nur mit Remote-Supabase-Projekten, nicht mit lokaler Entwicklung
Schritt 3. Verwendung
Generell sollte jeder MCP-Client, der stdio
-Protokoll unterstützt, mit diesem MCP-Server funktionieren. Dieser Server wurde explizit für die Zusammenarbeit mit folgenden Servern getestet:
- Cursor
- Windsurf
- Cline
- Claude Desktop
Darüber hinaus können Sie mit smithery.ai auch eine Reihe von Clients auf diesem Server installieren, darunter die oben genannten.
Befolgen Sie die nachstehenden Anleitungen, um diesen MCP-Server auf Ihrem Client zu installieren.
Cursor
Gehen Sie zu Einstellungen -> Funktionen -> MCP-Server und fügen Sie einen neuen Server mit dieser Konfiguration hinzu:
Wenn die Konfiguration korrekt ist, sollten Sie einen grünen Punkt und die Anzahl der vom Server bereitgestellten Tools sehen.
Windsurf
Gehen Sie zu Cascade -> Klicken Sie auf das Hammersymbol -> Konfigurieren -> Füllen Sie die Konfiguration aus:
Wenn die Konfiguration korrekt ist, sollten Sie in der Liste der verfügbaren Server einen grünen Punktindikator und einen anklickbaren Supabase-Server sehen.
Claude Desktop
Claude Desktop unterstützt auch MCP-Server über eine JSON-Konfiguration. Befolgen Sie diese Schritte, um den Supabase MCP-Server einzurichten:
- Suchen Sie den vollständigen Pfad zur ausführbaren Datei (dieser Schritt ist entscheidend):Kopieren Sie den vollständigen zurückgegebenen Pfad (z. B.Copy
/Users/username/.local/bin/supabase-mcp-server
). - Konfigurieren Sie den MCP-Server in Claude Desktop:
- Öffnen Sie Claude Desktop
- Gehen Sie zu Einstellungen → Entwickler -> Konfiguration MCP-Server bearbeiten
- Fügen Sie eine neue Konfiguration mit dem folgenden JSON hinzu:
Copy
⚠️ Wichtig : Im Gegensatz zu Windsurf und Cursor benötigt Claude Desktop den vollständigen absoluten Pfad zur ausführbaren Datei. Die Verwendung nur des Befehlsnamens (
supabase-mcp-server
) führt zu einem „spawn ENOENT“-Fehler.
Wenn die Konfiguration korrekt ist, sollte der Supabase MCP-Server in Claude Desktop als verfügbar aufgeführt sein.
Cline
Cline unterstützt auch MCP-Server über eine ähnliche JSON-Konfiguration. Befolgen Sie diese Schritte, um den Supabase MCP-Server einzurichten:
- Suchen Sie den vollständigen Pfad zur ausführbaren Datei (dieser Schritt ist entscheidend):Kopieren Sie den vollständigen zurückgegebenen Pfad (z. B.Copy
/Users/username/.local/bin/supabase-mcp-server
). - Konfigurieren Sie den MCP-Server in Cline:
- Öffnen Sie Cline in VS Code
- Klicken Sie in der Cline-Seitenleiste auf die Registerkarte „MCP-Server“.
- Klicken Sie auf „MCP-Server konfigurieren“.
- Dadurch wird die Datei
cline_mcp_settings.json
geöffnet - Fügen Sie die folgende Konfiguration hinzu:
Copy
Wenn die Konfiguration korrekt ist, sollten Sie neben dem Supabase MCP-Server in der Liste der Cline MCP-Server eine grüne Anzeige und unten im Fenster eine Bestätigungsmeldung „Supabase MCP-Server verbunden“ sehen.
Fehlerbehebung
Hier sind einige Tipps und Tricks, die Ihnen helfen könnten:
- Debug-Installation : Führen Sie
supabase-mcp-server
direkt vom Terminal aus aus, um zu prüfen, ob es funktioniert. Falls nicht, liegt möglicherweise ein Problem mit der Installation vor. - MCP-Serverkonfiguration – Wenn der obige Schritt funktioniert, ist der Server korrekt installiert und konfiguriert. Sofern Sie den richtigen Befehl angegeben haben, sollte die IDE eine Verbindung herstellen können. Stellen Sie sicher, dass Sie den richtigen Pfad zur ausführbaren Serverdatei angeben.
- Fehler „Keine Tools gefunden“ – Wenn im Cursor „Client geschlossen – keine Tools verfügbar“ angezeigt wird, obwohl das Paket installiert ist:
- Finden Sie den vollständigen Pfad zur ausführbaren Datei, indem Sie
which supabase-mcp-server
(macOS/Linux) oderwhere supabase-mcp-server
(Windows) ausführen. - Verwenden Sie den vollständigen Pfad in Ihrer MCP-Serverkonfiguration anstelle von nur
supabase-mcp-server
- Beispiel:
/Users/username/.local/bin/supabase-mcp-server
oderC:\Users\username\.local\bin\supabase-mcp-server.exe
- Finden Sie den vollständigen Pfad zur ausführbaren Datei, indem Sie
- Umgebungsvariablen – Um eine Verbindung mit der richtigen Datenbank herzustellen, stellen Sie sicher, dass Sie entweder Umgebungsvariablen in
mcp_config.json
oder in.env
Datei in einem globalen Konfigurationsverzeichnis (~/.config/supabase-mcp/.env
unter macOS/Linux oder%APPDATA%\supabase-mcp\.env
unter Windows) festlegen. - Zugriff auf Protokolle – Der MCP-Server schreibt detaillierte Protokolle in eine Datei:
- Speicherort der Protokolldatei:
- macOS/Linux:
~/.local/share/supabase-mcp/mcp_server.log
- Windows:
%USERPROFILE%\.local\share\supabase-mcp\mcp_server.log
- macOS/Linux:
- Protokolle enthalten Verbindungsstatus, Konfigurationsdetails und Betriebsergebnisse
- Zeigen Sie Protokolle mit einem beliebigen Texteditor oder Terminalbefehlen an:Copy
- Speicherort der Protokolldatei:
Wenn Sie nicht weiterkommen oder eine der oben aufgeführten Anweisungen falsch ist, melden Sie dies bitte.
MCP-Inspektor
Ein äußerst nützliches Tool zur Fehlerbehebung bei MCP-Serverproblemen ist MCP Inspector. Wenn Sie die Software aus der Quelle installiert haben, können Sie supabase-mcp-inspector
aus dem Projektrepo ausführen. Dadurch wird die Inspector-Instanz ausgeführt. Zusammen mit den Protokollen erhalten Sie einen vollständigen Überblick über die Vorgänge auf dem Server.
📝 Das Ausführen
supabase-mcp-inspector
funktioniert nicht richtig, wenn es aus einem Paket installiert wurde. Ich werde das Problem in der nächsten Version überprüfen und beheben.
Funktionsübersicht
Datenbankabfragetools
Seit v0.3+ bietet der Server umfassende Datenbankverwaltungsfunktionen mit integrierten Sicherheitskontrollen:
- Ausführung von SQL-Abfragen : Führen Sie PostgreSQL-Abfragen mit Risikobewertung aus
- Dreistufiges Sicherheitssystem :
safe
: Nur-Lese-Operationen (SELECT) – immer erlaubtwrite
: Datenänderungen (INSERT, UPDATE, DELETE) – erfordern unsicheren Modusdestructive
: Schemaänderungen (DROP, CREATE) – erfordern unsicheren Modus + Bestätigung
- Dreistufiges Sicherheitssystem :
- SQL-Parsing und -Validierung :
- Verwendet den Parser von PostgreSQL (pglast) für eine genaue Analyse und liefert klares Feedback zu Sicherheitsanforderungen
- Automatische Migrationsversionierung :
- Datenbankverändernde Operationen werden automatisch versioniert
- Generiert beschreibende Namen basierend auf Operationstyp und Ziel
- Sicherheitskontrollen :
- Der Standard-SAFE-Modus erlaubt nur schreibgeschützte Vorgänge
- Alle Anweisungen werden im Transaktionsmodus über
asyncpg
ausgeführt - 2-stufige Bestätigung für Hochrisikovorgänge
- Verfügbare Tools :
get_schemas
: Listet Schemata mit Größen und Tabellenanzahl aufget_tables
: Listet Tabellen, Fremdtabellen und Ansichten mit Metadaten aufget_table_schema
: Ruft die detaillierte Tabellenstruktur ab (Spalten, Schlüssel, Beziehungen)execute_postgresql
: Führt SQL-Anweisungen für Ihre Datenbank ausconfirm_destructive_operation
: Führt Operationen mit hohem Risiko nach der Bestätigung ausretrieve_migrations
: Ruft Migrationen mit Filter- und Paginierungsoptionen ablive_dangerously
: Schaltet zwischen sicherem und unsicherem Modus um
Verwaltungs-API-Tools
Seit v0.3.0 bietet der Server sicheren Zugriff auf die Supabase Management API mit integrierten Sicherheitskontrollen:
- Verfügbare Tools :
send_management_api_request
: Sendet beliebige Anfragen an die Supabase Management API mit automatischer Einfügung der Projektreferenzget_management_api_spec
: Ruft die erweiterte API-Spezifikation mit Sicherheitsinformationen ab- Unterstützt mehrere Abfragemodi: nach Domäne, nach bestimmtem Pfad/Methode oder nach allen Pfaden
- Enthält Informationen zur Risikobewertung für jeden Endpunkt
- Bietet detaillierte Parameteranforderungen und Antwortformate
- Hilft LLMs, die vollen Fähigkeiten der Supabase Management API zu verstehen
get_management_api_safety_rules
: Ruft alle Sicherheitsregeln mit menschenlesbaren Erklärungen ablive_dangerously
: Schaltet zwischen sicheren und unsicheren Betriebsmodi um
- Sicherheitskontrollen :
- Verwendet denselben Sicherheitsmanager wie Datenbankoperationen für ein konsistentes Risikomanagement
- Nach Risikostufe kategorisierte Vorgänge:
safe
: Nur-Lese-Operationen (GET) – immer erlaubtunsafe
: Statusändernde Vorgänge (POST, PUT, PATCH, DELETE) – erfordern unsicheren Modusblocked
: Destruktive Operationen (Projekt löschen usw.) – niemals erlaubt
- Der standardmäßige abgesicherte Modus verhindert versehentliche Statusänderungen
- Pfadbasierter Musterabgleich für präzise Sicherheitsregeln
Hinweis : Management-API-Tools funktionieren nur mit Remote-Supabase-Instanzen und sind nicht mit lokalen Supabase-Entwicklungs-Setups kompatibel.
Auth-Admin-Tools
Ich hatte geplant, dem MCP-Server Unterstützung für Python-SDK-Methoden hinzuzufügen. Nach reiflicher Überlegung habe ich mich entschieden, nur Auth-Admin-Methoden zu unterstützen, da ich oft Testbenutzer manuell erstellt habe, was fehleranfällig und zeitaufwändig war. Jetzt kann ich Cursor einfach bitten, einen Testbenutzer zu erstellen, und es wird nahtlos erledigt. Lesen Sie die vollständige Dokumentation zur Auth-Admin-SDK-Methode, um mehr über ihre Funktionen zu erfahren.
Seit v0.3.6 unterstützt der Server den direkten Zugriff auf Supabase Auth Admin-Methoden über das Python SDK:
- Enthält die folgenden Werkzeuge:
get_auth_admin_methods_spec
zum Abrufen der Dokumentation für alle verfügbaren Auth-Admin-Methodencall_auth_admin_method
zum direkten Aufrufen von Auth-Admin-Methoden mit korrekter Parameterbehandlung
- Unterstützte Methoden:
get_user_by_id
: Ruft einen Benutzer anhand seiner ID ablist_users
: Listet alle Benutzer mit Seitennummerierung aufcreate_user
: Einen neuen Benutzer erstellendelete_user
: Löscht einen Benutzer anhand seiner IDinvite_user_by_email
: Senden Sie einen Einladungslink an die E-Mail-Adresse eines Benutzersgenerate_link
: Generiert einen E-Mail-Link für verschiedene Authentifizierungszweckeupdate_user_by_id
: Benutzerattribute nach ID aktualisierendelete_factor
: Löscht einen Faktor für einen Benutzer (derzeit nicht im SDK implementiert)
Warum Auth Admin SDK anstelle von einfachen SQL-Abfragen verwenden?
Das Auth Admin SDK bietet gegenüber der direkten SQL-Manipulation mehrere wichtige Vorteile:
- Funktionalität : Ermöglicht Vorgänge, die mit SQL allein nicht möglich sind (Einladungen, Magic Links, MFA)
- Genauigkeit : Zuverlässiger als das Erstellen und Ausführen von Roh-SQL-Abfragen auf Authentifizierungsschemata
- Einfachheit : Bietet klare Methoden mit ordnungsgemäßer Validierung und Fehlerbehandlung
- Antwortformat:
- Alle Methoden geben strukturierte Python-Objekte anstelle von Rohwörterbüchern zurück
- Auf Objektattribute kann mit der Punktnotation zugegriffen werden (z. B.
user.id
anstelle vonuser["id"]
)
- Randfälle und Einschränkungen:
- UUID-Validierung: Viele Methoden erfordern ein gültiges UUID-Format für Benutzer-IDs und geben spezifische Validierungsfehler zurück
- E-Mail-Konfiguration: Methoden wie
invite_user_by_email
undgenerate_link
erfordern die Konfiguration des E-Mail-Versands in Ihrem Supabase-Projekt. - Linktypen: Bei der Linkgenerierung gelten für unterschiedliche Linktypen unterschiedliche Anforderungen:
- Für
signup
ist die Existenz des Benutzers nicht erforderlich - Für
magiclink
undrecovery
muss der Benutzer bereits im System vorhanden sein
- Für
- Fehlerbehandlung: Der Server liefert detaillierte Fehlermeldungen der Supabase-API, die von der Dashboard-Oberfläche abweichen können
- Methodenverfügbarkeit: Einige Methoden wie
delete_factor
werden in der API bereitgestellt, sind jedoch im SDK nicht vollständig implementiert
- Antwortformat:
Protokolle und Analysen
Der Server bietet Zugriff auf Supabase-Protokolle und Analysedaten und erleichtert so die Überwachung und Fehlerbehebung Ihrer Anwendungen:
- Verfügbares Tool :
retrieve_logs
- Zugriff auf Protokolle von jedem Supabase-Dienst - Protokollsammlungen :
postgres
: Datenbankserverprotokolleapi_gateway
: API-Gateway-Anfragenauth
: Authentifizierungsereignissepostgrest
: RESTful API-Dienstprotokollepooler
: Verbindungspooling-Protokollestorage
: Objektspeichervorgängerealtime
: WebSocket-Abonnementprotokolleedge_functions
: Serverlose Funktionsausführungencron
: Geplante Jobprotokollepgbouncer
: Verbindungspooler-Protokolle
- Funktionen : Filtern Sie nach Zeit, suchen Sie nach Text, wenden Sie Feldfilter an oder verwenden Sie benutzerdefinierte SQL-Abfragen
Vereinfacht das Debuggen in Ihrem Supabase-Stack, ohne zwischen Schnittstellen wechseln oder komplexe Abfragen schreiben zu müssen.
Automatische Versionierung von Datenbankänderungen
„Mit großer Macht geht große Verantwortung einher.“ Das Tool execute_postgresql
in Verbindung mit dem treffend benannten Tool live_dangerously
bietet eine leistungsstarke und einfache Möglichkeit zur Verwaltung Ihrer Supabase-Datenbank. Gleichzeitig bedeutet es, dass das Löschen oder Ändern einer Tabelle nur eine Chat-Nachricht entfernt ist. Um das Risiko irreversibler Änderungen zu reduzieren, unterstützt der Server seit Version 0.3.8:
- Automatische Erstellung von Migrationsskripten für alle Schreib- und destruktiven SQL-Operationen, die auf der Datenbank ausgeführt werden
- Verbesserter Sicherheitsmodus der Abfrageausführung, in dem alle Abfragen kategorisiert werden in:
safe
Typ: immer zulässig. Schließt alle schreibgeschützten Operationen ein.write
: erfordert, dasswrite
vom Benutzer aktiviert wird.destructive
Typ: erfordert, dasswrite
vom Benutzer aktiviert wird UND eine zweistufige Bestätigung der Abfrageausführung für Clients, die Tools nicht automatisch ausführen.
Universeller Sicherheitsmodus
Seit v0.3.8 ist der Sicherheitsmodus über alle Dienste (Datenbank, API, SDK) hinweg mithilfe eines universellen Sicherheitsmanagers standardisiert. Dies ermöglicht ein konsistentes Risikomanagement und eine einheitliche Schnittstelle zur Steuerung der Sicherheitseinstellungen auf dem gesamten MCP-Server.
Alle Vorgänge (SQL-Abfragen, API-Anfragen, SDK-Methoden) werden in Risikostufen eingeteilt:
Low
Risiko: Nur-Lese-Operationen, die weder Daten noch Struktur ändern (SELECT-Abfragen, GET-API-Anfragen)Medium
Risiko: Schreibvorgänge, die Daten, aber nicht die Struktur ändern (INSERT/UPDATE/DELETE, die meisten POST/PUT-API-Anfragen)High
Risiko: Destruktive Operationen, die die Datenbankstruktur verändern oder zu Datenverlust führen können (DROP/TRUNCATE, DELETE-API-Endpunkte)Extreme
Risiko: Operationen mit schwerwiegenden Folgen, die vollständig blockiert werden (Löschen von Projekten)
Sicherheitskontrollen werden je nach Risikostufe angewendet:
- Operationen mit geringem Risiko sind immer erlaubt
- Bei Vorgängen mit mittlerem Risiko muss der unsichere Modus aktiviert werden
- Hochrisikovorgänge erfordern den unsicheren Modus UND eine ausdrückliche Bestätigung
- Extrem riskante Operationen sind niemals erlaubt
So funktioniert der Bestätigungsablauf
Alle Vorgänge mit hohem Risiko (sei es eine PostgreSQL- oder API-Anfrage) werden auch im unsafe
Modus blockiert. Sie müssen jede Operation mit hohem Risiko ausdrücklich bestätigen und genehmigen, damit sie ausgeführt werden kann.
Änderungsprotokoll
- 📦 Vereinfachte Installation über den Paketmanager - ✅ (v0.2.0)
- 🌎 Unterstützung für verschiedene Supabase-Regionen - ✅ (v0.2.2)
- 🎮 Programmatischer Zugriff auf die Supabase-Verwaltungs-API mit Sicherheitskontrollen - ✅ (v0.3.0)
- 👷♂️ SQL-Abfragen für Datenbanken lesen und lesen/schreiben mit Sicherheitskontrollen - ✅ (v0.3.0)
- 🔄 Robuste Transaktionsverarbeitung für direkte und gepoolte Verbindungen - ✅ (v0.3.2)
- 🐍 Unterstützte Methoden und Objekte, die im nativen Python SDK verfügbar sind – ✅ (v0.3.6)
- 🔍 Stärkere SQL-Abfragevalidierung ✅ (v0.3.8)
- 📝 Automatische Versionierung von Datenbankänderungen ✅ (v0.3.8)
- 📖 Radikal verbesserte Kenntnisse und Tools der API-Spezifikation ✅ (v0.3.8)
- ✍️ Verbesserte Konsistenz der Migrationstools für ein besser organisiertes Datenbank-VCS ✅ (v0.3.10)
- 🥳 Query MCP ist veröffentlicht (v0.4.0)
Eine detailliertere Roadmap finden Sie in dieser Diskussion auf GitHub.
Sternengeschichte
Viel Spaß! ☺️
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Dieser Server ermöglicht die Interaktion mit Supabase PostgreSQL-Datenbanken über das MCP-Protokoll und erlaubt eine nahtlose Integration mit Cursor- und Windsurf-IDEs für eine sichere und validierte Datenbankverwaltung.
- Inhaltsverzeichnis
- ✨ Hauptmerkmale
- Erste Schritte
- Funktionsübersicht
- Änderungsprotokoll
- Sternengeschichte
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that provides tools for interacting with Supabase databases, storage, and edge functions.Last updated -1441JavaScriptMIT License
- -securityAlicense-qualityAn MCP server that connects to Supabase PostgreSQL databases, exposing table schemas as resources and providing tools for data analysis through SQL queries.Last updated -JavaScriptMIT License
- -securityFlicense-qualityA server implementing the Model Context Protocol (MCP) for Cursor that allows using a PostgreSQL database as storage for model contexts, enabling secure database exploration and querying.Last updated -JavaScript
- -securityAlicense-qualityEnables Cursor and Windsurf to safely interact with Supabase databases by providing tools for database management, SQL query execution, and Supabase Management API access with built-in safety controls.Last updated -7PythonApache 2.0