smithery/sickn33

supabase-automation

Automate Supabase database queries, table management, project administration, storage, edge functions, and SQL execution via Rube MCP (Composio). Always search tools first for current schemas.

Installation

$ npx skills add smithery/sickn33 --skill supabase-automation

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/sickn33 · top by installs.

npx skills add smithery/sickn33

Browse all from smithery/sickn33

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 13,184 B
  • docs SUMMARY.md 219 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Supabase Automation via Rube MCP

Automate Supabase operations including database queries, table schema inspection, SQL execution, project and organization management, storage buckets, edge functions, and service health monitoring through Composio's Supabase toolkit.

Prerequisites

  • Rube MCP must be connected (RUBESEARCHTOOLS available)
  • Active Supabase connection via RUBEMANAGECONNECTIONS with toolkit supabase
  • Always call RUBESEARCHTOOLS first to get current tool schemas

Setup

Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.

  1. Verify Rube MCP is available by confirming RUBESEARCHTOOLS responds
  2. Call RUBEMANAGECONNECTIONS with toolkit supabase
  3. If connection is not ACTIVE, follow the returned auth link to complete Supabase authentication
  4. Confirm connection status shows ACTIVE before running any workflows

Core Workflows

1. Query and Manage Database Tables

When to use: User wants to read data from tables, inspect schemas, or perform CRUD operations

Tool sequence:

  1. SUPABASELISTALLPROJECTS - List projects to find the target projectref [Prerequisite]
  2. SUPABASELISTTABLES - List all tables and views in the database [Prerequisite]
  3. SUPABASEGETTABLE_SCHEMAS - Get detailed column types, constraints, and relationships [Prerequisite for writes]
  4. SUPABASESELECTFROM_TABLE - Query rows with filtering, sorting, and pagination [Required for reads]
  5. SUPABASEBETARUNSQLQUERY - Execute arbitrary SQL for complex queries, inserts, updates, or deletes [Required for writes]

Key parameters for SELECTFROMTABLE:

  • project_ref: 20-character lowercase project reference
  • table: Table or view name to query
  • select: Comma-separated column list (supports nested selections and JSON paths like profile->avatar_url)
  • filters: Array of filter objects with column, operator, value
  • order: Sort expression like created_at.desc
  • limit: Max rows to return (minimum 1)
  • offset: Rows to skip for pagination

PostgREST filter operators:

  • eq, neq: Equal / not equal
  • gt, gte, lt, lte: Comparison operators
  • like, ilike: Pattern matching (case-sensitive / insensitive)
  • is: IS check (for null, true, false)
  • in: In a list of values
  • cs, cd: Contains / contained by (arrays)
  • fts, plfts, phfts, wfts: Full-text search variants

Key parameters for RUNSQLQUERY:

  • ref: Project reference (20 lowercase letters, pattern ^[a-z]{20}$)
  • query: Valid PostgreSQL SQL statement
  • read_only: Boolean to force read-only transaction (safer for SELECTs)

Pitfalls:

  • project_ref must be exactly 20 lowercase letters (a-z only, no numbers or hyphens)
  • SELECTFROMTABLE is read-only; use RUNSQLQUERY for INSERT, UPDATE, DELETE operations
  • For PostgreSQL array columns (text[], integer[]), use ARRAY['item1', 'item2'] or '{"item1", "item2"}' syntax, NOT JSON array syntax '["item1", "item2"]'
  • SQL identifiers that are case-sensitive must be double-quoted in queries
  • Complex DDL operations may timeout (~60 second limit); break into smaller queries
  • ERROR 42P01 "relation does not exist" usually means unquoted case-sensitive identifiers
  • ERROR 42883 "function does not exist" means you are calling non-standard helpers; prefer information_schema queries

2. Manage Projects and Organizations

When to use: User wants to list projects, inspect configurations, or manage organizations

Tool sequence:

  1. SUPABASELISTALL_ORGANIZATIONS - List all organizations (IDs and names) [Required]
  2. SUPABASEGETSINFORMATIONABOUTTHE_ORGANIZATION - Get detailed org info by slug [Optional]
  3. SUPABASELISTMEMBERSOFAN_ORGANIZATION - List org members with roles and MFA status [Optional]
  4. SUPABASELISTALL_PROJECTS - List all projects with metadata [Required]
  5. SUPABASEGETSPROJECTSPOSTGRES_CONFIG - Get database configuration [Optional]
  6. SUPABASEGETSPROJECTSAUTH_CONFIG - Get authentication configuration [Optional]
  7. SUPABASEGETPROJECTAPIKEYS - Get API keys (sensitive -- handle carefully) [Optional]
  8. SUPABASEGETSPROJECTSSERVICEHEALTHSTATUS - Check service health [Optional]

Key parameters:

  • ref: Project reference for project-specific tools
  • slug: Organization slug (URL-friendly identifier) for org tools
  • services: Array of services for health check: auth, db, dbpostgresuser, pg_bouncer, pooler, realtime, rest, storage

Pitfalls:

  • LISTALLORGANIZATIONS returns both id and slug; LISTMEMBERSOFANORGANIZATION expects slug, not id
  • GETPROJECTAPI_KEYS returns live secrets -- NEVER log, display, or persist full key values
  • GETSPROJECTSSERVICEHEALTHSTATUS requires a non-empty services array; empty array causes invalidrequest error
  • Config tools may return 401/403 if token lacks required scope; handle gracefully rather than failing the whole workflow

3. Inspect Database Schema

When to use: User wants to understand table structure, columns, constraints, or generate types

Tool sequence:

  1. SUPABASELISTALL_PROJECTS - Find the target project [Prerequisite]
  2. SUPABASELISTTABLES - Enumerate all tables and views with metadata [Required]
  3. SUPABASEGETTABLE_SCHEMAS - Get detailed schema for specific tables [Required]
  4. SUPABASEGENERATETYPESCRIPTTYPES - Generate TypeScript types from schema [Optional]

Key parameters for LIST_TABLES:

  • project_ref: Project reference
  • schemas: Array of schema names to search (e.g., ["public"]); omit for all non-system schemas
  • include_views: Include views alongside tables (default true)
  • include_metadata: Include row count estimates and sizes (default true)
  • includesystemschemas: Include pgcatalog, informationschema, etc. (default false)

Key parameters for GETTABLESCHEMAS:

  • project_ref: Project reference
  • table_names: Array of table names (max 20 per request); supports schema prefix like public.users, auth.users
  • include_relationships: Include foreign key info (default true)
  • include_indexes: Include index info (default true)
  • excludenullvalues: Cleaner output by hiding null fields (default true)

Key parameters for GENERATETYPESCRIPT_TYPES:

  • ref: Project reference
  • included_schemas: Comma-separated schema names (default "public")

Pitfalls:

  • Table names without schema prefix assume public schema
  • rowcount and sizebytes from LIST_TABLES may be null for views or recently created tables; treat as unknown, not zero
  • GETTABLESCHEMAS has a max of 20 tables per request; batch if needed
  • TypeScript types include all tables in specified schemas; cannot filter individual tables

4. Manage Edge Functions

When to use: User wants to list, inspect, or work with Supabase Edge Functions

Tool sequence:

  1. SUPABASELISTALL_PROJECTS - Find the project reference [Prerequisite]
  2. SUPABASELISTALL_FUNCTIONS - List all edge functions with metadata [Required]
  3. SUPABASERETRIEVEA_FUNCTION - Get detailed info for a specific function [Optional]

Key parameters:

  • ref: Project reference
  • Function slug for RETRIEVEAFUNCTION

Pitfalls:

  • LISTALLFUNCTIONS returns metadata only, not function code or logs
  • createdat and updatedat may be epoch milliseconds; convert to human-readable timestamps
  • These tools cannot create or deploy edge functions; they are read-only inspection tools
  • Permission errors may occur without org/project admin rights

5. Manage Storage Buckets

When to use: User wants to list storage buckets or manage file storage

Tool sequence:

  1. SUPABASELISTALL_PROJECTS - Find the project reference [Prerequisite]
  2. SUPABASELISTSALL_BUCKETS - List all storage buckets [Required]

Key parameters:

  • ref: Project reference

Pitfalls:

  • LISTSALLBUCKETS returns bucket list only, not bucket contents or access policies
  • For file uploads, SUPABASERESUMABLEUPLOADSIGNOPTIONSWITHID handles CORS preflight for TUS resumable uploads only
  • Direct file operations may require using proxy_execute with the Supabase storage API

Common Patterns

ID Resolution

  • Project reference: SUPABASELISTALL_PROJECTS -- extract ref field (20 lowercase letters)
  • Organization slug: SUPABASELISTALL_ORGANIZATIONS -- use slug (not id) for downstream org tools
  • Table names: SUPABASELISTTABLES -- enumerate available tables before querying
  • Schema discovery: SUPABASEGETTABLE_SCHEMAS -- inspect columns and constraints before writes

Pagination

  • SUPABASESELECTFROM_TABLE: Uses offset + limit pagination. Increment offset by limit until fewer rows than limit are returned.
  • SUPABASELISTALL_PROJECTS: May paginate for large accounts; follow cursors/pages until exhausted.
  • SUPABASELISTTABLES: May paginate for large databases.

SQL Best Practices

  • Always use SUPABASEGETTABLESCHEMAS or SUPABASELIST_TABLES before writing SQL
  • Use read_only: true for SELECT queries to prevent accidental mutations
  • Quote case-sensitive identifiers: SELECT FROM "MyTable" not SELECT FROM MyTable
  • Use PostgreSQL array syntax for array columns: ARRAY['a', 'b'] not ['a', 'b']
  • Break complex DDL into smaller statements to avoid timeouts

Known Pitfalls

ID Formats

  • Project references are exactly 20 lowercase letters (a-z): pattern ^[a-z]{20}$
  • Organization identifiers come as both id (UUID) and slug (URL-friendly string); tools vary in which they accept
  • LISTMEMBERSOFANORGANIZATION requires slug, not id

SQL Execution

  • BETARUNSQL_QUERY has ~60 second timeout for complex operations
  • PostgreSQL array syntax required: ARRAY['item'] or '{"item"}', NOT JSON syntax '["item"]'
  • Case-sensitive identifiers must be double-quoted in SQL
  • ERROR 42P01: relation does not exist (check quoting and schema prefix)
  • ERROR 42883: function does not exist (use information_schema instead of custom helpers)

Sensitive Data

  • GETPROJECTAPI_KEYS returns service-role keys -- NEVER expose full values
  • Auth config tools exclude secrets but may still contain sensitive configuration
  • Always mask or truncate API keys in output

Schema Metadata

  • rowcount and sizebytes from LIST_TABLES can be null; do not treat as zero
  • System schemas are excluded by default; set includesystemschemas: true to see them
  • Views appear alongside tables unless include_views: false

Rate Limits and Permissions

  • Enrichment tools (API keys, configs) may return 401/403 without proper scopes; skip gracefully
  • Large table listings may require pagination
  • GETSPROJECTSSERVICEHEALTH_STATUS fails with empty services array -- always specify at least one

Quick Reference

Task Tool Slug Key Params
List organizations SUPABASELISTALL_ORGANIZATIONS (none)
Get org info SUPABASEGETSINFORMATIONABOUTTHE_ORGANIZATION slug
List org members SUPABASELISTMEMBERSOFAN_ORGANIZATION slug
List projects SUPABASELISTALL_PROJECTS (none)
List tables SUPABASELISTTABLES project_ref, schemas
Get table schemas SUPABASEGETTABLE_SCHEMAS projectref, tablenames
Query table SUPABASESELECTFROM_TABLE project_ref, table, select, filters
Run SQL SUPABASEBETARUNSQLQUERY ref, query, read_only
Generate TS types SUPABASEGENERATETYPESCRIPTTYPES ref, included_schemas
Postgres config SUPABASEGETSPROJECTSPOSTGRES_CONFIG ref
Auth config SUPABASEGETSPROJECTSAUTH_CONFIG ref
Get API keys SUPABASEGETPROJECTAPIKEYS ref
Service health SUPABASEGETSPROJECTSSERVICEHEALTHSTATUS ref, services
List edge functions SUPABASELISTALL_FUNCTIONS ref
Get edge function SUPABASERETRIEVEA_FUNCTION ref, function slug
List storage buckets SUPABASELISTSALL_BUCKETS ref
List DB branches SUPABASELISTALLDATABASEBRANCHES ref

When to Use

This skill is applicable to execute the workflow or actions described in the overview.

Example

User request:

Automate Supabase database queries, table management, project administration, storage, edge functions, and SQL execution via Rube MCP (Composio).

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.