Supabase MCP
Provides 31 tools for managing Supabase projects, including database CRUD operations, storage management, auth admin, project management, edge functions, and secrets, enabling full programmatic control over a Supabase instance.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Supabase MCPlist the first 10 users from the profiles table"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@node2flow/supabase-mcp
MCP server for Supabase — 31 tools for database CRUD, storage management, auth admin, project management, edge functions, and secrets via the Model Context Protocol.
Quick Start
Claude Desktop / Cursor
Add to your MCP config:
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": ["-y", "@node2flow/supabase-mcp"],
"env": {
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key",
"SUPABASE_ACCESS_TOKEN": "your-personal-access-token"
}
}
}
}Note:
SUPABASE_URL+SUPABASE_SERVICE_ROLE_KEYare needed for database, storage, and auth tools.SUPABASE_ACCESS_TOKENis needed for project management tools. You can configure one or both.
HTTP Mode
SUPABASE_URL=https://xxx.supabase.co SUPABASE_SERVICE_ROLE_KEY=xxx npx @node2flow/supabase-mcp --httpMCP endpoint: http://localhost:3000/mcp
Cloudflare Worker
Available at: https://supabase-mcp-community.node2flow.net/mcp
POST https://supabase-mcp-community.node2flow.net/mcp?SUPABASE_URL=https://xxx.supabase.co&SUPABASE_SERVICE_ROLE_KEY=xxx&SUPABASE_ACCESS_TOKEN=xxxRelated MCP server: Supabase MCP Server - Self-Hosted Edition
Tools (31)
Database — REST API (6)
Tool | Description |
| List records with PostgREST filters, select, order, pagination |
| Insert one or more records |
| Update records matching a filter (filter required) |
| Upsert — insert or update on conflict |
| Delete records matching a filter (filter required) |
| Call stored PostgreSQL function (RPC) |
Storage (6)
Tool | Description |
| List all storage buckets |
| Create bucket with public/private, size limit, MIME types |
| Delete empty bucket |
| List objects with prefix, search, pagination |
| Delete objects by file path |
| Create temporary signed URL for private files |
Auth Admin (5)
Tool | Description |
| List users (paginated) |
| Get user by ID |
| Create user with email/password, metadata |
| Update user metadata, role, ban status |
| Delete user permanently |
Management — Projects (5)
Tool | Description |
| List all projects in account |
| Get project details |
| Create new project |
| Pause project (stop all services) |
| Restore paused project |
Management — Database (3)
Tool | Description |
| Execute SQL query on project database |
| List database migrations |
| Generate TypeScript types from schema |
Management — Edge Functions (2)
Tool | Description |
| List deployed edge functions |
| Get edge function details |
Management — Secrets & Keys (4)
Tool | Description |
| List project secrets (names only) |
| Create or update secrets |
| Delete secrets by name |
| List project API keys (anon, service_role) |
Filter Syntax
The REST API uses PostgREST filter syntax:
# Comparison
age=gt.18 # greater than
status=eq.active # equals
price=lte.100 # less than or equal
# Pattern matching
name=ilike.*john* # case-insensitive LIKE
email=like.*@gmail.com # case-sensitive LIKE
# Lists and NULL
id=in.(1,2,3) # IN list
deleted_at=is.null # NULL check
# Logic
or=(age.lt.18,age.gt.65) # OR conditions
# Full-text search
content=fts.supabase # full-text searchResource Embedding (JOINs)
Query related tables using the select parameter:
*,orders(*) — embed all columns from related table
id,name,orders(id,total,status) — specific columns
id,author:user_id(name,email) — renamed embedConfiguration
Parameter | Required | For | Description |
| Yes* | REST/Storage/Auth | Project URL ( |
| Yes* | REST/Storage/Auth | Service role key (bypasses RLS) |
| No | Management API | Personal access token from dashboard |
*Required for database, storage, and auth tools. Management tools only need SUPABASE_ACCESS_TOKEN.
Getting Your Keys
Project URL + Service Role Key: Go to your Supabase project → Settings → API
Access Token: Go to supabase.com/dashboard/account/tokens → Generate new token
Safety
Update and Delete require a filter — prevents accidental full-table operations
Use
sb_list_recordsto verify filter matches before deleteUse
return="representation"to see what was changedService role key bypasses RLS — use with caution in production
License
MIT License - see LICENSE
Copyright (c) 2026 Node2Flow
Links
This server cannot be deployed
Maintenance
Related MCP Connectors
- SupabaseOAuthcom.supabase
MCP server for interacting with the Supabase platform
Butterbase MCP server — manage your backend: schemas, auth, functions, storage, RAG, deploys.
Manage Supabase projects end to end across database, auth, storage, realtime, and migrations. Moni…
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceAn MCP server that provides tools for interacting with Supabase databases, storage, and edge functions.45MIT
- FlicenseNot gradedqualityDmaintenanceEnables comprehensive management of self-hosted or cloud Supabase instances with 54+ tools for database operations, authentication, storage, real-time subscriptions, migrations, and monitoring through MCP protocol.-
- AlicenseNot gradedqualityDmaintenanceA runtime-configurable MCP server for Supabase databases that enables dynamic tool creation through JSON configuration. Build custom database operations (select, insert, update, delete) without writing code, with built-in authentication and template support.3 npm11MIT
- AlicenseNot gradedqualityDmaintenanceA powerful MCP server for Supabase that provides interactive tools and React widgets for exploring and querying your Supabase database.3,049,943 npm20MIT