About pinion05-supabase-mcp-lite
pinion05-supabase-mcp-lite is a minimal MCP server for administering Supabase projects. Its four tools cover database, storage, and auth operations, with results capped at 100 rows and service role keys retrieved automatically using a personal access token.
Key features
- 01Four tools for database, storage, and auth
- 02Automatic service role key retrieval
- 03In-memory key caching
- 04Results limited to 100 rows
- 05Support for multiple Supabase projects
Use cases
- 01Querying tables in a Supabase project
- 02Changing database records
- 03Managing project storage files
- 04Performing admin-level auth operations
MCP support
It exposes four Supabase operation tools to MCP clients: select, mutate, storage, and auth. Calls require a project URL; a Supabase Personal Access Token is used to retrieve service role keys.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://server.smithery.ai/@pinion05/supabase-mcp-lite/mcpclaude mcp add --transport http ai-smithery-pinion05-supabase-mcp-lite https://server.smithery.ai/@pinion05/supabase-mcp-lite/mcp{"mcpServers":{"ai-smithery-pinion05-supabase-mcp-lite":{"type":"http","url":"https://server.smithery.ai/@pinion05/supabase-mcp-lite/mcp"}}}Open in Cursor{"servers":{"ai-smithery-pinion05-supabase-mcp-lite":{"type":"http","url":"https://server.smithery.ai/@pinion05/supabase-mcp-lite/mcp"}}}Open in VS Code{"mcpServers":{"ai-smithery-pinion05-supabase-mcp-lite":{"type":"http","url":"https://server.smithery.ai/@pinion05/supabase-mcp-lite/mcp"}}}{"mcpServers":{"ai-smithery-pinion05-supabase-mcp-lite":{"serverUrl":"https://server.smithery.ai/@pinion05/supabase-mcp-lite/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://server.smithery.ai/@pinion05/supabase-mcp-lite/mcpAuth requiredTools
Details
From the project READMESupabase MCP Lite
Minimal Supabase MCP server - 70% less context usage than standard implementations.
Why Lite?
- 4 tools instead of 50+ - Only essential operations
- Minimal descriptions - No verbose explanations
- Simple parameters - No complex nested schemas
- Auto-truncated results - Max 100 rows per query
🔑 Personal Access Token Required
This MCP uses your Supabase Personal Access Token (starts with sbp_) to automatically fetch service role keys for any project you own.
How to get your Personal Access Token:
- Go to https://supabase.com/dashboard/account/tokens
- Click "Generate New Token"
- Give it a name (e.g., "MCP Access")
- Copy the token (starts with
sbp_) - Save it securely - you won't be able to see it again!
Setup
- Add to your MCP client configuration:
{
"supabase-lite": {
"command": "npx",
"args": ["@smithery/cli", "connect", "@pinion05/supabase-mcp-lite"],
"config": {
"accessToken": "sbp_xxxxxxxxxxxx" // Your Personal Access Token
}
}
}
Note: Project URL is required for each tool call. The service role key will be fetched automatically using your access token.
Tools (4)
All tools require projectUrl as the first parameter.
| Tool | Purpose | Parameters |
|---|---|---|
select | Get data | projectUrl, table, where?, limit? |
mutate | Change data | projectUrl, action, table, data?, where? |
storage | Files | projectUrl, action, bucket, path?, data? |
auth | Users | projectUrl, action, email?, password?, id? |
Examples
// Select tool
select(
projectUrl: "https://your-project.supabase.co",
table: "posts",
where: {status: "published"},
limit: 10
)
// Mutate tool
mutate(
projectUrl: "https://your-project.supabase.co",
action: "insert",
table: "todos",
data: {title: "New task"}
)
mutate(
projectUrl: "https://your-project.supabase.co",
action: "update",
table: "todos",
data: {done: true},
where: {id: 1}
)
mutate(
projectUrl: "https://your-project.supabase.co",
action: "delete",
table: "todos",
where: {id: 1}
)
// Storage tool
storage(
projectUrl: "https://your-project.supabase.co",
action: "upload",
bucket: "images",
path: "avatar.jpg",
data: "base64..."
)
storage(
projectUrl: "https://your-project.supabase.co",
action: "list",
bucket: "images"
)
// Auth tool
auth(
projectUrl: "https://your-project.supabase.co",
action: "list"
)
auth(
projectUrl: "https://your-project.supabase.co",
action: "create",
email: "[email protected]",
password: "secure123"
)
How it Works
- You provide your Personal Access Token (
sbp_xxx) - When you call a tool with a project URL, the MCP:
- Extracts the project ID from the URL
- Uses your access token to fetch the service role key via Supabase Management API
- Caches the key for future requests to the same project
- Creates a client with full admin access
Security Notes
- Personal Access Token gives access to ALL your Supabase projects
- Service role keys are fetched automatically and cached in memory
- Service role key bypasses Row Level Security (RLS)
- Keep your access token secure - never expose it client-side
- This tool is intended for server-side/admin use only
Features
- ✅ Works with any Supabase project you own
- ✅ Automatic service role key retrieval
- ✅ Key caching to minimize API calls
- ✅ Full database access (bypasses RLS)
- ✅ Support for multiple projects in one session
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.