Skip to main content
Glama

Supabase MCP Lite

README.md3.59 kB
# Supabase 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: 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: ```json { "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 ```javascript // 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

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/pinion05/supabase-mcp-lite'

If you have feedback or need assistance with the MCP directory API, please join our Discord server