Supabase

MCP server for Supabase — 31 tools for database CRUD, storage, auth admin, project management, edge functions, and secrets via REST + Management APIs.

Community: Submitted by a user or imported; check the owner before granting accessOnlineAPI key requiredGlobalFreeCan modify data

What it can do

  • Sb List Records: List records from a Supabase table/view with PostgREST filtering, column selection, ordering, and pagination. Filter syntax: age=gt.18, status=eq.active, name=ilike.*john*, id=in.(1,2
  • Sb Insert Records: Insert one or more records into a Supabase table. Pass a single object or an array of objects. Use return=representation to get the created records back.
  • Sb Update Records: Update records in a Supabase table matching a filter. Filter is REQUIRED to prevent accidental full-table updates. Use return=representation to see what changed.

What data it sees

Do you need an account

An API key from the service settings is required

MCP server for Supabase — 31 tools for database CRUD, storage, auth admin, project management, edge functions, and secrets via REST + Management APIs.

Features

  • Database CRUD with PostgREST filtering, resource embedding (JOINs), and RPC
  • Storage bucket and object management with signed URLs
  • Auth admin for user creation, updates, bans, and deletion
  • Project lifecycle management (create, pause, restore)
  • Execute SQL queries and generate TypeScript types
  • Edge function inspection and secret/API key management

31 Tools

  • Database REST (6): sb_list_records, sb_insert_records, sb_update_records, sb_upsert_records, sb_delete_records, sb_call_function
  • Storage (6): sb_list_buckets, sb_create_bucket, sb_delete_bucket, sb_list_objects, sb_delete_objects, sb_create_signed_url
  • Auth Admin (5): sb_list_users, sb_get_user, sb_create_user, sb_update_user, sb_delete_user
  • Projects (5): sb_list_projects, sb_get_project, sb_create_project, sb_pause_project, sb_restore_project
  • Database Management (3): sb_run_query, sb_list_migrations, sb_get_typescript_types
  • Edge Functions (2): sb_list_functions, sb_get_function
  • Secrets & Keys (4): sb_list_secrets, sb_create_secrets, sb_delete_secrets, sb_list_api_keys

Configuration

  • SUPABASE_URL — Project URL (e.g. https://xxx.supabase.co) — for database, storage, auth tools
  • SUPABASE_SERVICE_ROLE_KEY — Service role key (bypasses RLS) — from Settings → API
  • SUPABASE_ACCESS_TOKEN — Personal access token — for project management tools (from dashboard → Account → Access Tokens)
Server tool list (31)

Raw names from tools/list. Only developers need these.

sb_list_recordsList records from a Supabase table/view with PostgREST filtering, column selection, ordering, and pagination. Filter syntax: age=gt.18, status=eq.active, name=ilike.*john*, id=in.(1,2,3). Resource embedding (JOINs): select=*,orders(*)
sb_insert_recordsInsert one or more records into a Supabase table. Pass a single object or an array of objects. Use return=representation to get the created records back.
sb_update_recordsUpdate records in a Supabase table matching a filter. Filter is REQUIRED to prevent accidental full-table updates. Use return=representation to see what changed.
sb_upsert_recordsUpsert (insert or update on conflict) records in a Supabase table. Uses merge-duplicates by default. Specify on_conflict for non-primary-key columns.
sb_delete_recordsDelete records from a Supabase table matching a filter. Filter is REQUIRED to prevent accidental full-table deletion. Use sb_list_records first to verify which records will be deleted.
sb_call_functionCall a stored PostgreSQL function (RPC) in Supabase. Use method=GET for immutable functions, POST for volatile ones (default).
sb_list_bucketsList all storage buckets in the Supabase project. Returns bucket name, public status, size limits, and allowed MIME types.
sb_create_bucketCreate a new storage bucket in Supabase. Set public=true for publicly accessible files. Optionally set file size limit and allowed MIME types.
sb_delete_bucketDelete a storage bucket from Supabase. The bucket must be empty before deletion. Use sb_delete_objects to remove files first.
sb_list_objectsList objects (files) in a Supabase storage bucket. Supports prefix filtering, pagination, and search.
sb_delete_objectsDelete one or more objects from a Supabase storage bucket. Provide an array of file paths to delete.
sb_create_signed_urlCreate a temporary signed URL for a private storage object. The URL expires after the specified duration.
sb_list_usersList all users in the Supabase Auth system. Returns paginated results with user details including email, metadata, and creation date.
sb_get_userGet a single user by ID from Supabase Auth. Returns full user details including metadata, identities, and last sign-in.
sb_create_userCreate a new user in Supabase Auth. Set email_confirm=true to skip email verification. Use app_metadata for admin-controlled data (roles, permissions).
sb_update_userUpdate a user in Supabase Auth. Can change email, phone, password, metadata, or ban the user.
sb_delete_userDelete a user from Supabase Auth. This permanently removes the user and all their auth data.
sb_list_projectsList all Supabase projects in your account. Returns project name, ref, region, status, and database info. Requires SUPABASE_ACCESS_TOKEN.
sb_get_projectGet details of a specific Supabase project by reference ID. Returns name, region, status, database host, and API URL.
sb_create_projectCreate a new Supabase project. Requires organization ID, region, and database password. Project creation takes a few minutes.
sb_pause_projectPause a Supabase project. Paused projects stop all services (database, auth, storage) and free up resources. Free tier projects auto-pause after inactivity.
sb_restore_projectRestore a paused Supabase project. Restarts all services including database, auth, and storage.
sb_run_queryExecute a SQL query on a Supabase project database via the Management API. Supports SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, and all SQL. Returns query results as JSON.
sb_list_migrationsList database migrations for a Supabase project. Shows migration version, name, and status.
sb_get_typescript_typesGenerate TypeScript type definitions from the Supabase project database schema. Useful for type-safe database access.
sb_list_functionsList all Edge Functions deployed to a Supabase project. Returns function slug, name, status, and creation date.
sb_get_functionGet details of a specific Edge Function by slug. Returns function metadata, status, version, and entry point.
sb_list_secretsList all secrets (environment variables) for a Supabase project. Returns secret names only (values are never exposed).
sb_create_secretsCreate or update secrets (environment variables) for a Supabase project. If a secret with the same name exists, it will be overwritten.
sb_delete_secretsDelete secrets (environment variables) from a Supabase project by name.
sb_list_api_keysList API keys for a Supabase project. Returns anon key, service_role key, and any custom keys with their names and roles.