Skip to content

Supabase

The Supabase skill gives Claude access to your Supabase project’s data layer. Claude can query and modify rows through PostgREST, call database functions, invoke edge functions, and list auth users — useful for content pipelines, data sync workflows, and seeding test data.

FieldValue
IDsupabase
Categorygeneral
Required env varsSUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY
Optional env varsSUPABASE_ALLOWED_TABLES, SUPABASE_ALLOWED_FUNCTIONS
ToolDescription
supabase_queryQuery rows from a table with PostgREST filters, ordering, and limits
supabase_countCount rows in a table, optionally with filters
supabase_insertInsert or upsert rows into a table
supabase_updateUpdate rows matching filters (filters required)
supabase_deleteDelete rows matching filters (filters required)
supabase_rpcCall a database function (stored procedure)
supabase_invoke_functionInvoke an edge function by name
supabase_list_usersList auth users (IDs, emails, metadata)
supabase_list_tablesList public tables with row counts
Terminal window
export SUPABASE_URL="https://your-project.supabase.co"
export SUPABASE_SERVICE_ROLE_KEY="your-service-role-key"
# Strongly recommended: bound what the agent can touch
export SUPABASE_ALLOWED_TABLES="games,profiles,course_modules"
export SUPABASE_ALLOWED_FUNCTIONS="get_table_counts,agent-gateway"

Beyond the optional allowlists, the skill enforces:

  • Identifier validation — table and function names must be bare identifiers; path traversal and query injection in names are rejected.
  • Filter encoding — PostgREST filter values are URL-encoded, so a single filter string cannot smuggle additional query parameters.
  • Mandatory filters on writessupabase_update and supabase_delete require at least one filter to prevent accidental full-table modification.

Content generation workflow:

  • seed — Insert generated content rows into staging tables
  • verify — Query back inserted rows and validate counts

Data sync workflow:

  • extract — Query source tables with filters
  • load — Upsert transformed rows into destination tables