Skip to content
MCP Shelf

Manage Supabase projects, tables, migrations, logs and Edge Functions.

  • Needs your setup first
  • ★ 3K GitHub stars
  • Last commit 26 Oct 2026

At a glance

Supabase maintains this server. It covers the whole project, not just the database: list and create projects, run SQL, apply migrations, read logs, generate TypeScript types and deploy Edge Functions.

The easiest setup is the hosted server, which signs you in with your Supabase account in the browser. You can scope it to one project and to read-only from the URL.

Made by
Supabase
GitHub stars
3K
Last commit
26 Oct 2026
Tools
29
Runs on
Hosted

Our check: It needs something our Linux test machine does not have (an account, a desktop app, a Mac or a running service), so on 26 Oct 2026 we listed its tools from its package instead of running this config. The npm package called "supabase-mcp" comes from a different repository (Cappahccino/SB-MCP). Supabase's own server is the hosted URL above; their local package is @supabase/mcp-server-supabase.

What's in the pod: its tools

We found 29 tools when we ran its package, before any sign-in or app was connected, on 26 Oct 2026. 18 only read. The rest can change things, so keep your app's "ask before each tool call" setting on for them.

How we tested it: Listed by the npm build of the same server (v0.14.0) with its default feature groups and a placeholder token; search_docs was added from the source, as it needs the docs API to load. The hosted URL on this page needs a Supabase sign-in.

Runs commands1 tool · Can start programs or run code.

ToolWhat it is for
execute_sqlRuns a SQL query against the project's Postgres database and returns the rows.

Changes things10 tools · Can create, edit, send or delete.

ToolWhat it is for
apply_migrationRuns a schema change as a named migration so it is tracked like any other.
create_branchSpins up a development branch of a project to try changes safely.
create_projectStarts a new Supabase project in the organisation and region you choose.
delete_branchRemoves a development branch you no longer need.
deploy_edge_functionUploads and deploys an Edge Function from code the agent wrote.
merge_branchMerges a branch's migrations and functions back into production.
pause_projectPauses a project so it stops running.
rebase_branchBrings a branch up to date with migrations added to production since it was made.
reset_branchRolls a branch's migrations back to an earlier version.
restore_projectWakes a paused project up again.

Only reads18 tools · Looks things up and changes nothing.

ToolWhat it is for
confirm_costAsks you to accept the price before a new project or branch is created.
generate_typescript_typesBuilds TypeScript types from the current database schema.
get_advisorsLists security and performance warnings, such as tables missing row level security.
get_costTells you what a new project or branch would cost before you make it.
get_edge_functionFetches the source of one deployed Edge Function.
get_organizationShows one organisation's details and plan.
get_projectShows one project's details, region and status.
get_project_urlReturns the API URL your app uses to reach the project.
get_publishable_keysReturns the public keys a front end needs to talk to the project.
list_branchesLists a project's development branches and their state.
list_edge_functionsLists the Edge Functions deployed in a project.
list_extensionsShows which Postgres extensions are installed.
list_migrationsLists the migrations already applied to the database.
list_organizationsLists the organisations your account belongs to.
list_projectsLists every project you can reach.
list_tablesLists tables in the chosen schemas, with their columns.
query_logsPulls recent logs for the API, Postgres, auth, storage or functions to help debug.
search_docsSearches Supabase's documentation for an up-to-date answer.

Grouped and described by us. The README on GitHub lists the inputs each tool takes.

Set it up

Pick your app for the exact snippet and where it goes.

Where it goes: Settings → Connectors → Add custom connector

Claude Desktop
https://mcp.supabase.com/mcp

Paste the URL and sign in if asked. Custom connectors depend on your plan.

Add ?project_ref=your-project-ref&read_only=true to the URL to lock it to one project and to read-only queries.

New to this? See the setup guides for Claude Code, Cursor, Claude Desktop and ChatGPT.

Settings

Names are exactly as the project spells them. Required ones are marked.

SettingWhat it does
https://mcp.supabase.com/mcpConfig · requiredThe hosted server address. Your client opens a Supabase sign-in the first time you connect.
project_refConfigAdd to the URL to lock the agent to one project. Account-wide tools such as creating projects disappear.?project_ref=abcdefghijklmnop
read_onlyConfigAdd read_only=true to the URL and every tool that changes data is left out.&read_only=true
featuresConfigComma-separated tool groups to switch on: account, database, debugging, development, docs, functions, branching, storage.&features=database,docs
http://localhost:54321/mcpConfigAddress of the smaller tool set served by a local stack started with the Supabase CLI.

What it can touch

It can read

  • Projects, organisations, schemas, logs and advisor reports for the account you sign in with
  • Supabase's public docs

It can change

  • Database rows and schema through SQL and migrations
  • Projects and branches, which can add to your bill
  • Deployed Edge Functions

Safer setup: Use a development project, not production, and add project_ref plus read_only=true to the URL. Supabase also advises keeping manual approval of each tool call switched on in your client.

Before you start

  • A Supabase account

If it does not work

The agent works on the wrong project
Add ?project_ref=<your project ref> to the server URL so it can only see that one.
Sign-in picks the wrong organisation
Disconnect and reconnect, then choose the organisation that owns the project on the Supabase consent screen.
Tools are missing on a local or self-hosted stack
The CLI and self-hosted servers only offer a subset of tools. Account and branching tools need the hosted URL.
An old client cannot connect
The server only speaks the current MCP protocol. Update your client to a recent version.

Peas in a pod: similar servers

How Supabase lines up against other databases and data servers on the shelf.

ServerToolsRuns onLicenceStars
Supabase29Hosted–3K
MCP Toolbox for Databases29Your computerApache-2.016.7K
Qdrant2Your computerApache-2.01.6K
Excel MCP Server46Your computerMIT4.3K
Postgres MCP Pro9Your computerMIT3.4K

Questions

Is it safe to point at production?

Supabase itself advises against it. Data returned by queries could contain instructions that trick the model, so use a dev project or read-only mode.

Do I still need a personal access token?

Not for the hosted URL. Your client signs in with OAuth in the browser.

Does it cost money?

The server is free and Apache 2.0 licensed. Creating projects or branches can add charges, which is why it shows the cost and asks you to confirm first.

Can I use it with the Vercel AI SDK?

Yes. The npm package exports createToolSchemas so the AI SDK gets typed inputs and outputs for each tool.

Full docs on GitHubsupabase-community/supabase-mcp

Something wrong on this page? Tell us.

More in Databases and data