Salta l'installazione. Attivo in meno di 2 minuti.
Avvia una prova gratuita su cloud.anythingmcp.com, aggiungi Supabase con un clic, poi punta il tuo client AI (Claude, ChatGPT, Copilot o Cursor) all'endpoint MCP generato. Niente Docker, niente git clone, nessuna esperienza di sviluppo richiesta.
In breve
Fai curare alla tua AI i tuoi progetti Supabase: elenca i progetti e controllane lo stato, esplora schemi e tabelle, esegui SQL in sola lettura, leggi log, advisor di sicurezza e prestazioni, Edge Functions, migrazioni, branch e bucket di Storage. Tramite la Management API con un personal access token.
Prova a chiedere
Prompt di esempio per Supabase
Clicca su un prompt per copiarlo. Incollalo in Claude, ChatGPT, Cursor, Gemini, Copilot o OpenClaw per eseguirlo contro questo connettore.
Claude è un'AI e può sbagliare. Verifica sempre le risposte.
💡 Niente installazione? Vai direttamente su cloud.anythingmcp.com. Accedi, clicca Connectors → Supabase, inserisci le credenziali, genera una MCP API key e hai finito. Niente Docker, niente
git clone, niente server locale.
Supabase
Fai curare alla tua AI i tuoi progetti Supabase: elenca i progetti e controllane lo stato, esplora schemi e tabelle, esegui SQL in sola lettura, leggi log, advisor di sicurezza e prestazioni, Edge Functions, migrazioni, branch e bucket di Storage. Tramite la Management API con un personal access token.
Setup
- Nella dashboard di Supabase apri il menu dell'account → Account preferences → Access Tokens (oppure vai direttamente su https://supabase.com/dashboard/account/tokens) e clicca su Generate new token.
- Meglio un scoped token: scegli l'organizzazione e i progetti che l'AI può vedere e dai a ogni funzionalità Read (o Read-write solo dove deve modificare qualcosa). I tool qui usano Projects, Project Settings, Database, Migrations, Backups, Edge Functions, API Keys (non API Key Secrets), Logs, Usage Analytics, Advisors, Storage, Development Branches e Organizations.
- Imposta una scadenza (al massimo un anno) e copia il token. Inizia con
sbp_e Supabase lo mostra una sola volta. - Inserisci il token in
SUPABASE_ACCESS_TOKEN, senza la parola Bearer, poi installa il connettore. - Comincia con
supabase_list_projects: elenca ogni progetto raggiungibile dal token, con il suo stato e il suo ref. Il ref (le 20 lettere minuscole inhttps://<ref>.supabase.co) è ciò che serve a tutti gli altri tool.
Modificare l'accesso in seguito: i permessi di un token non si possono cambiare dopo la creazione. Per ampliarli o ridurli crea un nuovo token ed elimina quello vecchio. Un token legacy (senza scope) ha invece il tuo accesso completo a tutte le organizzazioni.
Solo lettura: dai a uno scoped token solo Read su ogni funzionalità. Con Database su Read, anche supabase_execute_sql esegue il suo SQL in sola lettura. Nessun altro tool modifica dati: le domande di tutti i giorni passano da supabase_run_read_only_sql, che esegue un'istruzione come utente del database in sola lettura e taglia i risultati oltre 200 KB.
Disattivati all'installazione: supabase_execute_sql. Esegue SQL come postgres con pieni diritti, quindi DDL, scritture e grant hanno effetto subito e non si possono annullare. Attivalo solo se l'AI deve modificare il database; ti mostra ogni istruzione e aspetta la tua conferma. Per le modifiche allo schema che devono stare sotto controllo di versione, il posto giusto è il tuo flusso di migrazioni.
La vista del proprietario del progetto: il connettore lavora tramite la Management API di Supabase, non come utente dell'app, quindi non passa dalla REST API del progetto né dalla row level security. supabase_list_api_keys nomina ogni chiave ma mostra il valore solo di quelle pubbliche; le secret key e la vecchia chiave service_role sono elencate senza valore di proposito, e nessun tool le rivela. Nemmeno il codice delle Edge Functions viene scaricato.
Progetti in pausa: i progetti Free vanno in pausa dopo una settimana senza attività e mostrano lo stato INACTIVE. I tool del database falliscono finché non ripristini il progetto dalla dashboard. Quando un'app segnala errori, esegui prima supabase_get_project_health.
Log e advisor: senza un intervallo di tempo supabase_query_logs cerca solo nell'ultimo minuto; un intervallo può coprire al massimo 24 ore e deve rientrare nella conservazione dei log del tuo piano (1 giorno su Free, 7 su Pro, 28 su Team). supabase_get_security_advisors e supabase_get_performance_advisors eseguono gli stessi controlli della pagina Advisors della dashboard; risolvi prima i risultati ERROR, soprattutto le tabelle esposte senza row level security. I branch di anteprima (supabase_list_branches) richiedono un piano a pagamento.
Limiti: Supabase consente 120 richieste alla Management API al minuto per utente ed endpoint (tutti i token di un utente condividono il limite) e 30 al minuto per log e dati di utilizzo. Oltre il limite risponde 429 per il resto del minuto: attendi un minuto e riprova.
Errori comuni: 401 "Invalid access token" significa che il token è sbagliato, scaduto o è stato eliminato: creane uno nuovo in Access Tokens. 403 significa che il token non può farlo: uno scoped token indica in missing_permissions cosa manca, quindi crea un nuovo token che lo includa. 404 è un ref di progetto sconosciuto, o un progetto fuori dalle organizzazioni del token. 402 sui log significa che la quota di utilizzo dell'organizzazione è esaurita. Un'istruzione SQL che fallisce torna con il messaggio di Postgres, per esempio "relation "orders" does not exist" quando una tabella non è qualificata con il suo schema (public.orders).
Il connettore non crea, mette in pausa, ripristina o elimina progetti, non pubblica Edge Functions, non gestisce secret, configurazione dell'autenticazione, domini personalizzati, restrizioni di rete o fatturazione e non legge le tabelle della tua app tramite PostgREST.
Prerequisiti: SUPABASE_ACCESS_TOKEN
Installazione locale del connettore
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Apri http://localhost:3000/connectors/store, scegli Supabase e inserisci le variabili elencate nei Prerequisiti.
Tool disponibili
| Tool | What it does |
|---|---|
supabase_list_projects | List every project the token can reach: ref, name, organization_slug, region, status (ACTIVE_HEALTHY, INACTIVE when paused, COMING_UP… |
supabase_list_organizations | List the organizations the token can reach, with their slug and name |
supabase_get_organization | Get one organization by slug, including its plan (free, pro, team, enterprise) |
supabase_get_project | Get one project: name, ref, organization, region, status, created_at and database host and Postgres version |
supabase_get_project_health | Check the health of a project's services: for each one name, status (ACTIVE_HEALTHY, COMING_UP, UNHEALTHY) and error or info |
supabase_run_read_only_sql | Run one SQL statement as the read-only database user and return the rows as JSON objects |
supabase_execute_sql | Run SQL with full rights (as postgres): DDL, inserts, updates, deletes, grants |
supabase_list_schemas | List the database's schemas with their owner and number of tables, leaving out Postgres' own (pg_*, information_schema) |
supabase_list_tables | List the tables, views and materialized views of one or more schemas: schema, name, kind, whether row level security is on, estimated row… |
supabase_describe_table | Describe one table or view: columns (name, type, nullable, default, comment), constraints (primary key, foreign keys, unique, check, with… |
supabase_list_extensions | List the Postgres extensions installed in the database: name, version and schema (on Supabase usually extensions) |
supabase_list_migrations | List the migrations recorded for the database (by the Supabase CLI or the dashboard): version (timestamp) and name, oldest first |
supabase_list_backups | List the project's database backups: whether point-in-time recovery is on, and each backup's status and time |
supabase_generate_typescript_types | Generate TypeScript types for the database schema, as the Supabase CLI does: one string with a Database type covering tables, views… |
supabase_list_edge_functions | List the project's Edge Functions: slug, name, status, version, verify_jwt, entrypoint path and when they were created and updated (epoch… |
supabase_get_edge_function | Get one Edge Function by slug: status, version, verify_jwt, entrypoint and import map paths, created and updated times |
supabase_list_api_keys | List the project's API keys: id, name, type (publishable, secret or legacy), prefix and description |
supabase_query_logs | Query the project's logs with SQL (ClickHouse dialect) over one unified logs table: filter on source (edge_logs, postgres_logs, auth_logs… |
supabase_get_api_usage | Get request counts per time bucket for the project's REST, Auth, Storage and Realtime APIs over a recent interval |
supabase_get_security_advisors | Run the security advisor (database linter) on the project: findings such as tables without row level security, exposed auth.users, mutable… |
supabase_get_performance_advisors | Run the performance advisor on the project: findings such as unindexed foreign keys, unused or duplicate indexes, RLS policies that… |
supabase_list_branches | List the project's preview branches (branching, a paid feature): id, name, project_ref of the branch, git_branch, pr_number, is_default… |
supabase_get_branch | Get one preview branch of a project by its name: its own project ref, git branch, pull request number, status and whether it is persistent |
supabase_list_storage_buckets | List the project's Storage buckets: id, name, owner, whether public, and created and updated times |
Esempi di prompt
- "Quali dei miei progetti Supabase non sono in salute in questo momento, e cosa non va?"
- "Esegui il security advisor sul progetto Acme Shop e dimmi quali tabelle sono esposte senza row level security."
- "Quanti ordini sono stati creati ogni giorno la settimana scorsa in public.orders del progetto Acme Shop?"
- "Mostrami gli errori di Postgres dell'ultima ora nei log di Acme Shop e spiegami da cosa sono causati."
Prossimi passi
Questa guida ti è stata utile?