Supabase MCP
@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=xxxTools (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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/node2flow-th/supabase-mcp-community'
If you have feedback or need assistance with the MCP directory API, please join our Discord server