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:

Laptop z dashboardem bazy danych i edytorem SQL, obok terminal na drugim ekranie
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 · Co to daje

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 — bez przełączania się między terminalem, panelem i klientem SQL.

Dokumentacja MCP Supabase opisuje dziś przede wszystkim serwer zdalny (hosted) — nie stawiasz żadnego lokalnego procesu, a cały zakres uprawnień ustawiasz parametrami w samym adresie serwera: tryb tylko do odczytu, ograniczenie do jednego projektu, wybór grup narzędzi. To ważne, bo bez ograniczenia zakresu serwer widzi wszystkie projekty w organizacji.

Co agent robi na bazie

  • „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).

Uwaga (bezpieczeństwo): serwer MCP ma realny dostęp do bazy. Podpinaj go wyłącznie pod środowiska deweloperskie — jak domyślnie ograniczyć mu uprawnienia, pokazujemy w części o konfiguracji.

02 / Instalacja · Serwer zdalny

Jedno polecenie i logowanie w przeglądarce.

Zdalny serwer MCP działa po HTTP — bez lokalnego procesu npx i bez instalowania Node.js. Dodajesz go jednym poleceniem:

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

Domyślną autoryzacją jest OAuth (dynamic client registration): przy pierwszym połączeniu logujesz się przez przeglądarkę i wybierasz organizację — bez ręcznego generowania tokenu. 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.

Inne drogi podpięcia

  • 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 — bez ręcznego wpisu w pliku konfiguracyjnym. Konektor działa na płatnych planach Claude (Pro, Team, Enterprise, Max).
  • 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.

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.

03 / Bezpieczeństwo · Konfiguracja produkcyjna

Read-only, jeden projekt, mniej narzędzi.

Zakres serwera 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"

Project ref bazy znajdziesz w panelu: Settings → General → Reference ID. W trybie tylko do odczytu narzędzia zapisu (m.in. apply_migration i deploy_edge_function) znikają z listy, a execute_sql działa jako użytkownik Postgresa bez prawa zapisu.

Mniej narzędzi dla agenta

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.

CI i wpis w pliku konfiguracyjnym

W scenariuszach nieinteraktywnych (np. CI) interaktywne logowanie odpada — personal access token generujesz w panelu Supabase (Settings → Access Tokens → Create new token) i podajesz nagłówkiem Authorization. Wpis w pliku konfiguracyjnym (Claude Desktop albo plik MCP Claude Code) to zwykły serwer HTTP:

{
  "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 uwierzytelnianiu tokenem — przy zwykłej pracy z terminala wystarczy logowanie przy pierwszym połączeniu.

Uwaga: operacje zapisu — tworzenie tabel, migracje, modyfikacje danych — wymagają wyłączenia trybu read-only. Rób to świadomie i tylko na bazie, którą możesz w każdej chwili odtworzyć.

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. Audyt 90 minut wystarczy, żeby sprawdzić, czy ma to u Was sens.