MCP Hub
Back to servers

pinion05-supabase-mcp-lite

A lightweight Supabase MCP server that provides essential database, storage, and authentication tools while significantly reducing context window token usage.

Stars
1
Tools
4
Updated
Dec 18, 2025
Validated
Jan 9, 2026

Supabase MCP Lite

image

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:

  1. Go to https://supabase.com/dashboard/account/tokens
  2. Click "Generate New Token"
  3. Give it a name (e.g., "MCP Access")
  4. Copy the token (starts with sbp_)
  5. Save it securely - you won't be able to see it again!

Setup

  1. 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.

ToolPurposeParameters
selectGet dataprojectUrl, table, where?, limit?
mutateChange dataprojectUrl, action, table, data?, where?
storageFilesprojectUrl, action, bucket, path?, data?
authUsersprojectUrl, 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: "user@example.com", 
  password: "secure123"
)

How it Works

  1. You provide your Personal Access Token (sbp_xxx)
  2. 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

Reviews

No reviews yet

Sign in to write a review