← /connect/

Connect Cursor to Supabase

Point Cursor at a Supabase table as a folder. Cmd+K a row or sweep the table in Agent mode, review every change as a diff, and keys, schemas, and auth stay locked. No MCP. See it run on your content → or download it free

Editing content in Supabase means a SQL console and a steady hand, or a service-role script that bypasses Row-Level Security and writes with no review at all. Cursor would rather have a folder, and you would rather read a diff. The pass you want, trim every blurb to 60 words and fill the empty meta_description, should not be a raw UPDATE against production.

Scratch pulls a table down, one file per row. Cursor edits the prose columns on your laptop; Scratch shows each change as a diff; it commits only the rows you approve, through the standard Postgres driver. Keys, constraints, and the auth and storage schemas stay untouched, so the parts of the database you cannot afford to nudge never enter the picture.

How it works

  1. Scratch pulls a table into files. Pick a table and each row becomes a local file on your laptop, prose columns laid out to edit.
  2. Cursor edits the rows. Open the folder in Cursor. Cmd+K a few rows to settle the prompt, then turn on Agent mode for the table. Rewrite every product blurb to under 60 words and fill the empty meta_description column. Cursor works the files, never the live table.
  3. You review every diff and publish. Scratch shows each changed column beside the original, word by word. Approve what holds up, and Scratch updates only those rows through the Postgres driver.

What people use it for

The content edits that turn into hand-written SQL because there is no CMS in front:

Cmd+K 50 rows to feel the loop, then let Agent mode take the table.

Why not an MCP server?

A Supabase MCP server, or a service-role script, hands Cursor a live connection to your database. One bad query rewrites every row at once, with no review in between and Row-Level Security bypassed.

Scratch gives Cursor the same full read and write access against a local copy instead. The write-back is lifted out and handed to you. Cursor can change anything; only you can commit it. On a production database, that gap is the whole point.

What Cursor edits in Supabase

Primary keys, foreign keys, timestamps, computed columns, and check constraints stay where they are. The auth and storage schemas are excluded from discovery, so user accounts and uploaded files are out of scope, and validators enforce your column constraints so Cursor cannot write a value the database would reject. The full picture lives on Scratch for Supabase.

Questions people ask

Is this an MCP server or a direct database connection?

Neither. An MCP or a service-role script hands Cursor a live write path to your database. Scratch keeps it. Cursor gets the same access, and writing back is a separate step you approve, one row at a time.

Does it change my schema or my keys?

No. Primary keys, foreign keys, timestamps, computed columns, and check constraints stay locked, and the auth and storage schemas are excluded entirely. Cursor edits content columns only, and validators reject anything the database would.

Can I roll a change back after it writes?

Yes. Scratch keeps the original beside the rewrite, so every written row reverts per row. You decide which version stays.

How is this different from a raw UPDATE or a migration?

A hand-written UPDATE does exactly what you spelled out and nothing smarter, and it writes straight to the live table with no row-by-row review. Cursor handles the rows a single statement cannot, and Scratch still holds every change for review before it commits.

Can it handle a whole table?

Yes, that is the use case. Cmd+K 50 rows to feel the flow, then let Agent mode take the whole table.

Do I need to be technical?

Connecting Supabase takes a connection string, so the setup is a developer step. After that the loop is the same as any Scratch source: edit in Cursor, then approve the diffs.

See it on your own table

The fastest way to trust it is to watch it run on your data. See it run on your Supabase tables →, or download Scratch free and take the first pass yourself.

See it run on your own content.

Curtis runs these calls himself. Thirty minutes, no pitch, no slides. He connects your platforms live and shows you your content as an editable, reviewable diff. Bring anything sticky: a refresh, a migration, or a rebrand.

See it run on your content → or download it free