Supabase mit MCP Server
Lernen Sie, wie Sie Ihre KI-Tools mit Supabase verbinden können, indem Sie das Model Context Protocol (MCP) für einen verbesserten Entwicklungsworkflow verwenden.
Was ist das Model Context Protocol (MCP)?
Das Model Context Protocol ist ein leistungsstarker Standard, der es Large Language Models (LLMs) ermöglicht, mit Plattformen wie Supabase zu interagieren. Dieses Protokoll schafft eine Brücke zwischen KI-Tools und Ihren Supabase-Projekten und ermöglicht es KI-Assistenten, Ihre Datenbank direkt abzufragen und zu verwalten.
Vorteile der Nutzung von MCP
- Nahtlose Integration mit KI-Tools
- Verbesserte Entwicklungsabläufe mit KI-Unterstützung
Einrichten von MCP mit Supabase
Schritt 1: Erstellen Sie ein persönliches Zugriffstoken
Zuerst müssen Sie ein persönliches Zugriffstoken in Ihren Supabase-Einstellungen erstellen:
- Navigieren Sie zu Ihrem Supabase-Dashboard
- Gehe zu Einstellungen
- Erstellen Sie ein neues persönliches Zugriffstoken
- Geben Sie ihm einen beschreibenden Namen (z.B. "Cursor MCP Server")
Schritt 2: Konfigurieren Sie Ihr KI-Tool
Der Konfigurationsprozess variiert leicht, abhängig von Ihrem gewählten KI-Tool. Hier ist ein Beispiel für eine Konfiguration für Cursor:
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@latest",
"--access-token",
"<personal-access-token>"
]
}
}
}
Werkzeuge
Die folgenden Tools stehen dem MCP-Server zur Verfügung. Sie können sie verwenden, um Ihre Supabase-Projekte und Datenbank zu verwalten.
Kategorie | Befehl | Beschreibung |
---|---|---|
Projektmanagement | list_projects | Listet alle Supabase-Projekte für den Benutzer auf. |
get_project | Erhält Details für ein Projekt. | |
create_project | Erstellt ein neues Supabase-Projekt. | |
pause_project | Pausiert ein Projekt. | |
restore_project | Stellt ein Projekt wieder her. | |
list_organizations | Listet alle Organisationen auf, in denen der Benutzer Mitglied ist. | |
get_organization | Ruft Details für eine Organisation ab. | |
Datenbankoperationen | list_tables | Listet alle Tabellen innerhalb der angegebenen Schemata auf. |
list_extensions | Listet alle Erweiterungen in der Datenbank auf. | |
list_migrations | Listet alle Migrationen in der Datenbank auf. | |
apply_migration | Wendet eine SQL-Migration auf die Datenbank an. SQL, das diesem Tool übergeben wird, wird innerhalb der Datenbank verfolgt, daher sollten LLMs dies für DDL-Operationen (Schemaänderungen) verwenden. | |
execute_sql | Führt rohes SQL in der Datenbank aus. LLMs sollten dies für regelmäßige Abfragen verwenden, die das Schema nicht ändern. | |
get_logs | Ruft Logs für ein Supabase-Projekt nach Diensttyp (api, postgres, edge functions, auth, storage, realtime) ab. LLMs können dies zur Unterstützung bei der Fehlersuche und Überwachung der Dienstleistung nutzen. | |
Edge-Funktionen | list_edge_functions | Listet alle Edge-Funktionen in einem Supabase-Projekt auf. |
deploy_edge_function | Implementiert eine neue Edge-Funktion in ein Supabase-Projekt. LLMs können dies verwenden, um neue Funktionen zu implementieren oder bestehende zu aktualisieren. | |
Projektkonfiguration | get_project_url | Ruft die API-URL für ein Projekt ab. |
get_anon_key | Ruft den anonymen API-Schlüssel für ein Projekt ab. | |
Verzweigung | create_branch | Erstellt einen Entwicklungszweig mit Migrationen aus dem Produktionszweig. |
list_branches | Listet alle Entwicklungsbranches auf. | |
delete_branch | Löscht einen Entwicklungszweig. | |
merge_branch | Führt Migrationen und Edge-Funktionen von einem Entwicklungsbranch in die Produktion zusammen. | |
reset_branch | Setzt Migrationen eines Entwicklungszweigs auf eine frühere Version zurück. | |
rebase_branch | Setzt den Entwicklungsbranch auf Produktion zurück, um Migrationsdrift zu bewältigen. | |
Entwicklung | generate_typescript_types | Erzeugt TypeScript-Typen basierend auf dem Datenbankschema. LLMs können dies in einer Datei speichern und es in ihrem Code verwenden. |
Kosten | get_cost | Erhält die Kosten für ein neues Projekt oder eine neue Abteilung für eine Organisation. |
confirm_cost | Bestätigt das Verständnis des Benutzers für die Kosten eines neuen Projekts oder einer neuen Filiale. Dies ist erforderlich, um ein neues Projekt oder eine neue Filiale zu erstellen. |