# Supabase

MCP server for Supabase — 31 tools for database

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add node2flow/supabase

# Browse available tools
npx -y @smithery/cli@latest tool list node2flow/supabase

# Get full schema for a tool
npx -y @smithery/cli@latest tool get node2flow/supabase sb_list_records

# Call a tool
npx -y @smithery/cli@latest tool call node2flow/supabase sb_list_records '{}'
```

## Direct MCP Connection

Endpoint: `https://supabase--node2flow.run.tools`

**Required config:**
- `SUPABASE_URL` (query) — https://your-project.supabase.co

**Optional config:**
- `SUPABASE_ACCESS_TOKEN` (query) — Personal access token from dashboard
- `SUPABASE_SERVICE_ROLE_KEY` (query) — Service role key from Settings → API

## Tools (31)

- `sb_list_records` — List records from a Supabase table/view with PostgREST filtering, column selection, ordering, and pagination. Filter sy…
- `sb_insert_records` — Insert one or more records into a Supabase table. Pass a single object or an array of objects. Use return=representatio…
- `sb_update_records` — Update records in a Supabase table matching a filter. Filter is REQUIRED to prevent accidental full-table updates. Use …
- `sb_upsert_records` — Upsert (insert or update on conflict) records in a Supabase table. Uses merge-duplicates by default. Specify on_conflic…
- `sb_delete_records` — Delete records from a Supabase table matching a filter. Filter is REQUIRED to prevent accidental full-table deletion. U…
- `sb_call_function` — Call a stored PostgreSQL function (RPC) in Supabase. Use method=GET for immutable functions, POST for volatile ones (de…
- `sb_list_buckets` — List all storage buckets in the Supabase project. Returns bucket name, public status, size limits, and allowed MIME typ…
- `sb_create_bucket` — Create a new storage bucket in Supabase. Set public=true for publicly accessible files. Optionally set file size limit …
- `sb_delete_bucket` — Delete a storage bucket from Supabase. The bucket must be empty before deletion. Use sb_delete_objects to remove files …
- `sb_list_objects` — List objects (files) in a Supabase storage bucket. Supports prefix filtering, pagination, and search.
- `sb_delete_objects` — Delete one or more objects from a Supabase storage bucket. Provide an array of file paths to delete.
- `sb_create_signed_url` — Create a temporary signed URL for a private storage object. The URL expires after the specified duration.
- `sb_list_users` — List all users in the Supabase Auth system. Returns paginated results with user details including email, metadata, and …
- `sb_get_user` — Get a single user by ID from Supabase Auth. Returns full user details including metadata, identities, and last sign-in.
- `sb_create_user` — Create a new user in Supabase Auth. Set email_confirm=true to skip email verification. Use app_metadata for admin-contr…
- `sb_update_user` — Update a user in Supabase Auth. Can change email, phone, password, metadata, or ban the user.
- `sb_delete_user` — Delete a user from Supabase Auth. This permanently removes the user and all their auth data.
- `sb_list_projects` — List all Supabase projects in your account. Returns project name, ref, region, status, and database info. Requires SUPA…
- `sb_get_project` — Get details of a specific Supabase project by reference ID. Returns name, region, status, database host, and API URL.
- `sb_create_project` — Create a new Supabase project. Requires organization ID, region, and database password. Project creation takes a few mi…
- `sb_pause_project` — Pause a Supabase project. Paused projects stop all services (database, auth, storage) and free up resources. Free tier …
- `sb_restore_project` — Restore a paused Supabase project. Restarts all services including database, auth, and storage.
- `sb_run_query` — Execute a SQL query on a Supabase project database via the Management API. Supports SELECT, INSERT, UPDATE, DELETE, CRE…
- `sb_list_migrations` — List database migrations for a Supabase project. Shows migration version, name, and status.
- `sb_get_typescript_types` — Generate TypeScript type definitions from the Supabase project database schema. Useful for type-safe database access.
- `sb_list_functions` — List all Edge Functions deployed to a Supabase project. Returns function slug, name, status, and creation date.
- `sb_get_function` — Get details of a specific Edge Function by slug. Returns function metadata, status, version, and entry point.
- `sb_list_secrets` — List all secrets (environment variables) for a Supabase project. Returns secret names only (values are never exposed).
- `sb_create_secrets` — Create or update secrets (environment variables) for a Supabase project. If a secret with the same name exists, it will…
- `sb_delete_secrets` — Delete secrets (environment variables) from a Supabase project by name.
- `sb_list_api_keys` — List API keys for a Supabase project. Returns anon key, service_role key, and any custom keys with their names and role…

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get node2flow/supabase <tool-name>
```

## Resources

- `supabase://server-info` — Connection status and available tools for this Supabase MCP server

## Prompts (2)

- `explore-database` — Guide for exploring and querying a Supabase database
- `manage-project` — Guide for managing Supabase projects, storage, users, and secrets

---

License: MIT
