🗄️

Supabase

Work with Supabase Postgres, auth, and storage for app backends.

Category: Database
Difficulty: Medium
Rank: #7

Quick Configuration

Choose the setup that matches your environment.

Before You Start

  • Confirm you have the account, endpoint, or API key required for Supabase.
  • Start with minimum scopes and read-only access where possible.
  • Keep secrets in environment variables instead of hardcoding them in JSON.
Last verified: 2026-06-13
Environment: Remote Supabase MCP (https://mcp.supabase.com/mcp) over HTTP with OAuth, read-only mode
Install command: Remote MCP — add the URL below and complete OAuth in your client

Local config

JSON
Local config json
{
  "supabase": {
    "type": "http",
    "url": "https://mcp.supabase.com/mcp?project_ref=<project-ref>&read_only=true"
  }
}

After copying

Check the Supabase JSON before running it in OpenClaw, then verify the server with a real prompt.

Verify prompt

List the tables in the public schema and describe the most important ones.

Expected success output

You should see your project public-schema tables with column descriptions, read-only.

Common Pitfalls & Fixes

  • ⚠️ Watch out: Service role keys vs anon keys, RLS policies, and environment separation.
  • 🔑 Always store API keys in environment variables, never hardcode them in JSON.
  • 🛡️ Start with read-only scopes if available to verify connection safely.

Security checklist

  • Keep read_only=true by default; queries run as a read-only Postgres user and mutating tools are disabled.
  • Scope to one project via project_ref and avoid exposing production data to automated sessions.

Common errors

Error Cause Fix
Authorization required The client has not completed the Supabase OAuth flow. Open the MCP connection in your client, finish the OAuth sign-in, then retry.
Project not found The <project-ref> placeholder was not replaced. Copy your Project ID from Project Settings -> General and put it in the URL.
Permission denied on write read_only=true blocks mutations by design. Remove read_only only when you intend to write, and prefer a least-privilege project.

Example Prompts

Once connected, try these prompts to test capabilities:

  • List tables in the public schema and describe the most important ones.
  • Check RLS policies on the users table and explain the access rules.
  • Draft a safe migration plan for adding a new column with minimal downtime.

Verification Checklist

  • Run 1-2 real prompts to confirm Supabase returns usable data.
  • Check that error messages are clear enough for troubleshooting.
  • Document the required scopes, dependencies, and env vars for future reuse.