PlugWiki
Supabase logo

Supabase MCP: let your AI assistant work with your database

Official · by SupabaseRemoteLocal
Gethttps://mcp.supabase.com/mcpsupabase/mcpDocs

Lets your AI assistant look at and change your Supabase projects: tables, SQL, migrations, logs and Edge Functions.

This is Supabase's own server. It lets Claude, Cursor, ChatGPT and other assistants list your tables, run SQL, apply migrations, read logs and deploy Edge Functions. It works with your developer permissions, so it can change or delete data. Use it on a development project, and turn on read-only mode for anything that matters. Supabase says hidden text in your data can still trick the assistant, even in read-only mode.

Good for

  • Developers building an app on Supabase who want their editor assistant to handle schema and query work
  • Teams who want to test schema changes on a development branch before they reach production
  • Anyone debugging a failing request by reading API, database or function logs
  • Developers who want security and performance checks, such as tables missing access rules

Works in

4 supported · 5 with issues · 5 should work

Tap an app to see how to set it up and any known problems.

Install Supabase MCP

Claude Code

  1. 1

    Copy this prompt.

    Add the Supabase MCP server to Claude Code. Run this command:
    
    claude mcp add --transport http supabase https://mcp.supabase.com/mcp
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Read-only mode: Want it to only read? Add ?read_only=true to the end of the server address: https://mcp.supabase.com/mcp?read_only=true

Pick the organization that holds your project when you sign in. Give it one project only by adding project_ref=<project-ref> to the server address. The local npx method needs a personal access token in SUPABASE_ACCESS_TOKEN.

Built from the package data we hold. Not yet tested by us.

Tools

  • Lists the Supabase projects in your account.

    Shows the Supabase projects in your account. This is an account-level tool.

    Try: “Which of my Supabase projects exist, and what are they called?”

    Read · list_projects

  • Shows the details and status of one Supabase project.

    Returns the details and current status of a single project.

    Try: “Is my blog project on Supabase up right now?”

    Read · get_project

  • Lists your database tables, with columns and keys on request.

    Lists the tables in one or more schemas. The short view shows names only. The detailed view adds columns, keys and foreign keys.

    Try: “Show me every table in my app's database and the columns in each one.”

    Read · list_tables

  • Runs any SQL you give it against your database, and can change data.

    Runs raw SQL on the Postgres database. Results can include text from your data, so treat them as untrusted. It changes data unless the server is set to read-only mode.

    Try: “Count how many users signed up in the last 7 days.”

    Write · execute_sql

  • Searches the Supabase documentation for answers.

    Searches Supabase's own documentation so the assistant can answer from it.

    Try: “How do I turn on row level security for a table in Supabase?”

    Read · search_docs

  • Lists the database migrations on record.

    Lists the migrations recorded for the database, so you can see which schema changes have been made.

    Try: “What schema changes have already been applied to my database?”

    Read · list_migrations

  • Applies a schema change to your database. Risky statements may ask first.

    Runs a migration, which is a database schema change such as adding a table or column. Destructive statements may ask you to confirm first. It changes data.

    Try: “Add a created_at column to the orders table with a default of now.”

    Write · apply_migration

  • Lists the Postgres extensions your database can use and has installed.

    Shows the Postgres extensions that are available and the ones already installed.

    Try: “Is the pgvector extension installed on my database?”

    Read · list_extensions

  • Lists the Edge Functions in a Supabase project.

    Shows the Edge Functions that exist in a project.

    Try: “Which Edge Functions are deployed in my project?”

    Read · list_edge_functions

  • Shows the files that make up one Edge Function.

    Returns the files of a single Edge Function, so you can read its code.

    Try: “Show me the code of my send-welcome-email function.”

    Read · get_edge_function

  • Deploys an Edge Function. It replaces the one with the same name and goes live at once.

    Publishes an Edge Function. An existing function with the same name is replaced, and the new version starts serving right away. It changes data.

    Try: “Deploy my updated send-welcome-email function.”

    Write · deploy_edge_function

  • Asks you to enter an Edge Function secret in the Supabase dashboard.

    Points you to the Supabase dashboard to type in an Edge Function secret. It needs a connection that is not read-only.

    Try: “Add the Stripe key as a secret for my Edge Function.”

    Write · create_edge_function_secret

From the official docs

Pros and cons

Good

  • Made and maintained by Supabase.
  • You sign in with your Supabase account, with no token to copy for most clients.
  • A read-only option runs all queries as a read-only database user.
  • You can lock it to one project with a single address option.
  • Works with Claude Code, Cursor, VS Code, Codex, ChatGPT, Gemini CLI and more.
  • Test schema changes on a development branch before merging.

Watch out

  • Hidden instructions in your data can still trick it, even in read-only mode.
  • It acts with your developer rights, so Supabase says not to give it to customers.
  • Sign-in prompts come back often in Claude Code and Codex.
  • The Claude.ai connector and Claude Code plugin have no read-only switch.
  • Branches and new projects can cost money, and branching needs a paid plan.
  • The local and self-hosted versions have fewer tools and no sign-in flow.

Permissions

high risk · 6 things to watch

High risk

A tricked or careless assistant can read, change or delete data in your database, and hidden text inside your data can steer it. Turn on read-only mode, limit it to one project, and use a development project instead of production.

What it can do

Watch out for

  • Prompt injection can expose private tables

    Text stored in your data, such as a support ticket, can instruct the model to run SQL that reveals other tables. Supabase says read-only mode does not remove this risk. supabase.com

  • Runs SQL with your developer permissions

    execute_sql and apply_migration can change or drop data and schema. The server acts with your account's rights, so Supabase says not to give it to customers or end users. supabase.com

  • Paid-resource confirmation can be skipped by an agent

    An open report says confirm_cost involves no human and its token can be computed, so an agent could create billable projects or branches. Form confirmations depend on client support. github.com

  • OAuth asks for full account access

    An open request asks Supabase to request only the scopes the enabled tools need; today sign-in grants broad account access unless you scope a PAT yourself. github.com

  • No read-only switch on Claude.ai connector or plugin

    Read-only is set with a URL parameter, which the hosted connectors and the auto-updating Claude Code plugin do not expose. github.com

  • Does not bypass Row Level Security

    Supabase says RLS stays enforced, but the server may run at a higher privilege than your app's users. supabase.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyAdd ?read_only=true to the server URL (e.g. https://mcp.supabase.com/mcp?project_ref=<id>&read_only=true). Queries then run as a read-only Postgres user and mutating tools are dropped. The Claude.ai connector and the Claude Code plugin offer no toggle for it.
Talks tomcp.supabase.com
Sign-in and keysSign in with your Supabase account in the browser; a personal access token is only needed for CI or the local npx method.

Alternatives

Use this server if your database is on Supabase. Pick Neon's server only if you are choosing a different hosted Postgres.

ServerRunsSign-inCan change thingsGitHub stars
For Supabase
SupabaseThis pageHostedLocalAccountYes3K
Other tools for the same job
NeonFor PostgreSQLHostedLocal––659

What people say

People like how fast it makes development work and dislike the prompt-injection risk and the repeated sign-in prompts.

What people like

  • Read-only and one-project options let you limit what the assistant can touch.
  • Developers say they use it all the time in development, in read-only mode, and it saves time.
  • Signing in with your Supabase account replaced access tokens for most clients, so setup is one address.

Common complaints

  • Hidden instructions in your data can trick the assistant into leaking other tables.
  • Claude Code and Codex users report signing in again every day or so.
  • The Claude.ai connector and Claude Code plugin have no read-only switch.
  • Confirmation prompts for migrations and branches have failed in ChatGPT and Codex.
  • It is hard to use with several projects or organizations from one setup.
  • Critics say an AI should never get more database access than the person using it.

In their words

4 more quotes

Questions

What is the Supabase MCP server URL?

The hosted address is https://mcp.supabase.com/mcp. Add ?read_only=true or ?project_ref=<project-id> to limit it. The dashboard's MCP tab builds a custom address for you.

Is the Supabase MCP server free?

Yes. The server is open source under Apache-2.0 and costs nothing to use. You pay only for what your Supabase plan covers, and branching needs a paid plan.

Do I need a Supabase access token?

No for most clients. Your client opens a browser sign-in and you pick the organization. A personal access token is only needed for CI or the local npx method.

How do I make it read-only?

Add ?read_only=true to the end of the server address. Queries then run as a read-only database user and write tools are removed. The Claude.ai connector and Claude Code plugin do not offer this switch.

Can I limit it to one project?

Yes. Add ?project_ref=<project-id> to the address. That scopes it to that project and turns off account-level tools such as creating projects.

Can it change or delete my data?

Yes, unless you use read-only mode. It can run any SQL your developer account allows, and it can merge or reset branches.

Is it safe to connect to a production database?

Supabase advises against it unless the task needs production data. If you must, use read-only and one-project mode, approve each tool call by hand, and test changes on a development branch first. Hidden text in your data can still trick the assistant.

Does it bypass Row Level Security?

Supabase says no, Row Level Security stays enforced. The server can still run with higher rights than your app's users.

Why does it keep asking me to sign in again?

Users in Claude Code and Codex report signing in again every 6 to 24 hours. It is an open issue and Supabase says it is investigating.

Does it work with local or self-hosted Supabase?

Yes, with limits. The Supabase CLI serves it on your machine and self-hosted setups can turn it on. Both have fewer tools and no sign-in flow.

Examples

  • List your tables and design a schema change, then apply it as a migration.

    List my tables, then add a notes column to orders and apply it as a migration.

  • Generate TypeScript types from your database for your app code.

    Generate TypeScript types for my database schema.

  • Check security and performance advisors after a migration, such as tables missing access rules.

    Run the security advisors and tell me which tables have no RLS policy.

  • Debug a failing request by reading API, Postgres or Edge Function logs for a time window.

    Show the API and Postgres logs from the last 30 minutes and find why signup fails.

  • Deploy or update an Edge Function from your editor.

    Update the send-email Edge Function to retry twice, then deploy it.

  • Try schema changes on a development branch, then merge them to production.

    Create a dev branch, apply this migration there, and show me the result before merging.

Information

updated Nov 2, 2026

Publisher
Supabase (official)
Package
@supabase/mcp-server-supabase
Registry
npm
Endpoint
https://mcp.supabase.com/mcp
Transport
stdio, Streamable HTTP
Auth
OAuth
Version
0.14.0
License
Apache-2.0
Last commit
Oct 31, 2026
Open issues
64
Listed in
Official MCP registry

WebsiteDocsGitHubnpmOfficial MCP RegistryInstall guideChangelogIssues

Other Supabase MCP servers

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 30
  1. github.com · github.com
  2. supabase.com · supabase.com
  3. supabase.com · supabase.com
  4. supabase.com · supabase.com
  5. Supabase MCP server: database operation tools · github.com
  6. github.com · github.com
  7. Supabase MCP server: development tools · github.com
  8. Supabase MCP server: Edge Function tools · github.com
  9. Supabase MCP server: account tools · github.com
  10. Supabase MCP server: branching tools · github.com
  11. Supabase MCP server: storage tools · github.com
  12. Supabase MCP server: feedback tools · github.com
  13. Supabase MCP server: docs tools · github.com
  14. Supabase MCP server: secret tools · github.com
  15. simonwillison.net · simonwillison.net
  16. github.com · github.com
  17. github.com · github.com
  18. github.com · github.com
  19. github.com · github.com
  20. supabase.com · supabase.com
  21. requestState error · github.com
  22. VS Code sign-in · github.com
  23. news.ycombinator.com · news.ycombinator.com
  24. github.com · github.com
  25. github.com · github.com
  26. github.com · github.com
  27. news.ycombinator.com · news.ycombinator.com
  28. reddit.com · reddit.com
  29. Supabase PostgREST MCP server · github.com
  30. selfhosted-supabase-mcp · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.