Supabase MCP
offiziellOffizieller Supabase MCP-Server zur Verwaltung von Supabase-Projekten, Datenbanken, Authentifizierung, Speicher, Edge Functions und SQL-Workflows über KI-Agenten.
Was kann man mit Supabase MCP machen?
- Datenbanktabellen verwalten — Bitten Sie die KI, Tabellen in Ihrem Supabase-Projekt aufzulisten, zu erstellen, zu aktualisieren oder zu löschen, mithilfe von Tools wie
list_tablesundcreate_table. - Projektkonfiguration abrufen — Rufen Sie Projekteinstellungen, Umgebungsvariablen und API-Anmeldeinformationen mit
get_project_urlund verwandten Konfigurationstools ab. - Daten abfragen und überprüfen — Lassen Sie die KI schreibgeschützte SQL-Abfragen ausführen oder Ihr Datenbankschema direkt über den MCP-Server erkunden.
- Integration mit dem AI SDK — Verwenden Sie
createToolSchemas(), um typisierte Eingabe-/Ausgabeschemata für den MCP-Client des Vercel AI SDK zu erhalten.
Dokumentation
Supabase MCP Server
Verbinden Sie Ihre Supabase-Projekte mit Cursor, Claude, Windsurf und anderen KI-Assistenten.
Das Model Context Protocol (MCP) standardisiert, wie Large Language Models (LLMs) mit externen Diensten wie Supabase kommunizieren. Es verbindet KI-Assistenten direkt mit Ihrem Supabase-Projekt und ermöglicht ihnen, Aufgaben wie das Verwalten von Tabellen, das Abrufen von Konfigurationen und das Abfragen von Daten durchzuführen. Siehe die vollständige Liste der Tools.
Einrichtung
1. Befolgen Sie unsere Sicherheits-Best Practices
Bevor Sie den MCP-Server einrichten, empfehlen wir Ihnen, unsere Sicherheits-Best Practices zu lesen, um die Risiken der Verbindung eines LLM mit Ihren Supabase-Projekten und deren Eindämmung zu verstehen.
2. Konfigurieren Sie Ihren MCP-Client
Um den Supabase MCP-Server auf Ihrem Client zu konfigurieren, besuchen Sie unsere Einrichtungsdokumentation. Sie können auch eine benutzerdefinierte MCP-URL für Ihr Projekt generieren, indem Sie den MCP-Verbindungstab im Supabase-Dashboard besuchen.
Ihr MCP-Client wird Sie während der Einrichtung automatisch auffordern, sich bei Supabase anzumelden. Achten Sie darauf, die Organisation auszuwählen, die das Projekt enthält, mit dem Sie arbeiten möchten.
Die meisten MCP-Clients benötigen die folgenden Informationen:
{
"mcpServers": {
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp"
}
}
}
Wenn Ihr MCP-Client nicht in unserer Dokumentation aufgeführt ist, überprüfen Sie die MCP-Dokumentation Ihres Clients und kopieren Sie die obigen MCP-Informationen in das erwartete Format (json, yaml, etc.).
CLI
Wenn Sie Supabase lokal mit der Supabase CLI ausführen, können Sie auf den MCP-Server unter http://localhost:54321/mcp zugreifen. Derzeit bietet der MCP-Server in CLI-Umgebungen eine eingeschränkte Teilmenge an Tools und kein OAuth 2.1.
Self-hosted
Für selbst gehostetes Supabase lesen Sie die Seite MCP-Server aktivieren. Derzeit bietet der MCP-Server in selbst gehosteten Umgebungen eine eingeschränkte Teilmenge an Tools und kein OAuth 2.1.
Konfigurationsoptionen und Tools
Siehe die Supabase MCP Server Dokumentation für die vollständige Liste der verfügbaren Tools und Konfigurationsoptionen.
Die Dokumentation enthält auch einen interaktiven URL-Builder, um Konfigurationsoptionen für Sie zu befüllen.
Sicherheitsrisiken
[!TIP] Bevor Sie den MCP-Server verwenden, lesen Sie die Sicherheitsrisiken und empfohlenen Gegenmaßnahmen in den Supabase Docs.
Verwendung mit dem MCP-Client des AI SDK
Das @supabase/mcp-server-supabase Paket exportiert createToolSchemas(), um Eingabe- und Ausgabeschemata für den MCP-Client des Vercel AI SDK zu befüllen. Dies ermöglicht es, Supabase MCP-Tools als statische Tools mit clientseitiger Validierung und abgeleiteten TypeScript-Typen für ihre Ein- und Ausgaben zu behandeln.
import { createToolSchemas } from '@supabase/mcp-server-supabase';
import { createMCPClient } from '@ai-sdk/mcp';
import { streamText } from 'ai';
const mcpClient = await createMCPClient({
transport: {
type: 'http',
url: 'https://mcp.supabase.com/mcp',
},
});
const tools = await mcpClient.tools({
schemas: createToolSchemas(),
});
const result = streamText({ model, tools, prompt: '...' });
for (const step of await result.steps) {
for (const toolResult of step.staticToolResults) {
if (toolResult.toolName === 'get_project_url') {
toolResult.input; // { project_id: string }
toolResult.output; // { url: string }
}
}
}
createToolSchemas() akzeptiert ähnliche Filteroptionen wie die URL-Parameter des MCP-Servers:
features: Auf bestimmte Funktionsgruppen beschränken (z. B.['database', 'docs']). Standardmäßig alle Standard-Funktionsgruppen.projectScoped: Wenntrue, werdenproject_idaus den Tool-Eingabeschemata weggelassen und Tools auf Kontoebene ausgeschlossen — zu verwenden bei Verbindung mit einem Server, der mitproject_refkonfiguriert ist. Standardmäßigfalse.readOnly: Wenntrue, werden mutierende Tools ausgeschlossen — zu verwenden bei Verbindung mit einem Server, der mitread_only=truekonfiguriert ist. Standardmäßigfalse.
const mcpClient = await createMCPClient({
transport: {
type: 'http',
url: 'https://mcp.supabase.com/mcp?project_ref=<project-ref>&read_only=true&features=database,docs',
},
});
const tools = await mcpClient.tools({
schemas: createToolSchemas({
features: ['database', 'docs'],
projectScoped: true,
readOnly: true,
}),
});
[!NOTE] Dieser Server sendet kein
structuredContentin MCP-Tool-Ergebnissen. AI SDK greift auf das Parsen von JSON auscontentText zurück.
Weitere Informationen finden Sie unter Schema Definition und Typed Tool Outputs in der AI SDK-Dokumentation.
Andere MCP-Server
@supabase/mcp-server-postgrest
Der PostgREST MCP-Server ermöglicht es Ihnen, Ihre eigenen Benutzer über die REST-API mit Ihrer App zu verbinden. Weitere Details finden Sie in der Projekt-README.
Ressourcen
- Model Context Protocol: Erfahren Sie mehr über MCP und seine Fähigkeiten.
- Von der Entwicklung zur Produktion: Erfahren Sie, wie Sie Änderungen sicher in Produktionsumgebungen überführen.
Für Entwickler
Siehe CONTRIBUTING für Details, wie Sie zu diesem Projekt beitragen können.
Lizenz
Dieses Projekt ist unter Apache 2.0 lizenziert. Siehe die LICENSE Datei für Details.