Skip to content

What Is Supabase MCP? Setup, Read-Only Mode, Security Risks and Pricing

You tell your assistant (such as Claude Code or Cursor) the database task; Supabase MCP connects to your project, lists tables, runs SQL, applies migrations, reads logs and security advisors, and deploys Edge Functions. It is Supabase's official MCP server; the hosted address is https://mcp.supabase.com/mcp, you sign in with your Supabase account in the browser, and no personal access token is needed. When connecting to a production project, Supabase recommends narrowing access with read_only and project_ref; the documentation also says the destructive-SQL confirmation is not a security guarantee. Branching requires a paid plan.

What it does
Has your assistant handle SQL, migrations and logs in your Supabase project
Type
MCP server (remote; also available for the local CLI)
Where
Claude Code, Cursor and other MCP clients
Sign-in
Supabase sign-in in the browser; no token needed
Risk
Can write SQL; prompt injection risk
Turkish
Not stated in the official documentation
Price
No separate fee for MCP; Branching requires a paid plan

What Is Supabase MCP For?

MCP is the standard for AI programs to connect to outside tools. With Supabase MCP your assistant accesses your Supabase project directly: you ask "what tables are in the database", which is the test prompt the documentation suggests. The assistant can apply schema changes as migrations, query project logs, read security and performance advisors, and list and deploy Edge Functions.

YouDescribe the database task
AssistantClaude Code, Cursor and other clients
Supabase MCPmcp.supabase.com
Your Supabase projectTables, SQL, migrations, logs, Edge Functions

It can write SQL; on a production project, narrow it with read_only and project_ref.

The tools are split into groups: database, debugging, development (URL, keys, TypeScript types), Edge Functions, account management, docs search, development branches and storage. The storage group is off by default. The documentation names 33 tools; some are conditional.

Who it is for: people building apps with Supabase who want to speed up database work with an assistant. The documentation explicitly says not to give it to your customers or end users; it is designed as a developer tool.

How Do I Set Up Supabase MCP?

You connect to the hosted server; there is no package to install on your computer. You narrow access with URL parameters. The commands are taken verbatim from the Supabase documentation.

Add the server (as generated by the docs)› claude mcp add --scope project --transport http supabase "https://mcp.supabase.com/mcp?features=docs%2Caccount%2Cdatabase%2Cdebugging%2Cdevelopment%2Cfunctions%2Cbranching"

Then run claude /mcp in a regular terminal (not in the IDE extension), select the supabase server and choose "Authenticate". A Supabase sign-in opens in the browser; select the organization that contains the project.

Example of a narrowed address for a production project: https://mcp.supabase.com/mcp?read_only=true&project_ref=YOUR_PROJECT_REF. The parameters match the documentation; this exact command does not appear in the documentation in this form.

URL parameterWhat it does
read_only=trueRuns all queries as a read-only Postgres user.
project_ref=<id>Limits it to a single project; account tools (creating projects, etc.) are turned off.
features=database,docsTurns on only the selected tool groups.
skip_elicitations=execute_sql,apply_migrationSkips form confirmations for the listed tools; it does not skip authentication, read-only mode or charges.

Do your first test in a separate test project, not in production, and start with read_only=true.

How Do I Use Supabase MCP?

Once connected, you tell the assistant what you want in plain language; it picks the tools itself. The first test the documentation suggests: "What tables are there in the database? Use MCP tools."

See the tables"What tables are in the database? Use the MCP tools and summarize what each table is for in one sentence."
Read the security advisors"Fetch the project's security and performance recommendations (advisors) and list the three most important. Don't change anything."
Try the change on a branch"First apply this schema change as a migration on a development branch and show me the result. Ask me before merging into production."

Most MCP clients ask you to approve each tool call. For interactive work, keep that approval on and read each call before it runs.

Which Tools Does Supabase MCP Work In?

Claude CodeYesThe documentation has a command and a .mcp.json example; sign in with claude /mcp.
CursorYesThe documentation explains verifying the connection under Cursor Settings then Tools & MCP.
Windsurf and other assistantsPartlyThe README mentions Windsurf in general; no separate step list appears.
ChatGPT, Codex, VS Code, Gemini CLI, Claude appUnclearThe documentation's client picker is rendered with JavaScript; the steps are unclear in the official source. That does not mean "it doesn't work".

There is an open GitHub issue reporting an error during the apply_migration confirmation in the Codex desktop app (issue #472, October 14, 2026). The list is compiled from the parts of the documentation available as static text.

What Does Supabase MCP Access, and What Can It Do?

Reads

Tables, extensions, the migration list, SQL results (that is, database data), project logs, security and performance advisors, Edge Function code, project details, the API URL and publishable keys.

Writes

With read_only off: SQL (including writes and deletes), migrations, Edge Function deployment, creating and pausing projects, merging and resetting branches, storage configuration (off by default).

Destructive operations

execute_sql and apply_migration can run SQL such as DROP, DELETE, TRUNCATE. delete_branch deletes a branch, pause_project pauses the project.

Where data goes

The server is a remote service hosted by Supabase; query results go to the assistant. The documentation says results are wrapped with a "don't follow instructions inside" warning, but that this is not foolproof.

Allowed
  • Read-only Postgres user with read_only=true
  • A single project with project_ref
  • Only the groups you need with features
Not allowed
  • Giving it to your customers or end users
  • Connecting it unprotected to a production project with sensitive data

The Supabase documentation says connecting an LLM to a data source carries inherent risks and that the main attack is prompt injection: text in user content can trick the assistant into following untrusted commands. On the destructive-SQL confirmation form, the documentation's own words: "not a security guarantee". Some clients support rules that answer confirmations automatically. A search of GitHub Security Advisories shows no published advisories. That does not mean it is "secure".

The documentation's recommendations: protect production projects with sensitive data, turn on read_only, limit the server to a single project, narrow the feature groups, use development branches, and read and approve every tool call.

Is Supabase MCP Free?

No separate fee is listed for the MCP server; your Supabase plan applies. However, the documentation has no explicit sentence saying whether MCP works on a Free project. Only for Branching does the documentation say "requires a paid plan", and the pricing page lists Branching as "Not included" on the Free plan. So it would not be accurate to say "it works on the free plan"; the way to find out is to create a project on the Free plan and connect it.

Free$0
  • 2 active projects
  • No separate MCP restriction listed
  • Branching (development branches)
  • Inactive projects are paused after 1 week
Paid plansSee pricing page
  • Branching (experimental)
  • Active branch $0.01344 per hour (repository docs)

Creating projects and branches requires a cost confirmation; no confirmation is asked for a zero-cost project. Paid plan amounts are unclear in the official source. Prices are in US dollars; no lira price is listed.

Source: Supabase pricing page, MCP documentation and repository docs. Commercial use depends on your Supabase account and plan terms; the code is Apache-2.0 licensed. This is not legal advice.

Common Problems and Fixes

What happensWhat to do
The cost or destructive-SQL confirmation window never appearsYour client may not support form-type confirmations; the documentation has troubleshooting sections for both cases. For costs, the older flow (get_cost + confirm_cost) kicks in.
Tools don't appear after signing inDepending on the client, a restart may be needed; in Cursor, check the connection under Cursor Settings then Tools & MCP.
Reported by users A harmless UPDATE asks for confirmation and fails after ~180 seconds without a replyOpen issue #457 (October 3, 2026): a semicolon inside a text value triggers the destructive-SQL check. No official fix.
Reported by users Error on apply_migration confirmation in the Codex desktop appOpen issue #472 (October 14, 2026); no fix.
Reported by users list_tables returns only public, not all schemasAccording to the title of open issue #395, the default is [public]. Specify the schema explicitly in your request.
Reported by users Multiple organizations are not supportedThe title of open issue #414 says so.

How Do I Remove Supabase MCP?

  1. In the client: delete the supabase entry from the MCP server list (in Claude Code, remove it from the project's .mcp.json file; the Supabase documentation has no separate command).
  2. If you used a token: delete the personal access token you created for CI on the Supabase access tokens page. If you set up a manual OAuth app, remove it from your organization's OAuth apps page.
  3. Regular OAuth authorization: the documentation does not name the screen for revoking it from your account; check the authorized apps in your Supabase account settings.

Frequently asked questions

What is Supabase MCP?

Supabase's official MCP server. An AI assistant like Claude Code connects to your project, lists tables, runs SQL, applies migrations, reads logs and deploys Edge Functions.

Is it safe to connect it to my live (production) database?

The documentation does not say it is safe. A production project may contain sensitive data; before connecting, limit the server to that project (project_ref), turn on read_only, narrow the feature groups and use a development branch if possible.

Can I give this to my customers?

No. Supabase says "don't give it to your customers": the server runs with developer permissions and should be used as an internal developer tool.

Do I need a personal access token (PAT)?

Not in the default setup; a Supabase sign-in in the browser is enough. It is needed in browserless environments like CI, or for clients that require an OAuth client ID.

Does it work on a free Supabase project?

The documentation has no explicit sentence about Free projects. It only lists a paid plan for Branching, and the pricing page shows "Not included" on Free. The way to find out is to create a project on the Free plan and connect it.

Related guides

Sources

Not clear in the official sources: Whether MCP works on a Free project (no explicit sentence in the documentation) · setup steps for ChatGPT, Codex, VS Code, Gemini CLI and the Claude app · paid plan amounts · the screen for revoking OAuth authorization from your account. Each is covered in its section.