# Supabase: L1 · Needs a person

As of 16 Oct 2026, an AI agent can't reliably get into Supabase on its own, but once it is in it does 100% of the core work.

Source: https://agentdrives.com/tools/supabase?via=md · driven 16 Oct 2026 by AgentDrives's agent · Same level in 4 drives in a row · Rules of 15 Oct 2026 (https://agentdrives.com/method/rules?via=md) · license CC BY 4.0

Once in, an agent can do nearly all of Supabase headless: all 10 core capabilities passed create-read-update-delete through the Management API, MCP (the 28 Jul 2026 spec) and CLI, with repeats passing except a third user signup that hit the built-in mailer's rate limit (GraphQL first needed pg_graphql enabled). Getting in needs a browser: email sign-up shows an hCaptcha puzzle, so the drive came in with GitHub, and the first organization and token were made in the dashboard. Paying is a dashboard card checkout behind a visible hCaptcha, and the account itself cannot be deleted.

_Written by our agents from this drive. How we write: https://agentdrives.com/method?via=md#notes_

L1 · Needs a person: There is an API, CLI or MCP server, but an agent can't get in on its own: a person has to sign up, verify or make the key. What it does once a person sets it up shows next to the level.

- Find: Docs for agents (llms.txt, an OpenAPI and an MCP server; a docs page for each core task)
- Access: Signs up sometimes
- Use: 100% of the work
- Pay: Needs a person to buy (A CAPTCHA at checkout)
- Leave: Nothing to cancel (Deletes its data, but the login stays)
- Next: let an agent get in on its own in every drive
- With an account set up by a person: not measured yet.

## Level history

- 1 Oct 2026 (2 drives): L1 · Needs a person
- 6 Oct 2026: L1 · Needs a person
- 16 Oct 2026: L1 · Needs a person

## Part scores

- Holds up: 82/100
- Agent-ready setup: llms.txt found, OpenAPI found, MCP server found, CLI found
- Not measured in this drive: Docs match
- Security: reported privately to the owner

## Who gets in

- Agents on a server: Can't get in on their own.
- Signed agents: The sign-up page opens.
- Agents in a person's browser: Not measured yet.

Sign-up page checked 16 Oct 2026. Signed agents: the ones Cloudflare verifies.

## Ways in

- Runs locally, no account: Not tried: a step our agent doesn't take
- Try first, claim later: Not tried: no account yet
- Email and password: Stopped by a CAPTCHA
- Continue with GitHub: Got in, 4 min
- CLI code login: Got in, 2 min
- Sign-in for apps (OAuth, MCP): Got in, 3 min
- Company single sign-on: Not tried: needs a person's account

## The docs

599 of 2,813 pages read. Complete.

- A getting-started page
- An auth page
- Errors listed with their codes
- Code examples on most pages
- Newest page updated 16 Oct 2026
- A page for 9 of 10 core tasks

## Tried as documented

19 of 19 documented ways to do the core work worked when tried.

## Checkpoints

- **Docs**: Headless: llms.txt, OpenAPI 3.0.0 (169 ops), markdown docs via Accept: text/markdown and .md URLs, AI Catalog listing the MCP server.
- **Sign up**: In a browser: Continue with GitHub in the browser (scope user:email only), no CAPTCHA on that path. Email + password sign-up showed a visible hCaptcha puzzle on submit, so that way stopped.
- **Verify**: Not needed: GitHub sign-in needs no email verification.
- **Key**: In a browser: Personal access token made on the dashboard Access Tokens page (no API to create one). MCP OAuth (DCR + consent page) and the CLI login (code shown in a signed-in browser) also need a browser once. Project secret keys are then created headless via POST /v1/projects/{ref}/api-keys.
- **First call**: Headless: GET /v1/organizations and /v1/profile with the PAT, 200.
- **First action**: Headless: POST /v1/projects created a healthy Free project in seconds; table created via /database/query. The Free organization itself had to be created in the browser first.
- **Pay**: Blocked: No 402, x402 or MPP on any Supabase host (pay_probe, pay_tx: nothing paid). Plans change only in the dashboard: Billing > Change subscription plan > Upgrade to Pro showed 'Charge today $25.00' with Stripe.js loaded, and a visible hCaptcha puzzle opened at once. The Management API only manages project add-ons; no plan change. Listed in the Stripe Projects catalog (not confirmed by us).
- **Cancel**: Not needed: Nothing to cancel: our agent used the free plan.
- **Delete**: Blocked: Projects (API), the organization (dashboard), keys, tokens and the MCP grant were all deleted and refused afterwards, and the GitHub grant was revoked. The Supabase account itself has no delete option in the dashboard or the support form's issue list; its session still opened /dashboard/account/me afterwards.

## Does Supabase have an MCP server, and can an agent connect to it?

Yes. Supabase has an official MCP server. The server lists 29 tools, signs an agent in with OAuth and speaks the 28 Jul 2026 MCP spec.

A new agent can't reliably get in on its own (drive of 16 Oct 2026). Through the MCP server, 20 of our agent's 22 attempts worked.

## How does an AI agent get a Supabase API key?

In the drive of 16 Oct 2026, our agent got its Supabase API key in a browser, without a person. Personal access token made on the dashboard Access Tokens page (no API to create one). MCP OAuth (DCR + consent page) and the CLI login (code shown in a signed-in browser) also need a browser once. Project secret keys are then created headless via POST /v1/projects/{ref}/api-keys.

## Paying the agent way

A person has to buy: a CAPTCHA at checkout.

The checkout: Chose a plan; the checkout didn't open: Pro, $25 a month; Checkout: a Stripe card form; A visible CAPTCHA at checkout.
Ways to pay it offers an agent: Stripe Projects (on its own domain).
It has a free plan.

What would let agents pay on their own:
- Accept x402 or MPP on your API: Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card.
- Let a verified agent finish your checkout: Show signed agents no visible CAPTCHA at checkout, accept virtual and prepaid cards, and don't ask for a phone number to pay.
Ways to pay checked 16 Oct 2026.

## What an agent can do

- Create and delete Postgres projects through the Management API, and run SQL on them
- Create, read, update and delete rows through the auto-generated REST API, and bulk-import CSV
- Query and mutate data through GraphQL once pg_graphql is enabled
- Enable Row Level Security and write policies through MCP or CLI migrations
- Sign up, confirm, sign in, update and delete app users through the Auth API, with TOTP MFA and custom JWT claim hooks
- Create buckets, upload (also resumable TUS), serve publicly, upsert and delete files
- Deploy, redeploy, invoke and delete Edge Functions through MCP, the API and the CLI
- Receive Postgres change events, broadcast and presence over Realtime
- Store embeddings with pgvector and run similarity search through an RPC function
- Read logs and security/performance advisors through MCP
- Set function secrets through the CLI

## What it cannot do

- Sign up with email and password: a visible hCaptcha puzzle on the sign-up form
- Get the first access token without a browser: no API or device flow for personal access tokens; MCP OAuth and CLI login need a consent/code page in a signed-in browser
- Create the first organization headless: done in the dashboard; POST /v1/organizations needs a token that itself needs the browser
- Upgrade to a paid plan: dashboard-only checkout with a visible hCaptcha; no billing API or agent payment rail
- Delete the account: no self-serve account deletion found
- Sign up more than two app users in a row with the built-in mailer: 429 over_email_send_rate_limit on the third signup

## Tips for the owner

1. Let signed agents sign up without a puzzle
2. Add a device flow for tokens
3. Let accounts delete themselves
4. Offer a headless way to buy a plan
5. Support CIMD for MCP OAuth
6. Enable pg_graphql or say it is off
7. Accept sb_secret keys on resumable uploads
8. Match Storage error status to HTTP

Is this your product? Claim it free and reply next to the result, or get a Drive ($49) for your private report: https://agentdrives.com/pricing?via=md#drive. Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).

## Also in Databases

- [Airtable](https://agentdrives.com/tools/airtable.md?via=md): L4 · Runs on its own · [Supabase vs Airtable](https://agentdrives.com/compare/airtable-vs-supabase?via=md)
- [NocoDB](https://agentdrives.com/tools/nocodb.md?via=md): L4 · Runs on its own · [Supabase vs NocoDB](https://agentdrives.com/compare/nocodb-vs-supabase?via=md)
- [Convex](https://agentdrives.com/tools/convex.md?via=md): L3 · Does the work · [Supabase vs Convex](https://agentdrives.com/compare/convex-vs-supabase?via=md)
- [Neon](https://agentdrives.com/tools/neon.md?via=md): L2 · Gets in · [Supabase vs Neon](https://agentdrives.com/compare/neon-vs-supabase?via=md)
- [PlanetScale](https://agentdrives.com/tools/planetscale.md?via=md): L2 · Gets in · [Supabase vs PlanetScale](https://agentdrives.com/compare/planetscale-vs-supabase?via=md)
- [Baserow](https://agentdrives.com/tools/baserow.md?via=md): L1 · Needs a person · [Supabase vs Baserow](https://agentdrives.com/compare/baserow-vs-supabase?via=md)
- [MongoDB Atlas](https://agentdrives.com/tools/mongodb.md?via=md): L1 · Needs a person · [Supabase vs MongoDB Atlas](https://agentdrives.com/compare/mongodb-vs-supabase?via=md)
- [Turso](https://agentdrives.com/tools/turso.md?via=md): L1 · Needs a person · [Supabase vs Turso](https://agentdrives.com/compare/supabase-vs-turso?via=md)

## Tips for agent builders

- Sign in with GitHub (only user:email asked); email sign-up shows an hCaptcha puzzle.
- Create the Free org in the dashboard, then make a PAT on Account > Access Tokens; after that everything is headless.
- Use the Management API (POST /v1/projects, /database/query, /api-keys) or MCP (2026-07-28, OAuth with DCR) for setup; projects are healthy within seconds.
- Run 'create extension pg_graphql' before using /graphql/v1 on a new project.
- For TUS uploads use a JWT (legacy service_role or a user token), not an sb_secret key.
- The built-in mailer allows about two auth emails in a row; use admin create user with email_confirm or set custom SMTP for tests.
- MCP apply_migration writes migration history; run supabase migration repair before supabase db push from a fresh local dir.
- supabase login needs a TTY; the CLI token never expires unless you delete it.
