mcp-supabase-clean

jgtolentino/mcp-supabase-clean

3.2

If you are the rightful owner of mcp-supabase-clean and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

MCP Supabase Clean is a production-safe MCP server designed for seamless integration with Supabase, adhering to all MCP best practices.

Tools
  1. select

    Run filtered SELECT queries

  2. insert

    Insert data into tables

  3. update

    Update data with filters

MCP Supabase Clean

Clean, production-safe MCP server for Supabase integration that follows all MCP best practices.

Features

  • Stdio-only MCP server for Claude Desktop & Pulser
  • HTTP wrapper for ChatGPT plugin compatibility
  • Safe query builder (no raw SQL, RLS respected)
  • Schema validation with Zod
  • Multi-stage Docker build for minimal runtime

Environment Variables

SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIs...
SEARCH_PATH=public                    # optional, defaults to 'public'
PORT=10000                           # only for HTTP mode

Usage

Claude Desktop / Pulser (stdio)

npm run start        # or node dist/index.js

ChatGPT Plugin (HTTP)

npm run start:http   # or node dist/http-wrapper.js

Development

npm run dev          # stdio mode
npm run dev:http     # HTTP mode

Tools

  • select - Run filtered SELECT queries
  • insert - Insert data into tables
  • update - Update data with filters

Example Pulser Commands

:fin.select table=invoices columns='["id","amount"]' filter='{"status":"paid"}' limit=10
:fin.insert table=customers data='{"name":"ACME Corp","email":"acme@example.com"}'
:fin.update table=invoices data='{"status":"paid"}' filter='{"id":"123"}'

Example ChatGPT API Calls

curl -X POST https://your-app.onrender.com/mcp/select \
  -H "Content-Type: application/json" \
  -d '{"table":"invoices","columns":["id","amount"],"limit":5}'

Deployment

Render

  1. Connect GitHub repo
  2. Set environment variables
  3. Deploy - HTTP wrapper runs automatically

Claude Desktop

{
  "mcpServers": {
    "supabase": {
      "command": "node",
      "args": ["/path/to/mcp-supabase-clean/dist/index.js"],
      "env": {
        "SUPABASE_URL": "https://your-project.supabase.co",
        "SUPABASE_ANON_KEY": "your-anon-key"
      }
    }
  }
}

Integration Matrix

ChannelTransportCommandStatus
Claude Desktopstdionode dist/index.js
Pulser CLIstdio:fin.select ...
ChatGPT PluginHTTPPOST /mcp/select
Supabase CLIdirectsupabase db push