Warum Supabase mit einem MCP Server verbinden?
Supabase bietet Ihnen eine vollständige Postgres-Datenbank mit REST-API, Authentifizierung, Echtzeit-Abonnements und Speicher — alles out of the box. Aber ohne MCP erforderte das Verbinden eines KI-Agenten mit Ihrer Supabase-Datenbank benutzerdefinierte API-Wrapper, Authentifizierungs-Middleware und viel Verbindungscode.
Mit einem MCP-Server kann Ihr KI-Agent (Claude, Cursor, Windsurf oder jeder MCP-kompatible Client) direkt Tabellen abfragen, Datensätze einfügen, Daten aktualisieren und SQL ausführen — über ein standardisiertes Protokoll.
Was das ermöglicht:
Natürlichsprachliche Datenbankabfragen — Fragen Sie "Zeige mir alle Nutzer, die sich diese Woche angemeldet haben", und die KI übersetzt das in die richtige SQL-Abfrage, führt sie gegen Ihre Supabase-Datenbank aus und gibt formatierte Ergebnisse zurück.
Automatisierte Dateneingabe — Ein KI-Agent, der E-Mails verarbeitet, kann strukturierte Daten extrahieren und direkt in Ihre Supabase-Tabellen einfügen.
KI-gestützte Berichte — "Erstelle eine Zusammenfassung des Q1-Umsatzes nach Produktkategorie" → der Agent fragt Ihre Sales-Tabelle ab und erstellt einen formatierten Bericht.
Voraussetzungen
- Ein Supabase-Projekt (Free-Tier funktioniert für die Entwicklung)
- Node.js 18+ installiert
- Einen MCP-kompatiblen Client (Claude Desktop, Cursor, VS Code mit Copilot)
Option 1: Offiziellen Supabase MCP Server verwenden
Schritt 1: Supabase-Zugangsdaten abrufen
Melden Sie sich in Ihrem Supabase-Dashboard an. Navigieren Sie zu Projekteinstellungen → API. Sie benötigen:
- Projekt-URL — sieht aus wie
https://abcdefgh.supabase.co - Service Role Key — der
service_role-Schlüssel (nicht deranon-Schlüssel)
Schritt 2: Installieren und Konfigurieren
Für Claude Desktop, fügen Sie dies zu Ihrer claude_desktop_config.json hinzu:
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": ["-y", "@supabase/mcp-server-supabase@latest", "--supabase-url", "https://IHR_PROJEKT.supabase.co", "--supabase-key", "IHR_SERVICE_ROLE_KEY"]
}
}
}
Schritt 3: Verbindung prüfen
Starten Sie Ihren MCP-Client neu. Versuchen Sie eine einfache Abfrage:
"Liste alle Tabellen in meiner Supabase-Datenbank auf"
Option 2: Benutzerdefinierten MCP Server aufbauen
Wann Sie individuell entwickeln sollten
- Sie möchten nur Lesezugriff — kein Schreiben
- Sie brauchen Geschäftslogik — Daten transformieren oder sensible Felder filtern
- Sie möchten Datenquellen kombinieren — Supabase + Drittanbieter-API
- Sie benötigen Audit-Logging — jede KI-Abfrage verfolgen
Grundlegende Server-Struktur
import { createClient } from "@supabase/supabase-js";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
const supabase = createClient(
process.env.SUPABASE_URL!,
process.env.SUPABASE_SERVICE_ROLE_KEY!
);
const server = new McpServer({
name: "supabase-custom",
version: "1.0.0",
});
server.tool(
"query_table",
"Supabase-Tabelle mit optionalen Filtern abfragen",
{
table: z.string().describe("Tabellenname"),
limit: z.number().optional().describe("Max. zurückzugebende Zeilen"),
},
async ({ table, limit }) => {
let query = supabase.from(table).select("*");
if (limit) query = query.limit(limit);
const { data, error } = await query;
if (error) return { content: [{ type: "text", text: "Fehler: " + error.message }] };
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
}
);
Sicherheits-Best-Practices
1. Dedizierte Datenbankrolle verwenden
CREATE ROLE mcp_agent WITH LOGIN PASSWORD 'sicheres_passwort';
GRANT SELECT ON customers, orders, products TO mcp_agent;
2. Row Level Security implementieren
ALTER TABLE customers ENABLE ROW LEVEL SECURITY;CREATE POLICY "mcp_agent_read" ON customers
FOR SELECT TO mcp_agent
USING (is_active = true);
3. Jede Abfrage protokollieren
Ihr benutzerdefinierter MCP-Server sollte jeden Tool-Aufruf protokollieren — Zeitstempel, Tool-Name, Parameter und Ergebnisanzahl.
Reale Anwendungsfälle
KI-gestütztes Kunden-Support-Dashboard
Ein Support-Team nutzt Claude, um zu fragen: "Wie viele Tickets sind ungelöst?" oder "Zeige mir alle kritischen Probleme dieser Woche." Der Supabase MCP Server fragt die Tickets-Tabelle ab und gibt strukturierte Ergebnisse zurück.
Automatisierte Lead-Qualifizierung
Neue Leads kommen über ein Web-Formular und werden in Supabase gespeichert. Ein KI-Agent mit MCP-Zugriff bewertet jeden Lead und aktualisiert die lead_score-Spalte.
Lagerbestandsüberwachung
Ein E-Commerce-Unternehmen nutzt Supabase zur Bestandsverfolgung. Ihr KI-Agent führt stündliche Prüfungen durch: "Finde alle Produkte, bei denen der Lagerbestand unter dem Nachbestellungsschwellenwert liegt."
Wenn Sie Hilfe beim Aufbau eines benutzerdefinierten Supabase MCP Servers benötigen, buchen Sie ein kostenloses Beratungsgespräch.