Akademia · MCP Supabase

MCP Supabase: agent na Waszej bazie — z trybem read-only.

MCP Supabase daje Claude Code bezpośredni dostęp do bazy w naturalnym języku: listowanie tabel, zapytania, migracje, generowanie typów TypeScript. Klucz to bezpieczna konfiguracja — tryb read-only i ograniczenie do jednego projektu, nigdy na produkcji.

Ostatnia aktualizacja:

Dostęp z promptutabele, zapytania, migracje, typy
Tryb read-onlydomyślnie tylko odczyt dla bezpieczeństwa
Tylko developmentnie łącz agenta z produkcją

01 / MCP · Supabase krok po kroku

Bezpieczny dostęp do bazy z naturalnego języka.

Supabase to otwarta platforma oparta o PostgreSQL — z autentykacją, REST i GraphQL API, storage, Row Level Security i panelem zarządzania. Serwer MCP Supabase pozwala Claude Code sięgać do tej bazy bezpośrednio z promptu.

Uwaga (bezpieczeństwo): serwer MCP ma realny dostęp do bazy. Używaj go tylko na środowiskach deweloperskich — nie łącz agenta z produkcją. Domyślnie uruchamiaj w trybie read-only i ograniczaj zakres do jednego projektu przez project-ref.

Aktualizacja: dokumentacja MCP Supabase opisuje teraz przede wszystkim serwer zdalny (hosted) pod https://mcp.supabase.com/mcp — konfigurujesz go parametrami w samym URL, nie flagami CLI. Zakres ustawiasz przez read_only=true, project_ref=<id> oraz features=<groups>. Bez project_ref serwer widzi wszystkie projekty w organizacji, dlatego scoping i tryb tylko do odczytu warto trzymać włączone domyślnie.

Wymagania

  • Serwer zdalny działa po HTTP — przy pierwszym połączeniu logujesz się przez przeglądarkę (OAuth), więc nie musisz ręcznie generować tokenu ani instalować Node.js.
  • Personal access token z panelu Supabase (Settings → Access Tokens → Create new token) przyda się tylko do CI i scenariuszy nieinteraktywnych.
  • Project ref bazy: Settings → General → Reference ID — wstawiasz go do URL jako project_ref.
  • Przy lokalnym developmencie z Supabase CLI serwer MCP jest dostępny pod http://localhost:54321/mcp — bez tokenu i project-ref, ale z węższym zestawem narzędzi i bez OAuth.

Instalacja serwera

Podstawową metodą w dokumentacji jest zdalny (hosted) serwer MCP — dodajesz go jednym poleceniem, bez lokalnego procesu npx:

claude mcp add --transport http supabase https://mcp.supabase.com/mcp

Zakres ustawiasz parametrami w URL — to dziś jedyny zalecany sposób konfiguracji. Tryb tylko do odczytu i ograniczenie do jednego projektu trzymaj włączone domyślnie:

claude mcp add --transport http supabase \
  "https://mcp.supabase.com/mcp?project_ref=TWOJ_PROJECT_REF&read_only=true"

Aktualizacja: domyślną autoryzacją serwera zdalnego jest OAuth (dynamic client registration) — przy pierwszym połączeniu logujesz się przez przeglądarkę i wybierasz organizację, bez ręcznego PAT. W CI token podajesz nagłówkiem Authorization: Bearer <SUPABASE_ACCESS_TOKEN> w konfiguracji serwera. Stary lokalny serwer stdio (npx @supabase/mcp-server-supabase z flagami --read-only i --project-ref) wciąż istnieje, ale zniknął z oficjalnej instrukcji na rzecz wariantu hosted.

Aktualizacja: parametrem features ograniczasz zestaw narzędzi udostępnionych agentowi — np. ?features=database,docs zostawia tylko zapytania do bazy i wyszukiwanie w dokumentacji. Domyślnie aktywne są grupy account, database, debugging, development, docs, functions i branching; storage jest wyłączone. W trybie read_only=true narzędzia zapisu (m.in. apply_migration, deploy_edge_function) są niedostępne, a execute_sql działa jako użytkownik Postgresa tylko do odczytu.

Aktualizacja: od lutego 2026 Supabase jest oficjalnym konektorem Claude. W Claude.ai albo Claude Desktop wchodzisz w menu konektorów, wybierasz Supabase i autoryzujesz dostęp do swojej organizacji przez OAuth — bez ręcznego wpisu w configu. Konektor działa na płatnych planach Claude (Pro, Team, Enterprise, Max). Dla Claude Code w terminalu nadal najszybsze jest claude mcp add --transport http z URL serwera zdalnego.

Alternatywa — przez Claude Desktop

Możesz też wpisać serwer wprost w pliku konfiguracyjnym (Claude Desktop albo plik MCP Claude Code). Dla wariantu hosted to zwykły wpis HTTP — bez procesu npx (klamry zakodowane encjami, w realnym pliku JSON użyj zwykłych nawiasów):

{
  "mcpServers": {
    "supabase": {
      "type": "http",
      "url": "https://mcp.supabase.com/mcp?project_ref=${SUPABASE_PROJECT_REF}&read_only=true",
      "headers": {
        "Authorization": "Bearer ${SUPABASE_ACCESS_TOKEN}"
      }
    }
  }
}

Nagłówek Authorization jest potrzebny tylko przy nieinteraktywnym uwierzytelnianiu tokenem (np. CI). Przy zwykłej pracy z terminala wystarczy claude mcp add --transport http i logowanie OAuth przy pierwszym połączeniu.

Weryfikacja

Sprawdź, czy agent widzi bazę, prostym poleceniem:

pokaz mi wszystkie tabele w bazie danych

Claude Code powinno wyświetlić listę tabel z Twojego projektu Supabase.

Przykładowe komendy

  • „Pokaż wszystkie tabele w bazie danych" — listowanie schematu.
  • „Sprawdź, czy istnieją duplikaty w tabeli X" — analiza i debugging (tylko odczyt).
  • „Wygeneruj typy TypeScript dla wszystkich tabel" — automatyczne generowanie typów.
  • „Utwórz migrację dodającą kolumnę created_at" — zarządzanie migracjami (poza trybem read-only).

Wskazówka: operacje zapisu — tworzenie tabel, migracje, modyfikacje danych — wymagają wyłączenia trybu read-only. Włączaj go świadomie i wyłącznie na bazie deweloperskiej.

Wdrożenie u Was

Chcecie, żeby tak pracował cały Wasz zespół?

Akademia to materiały. Wdrożenie to dwa kwartały na Waszym kodzie — z pomiarem efektu w DEVLens. 30 minut wystarczy, żeby sprawdzić, czy ma to u Was sens.