/ Verzeichnis / Playground / supabase-mcp-server
● Community alexander-zuev ⚡ Sofort

supabase-mcp-server

von alexander-zuev · alexander-zuev/supabase-mcp-server

A community Supabase MCP with three-tier safety (safe / write / destructive), auto-migrations, and Management + Auth API coverage — now superseded by the official Supabase MCP.

alexander-zuev/supabase-mcp-server predates the official Supabase MCP. It offers rich coverage: SQL (with risk tiers), automatic migration tracking, Management API passthrough, Auth Admin SDK operations, and logs across 9+ Supabase services. The maintainer has announced they will no longer actively maintain it now that Supabase ships an official MCP — consider migration.

Warum nutzen

Hauptfunktionen

Live-Demo

In der Praxis

supabase-2.replay ▶ bereit
0/0

Installieren

Wählen Sie Ihren Client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "supabase-2": {
      "command": "uvx",
      "args": [
        "supabase-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Öffne Claude Desktop → Settings → Developer → Edit Config. Nach dem Speichern neu starten.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "supabase-2": {
      "command": "uvx",
      "args": [
        "supabase-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cursor nutzt das gleiche mcpServers-Schema wie Claude Desktop. Projektkonfiguration schlägt die globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "supabase-2": {
      "command": "uvx",
      "args": [
        "supabase-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Klicken Sie auf das MCP-Servers-Symbol in der Cline-Seitenleiste, dann "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "supabase-2": {
      "command": "uvx",
      "args": [
        "supabase-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Gleiche Struktur wie Claude Desktop. Windsurf neu starten zum Übernehmen.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "supabase-2",
      "command": "uvx",
      "args": [
        "supabase-mcp-server"
      ]
    }
  ]
}

Continue nutzt ein Array von Serverobjekten statt einer Map.

~/.config/zed/settings.json
{
  "context_servers": {
    "supabase-2": {
      "command": {
        "path": "uvx",
        "args": [
          "supabase-mcp-server"
        ]
      }
    }
  }
}

In context_servers hinzufügen. Zed lädt beim Speichern neu.

claude mcp add supabase-2 -- uvx supabase-mcp-server

Einzeiler. Prüfen mit claude mcp list. Entfernen mit claude mcp remove.

Anwendungsfälle

Praxisnahe Nutzung: supabase-mcp-server

Ask questions about your app data in Supabase

👤 Founders, PMs on Supabase-backed apps ⏱ ~10 min beginner

Wann einsetzen: You want usage / retention numbers without opening the Supabase SQL editor.

Voraussetzungen
  • QUERY_API_KEY (free at thequery.dev) — Sign up, copy key
  • SUPABASE_PROJECT_REF + DB password — Supabase dashboard > Project Settings
Ablauf
  1. Stay in safe mode
    Set mode to safe. How many users signed up last week?✓ Kopiert
    → Read-only result; no mutation possible
  2. Drill in
    Of those, how many completed onboarding (have any row in profiles)?✓ Kopiert
    → Retention-style number

Ergebnis: Quick answers with ironclad read-only guarantee.

Fallstricke
  • Switching to write mode for 'just this query' and forgetting to switch back — Tell Claude explicitly: 'Return to safe mode after this query.'

Make and track a schema change as a real migration

👤 Devs on Supabase ⏱ ~15 min intermediate

Wann einsetzen: You need to add a column or index and want the change captured as a migration file, not an ad-hoc ALTER.

Voraussetzungen
  • SUPABASE_ACCESS_TOKEN for Management API — Dashboard > Account > Access Tokens
Ablauf
  1. Switch to write mode
    Set mode to write. Add column plan (text, default 'free') to users table.✓ Kopiert
    → ALTER executed; migration file created
  2. Review and commit
    Show the generated migration file. I'll commit it to our repo.✓ Kopiert
    → SQL file path + contents

Ergebnis: Schema change + tracked migration in one step.

Fallstricke
  • Migration conflicts with CI when team members also make changes — Coordinate via branch-per-migration; don't do this in main during team hours
Kombinieren mit: github

Provision test users for dev/staging via Auth Admin SDK

👤 QA engineers, devs ⏱ ~10 min intermediate

Wann einsetzen: You need 20 test accounts with specific metadata to exercise a feature.

Voraussetzungen
  • SUPABASE_SERVICE_ROLE_KEY — Dashboard > API settings (keep secret!)
Ablauf
  1. Create users in bulk
    Create 20 test users: [email protected] through [email protected], password 'Test12345!', with metadata {role: 'qa', plan: 'free'}.✓ Kopiert
    → 20 user UUIDs returned
  2. Generate magic links
    For each, generate a magic sign-in link and save to /tmp/qa-users.tsv.✓ Kopiert
    → TSV with email + link

Ergebnis: QA-ready accounts provisioned in under a minute.

Fallstricke
  • Service role key is god-mode — never put in prompt context in front of a user — Keep in env var; never echo
Kombinieren mit: filesystem

Kombinationen

Mit anderen MCPs für 10-fache Wirkung

supabase-2 + github

Generate migration file via MCP, commit via git MCP

Add a column via write mode, then commit the generated migration file with message 'feat: add users.plan'.✓ Kopiert

Werkzeuge

Was dieses MCP bereitstellt

WerkzeugEingabenWann aufrufenKosten
execute_sql query: str, mode: 'safe'|'write'|'destructive' Main entry for arbitrary SQL, gated by current mode 1 DB query
set_mode mode: 'safe'|'write'|'destructive' Change safety tier; default is safe free
management_api_request path, method, body? Manage project settings, extensions, buckets via Management API 1 API call
auth_admin_create_user email, password?, user_metadata? Provision users for testing or onboarding 1 Auth call
auth_admin_generate_link user_id, type: 'magiclink'|'recovery' Get a sign-in or recovery URL for a user 1 Auth call
get_logs service: 'api'|'auth'|'db'|..., since, until Debug by service 1 API call

Kosten & Limits

Was der Betrieb kostet

API-Kontingent
Bounded by Supabase plan (DB connections, Management API rate limits)
Tokens pro Aufruf
SQL results: depends on LIMIT; always cap
Kosten in €
Free (Apache 2.0). Supabase costs are your existing bill.
Tipp
Stay in safe mode by default. Only escalate when you explicitly intend to mutate.

Sicherheit

Rechte, Secrets, Reichweite

Minimale Scopes: SELECT for safe mode; INSERT/UPDATE for write; all for destructive
Credential-Speicherung: Env vars. Service role key is especially sensitive.
Datenabfluss: Queries go to your Supabase project; LLM sees the result rows
Niemals gewähren: Service role key to anything that can be reached over untrusted transport

Fehlerbehebung

Häufige Fehler und Lösungen

QUERY_API_KEY invalid

Regenerate at thequery.dev. Note: this is a separate service wrapping Supabase and requires its own signup.

Write tool refuses in safe mode

Call set_mode write first. Remember to set back to safe when done.

Transaction pool exhausted

Only transaction pooling is supported here. Reduce concurrency or upgrade Supabase plan.

Prüfen: Supabase dashboard > DB > Connection Pooling

Alternativen

supabase-mcp-server vs. andere

AlternativeWann stattdessenKompromiss
Official Supabase MCPYou're starting fresh — use the official one firstMaintained by Supabase; this community one has been deprecated by its author
postgres MCPYou only need SQL, not Auth/Management APIsRead-only, universal; no Supabase-specific features
Neon MCPYou're on Neon, not SupabaseAdds DB branching for safe migration testing

Mehr

Ressourcen

📖 Offizielle README auf GitHub lesen

🐙 Offene Issues ansehen

🔍 Alle 400+ MCP-Server und Skills durchsuchen