Skip to main content
Glama
cloud9-labs

MCP Supabase Server

by cloud9-labs

MCP Supabase Server

Model Context Protocol (MCP) server for Supabase database and storage operations.

Features

  • Database Operations: Query, insert, update, delete rows

  • Schema Introspection: List tables, get column definitions

  • Storage Operations: Upload, list, delete files and buckets

  • RPC Support: Call stored functions

  • Raw SQL: Execute custom SQL queries (requires setup)

Related MCP server: Supabase MCP Server

Installation

npm install @cloud9-labs/mcp-supabase

Configuration

Set the following environment variables:

export SUPABASE_URL="https://your-project.supabase.co"
export SUPABASE_SERVICE_KEY="your-service-role-key"

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "supabase": {
      "command": "npx",
      "args": ["-y", "@cloud9-labs/mcp-supabase"],
      "env": {
        "SUPABASE_URL": "https://your-project.supabase.co",
        "SUPABASE_SERVICE_KEY": "your-service-role-key"
      }
    }
  }
}

Available Tools

Database Operations

  • supabase_query: Execute SELECT with filters, ordering, pagination

  • supabase_insert: Insert rows into a table

  • supabase_update: Update rows matching filter conditions

  • supabase_delete: Delete rows matching filter conditions

  • supabase_rpc: Call stored functions/RPC endpoints

Schema Introspection

  • supabase_list_tables: List all tables in public schema

  • supabase_get_table_schema: Get column definitions for a table

Storage Operations

  • supabase_upload_file: Upload a file to storage bucket

  • supabase_list_files: List files in a bucket

  • supabase_delete_file: Delete a file from storage

  • supabase_list_buckets: List all storage buckets

Advanced Operations

  • supabase_execute_sql: Execute raw SQL (requires RPC function setup)

Usage Examples

Query a table

{
  "table": "users",
  "select": "id,name,email",
  "filter": { "status": "active" },
  "order": "created_at.desc",
  "limit": 10
}

Insert data

{
  "table": "posts",
  "data": {
    "title": "Hello World",
    "content": "My first post",
    "author_id": 123
  }
}

Upload a file

{
  "bucket": "avatars",
  "path": "user123/profile.jpg",
  "data": "<base64-encoded-data>",
  "contentType": "image/jpeg"
}

Raw SQL Setup

To use supabase_execute_sql, create this function in your Supabase SQL Editor:

CREATE OR REPLACE FUNCTION execute_sql(query text)
RETURNS json AS $$
DECLARE
  result json;
BEGIN
  EXECUTE query INTO result;
  RETURN result;
END;
$$ LANGUAGE plpgsql SECURITY DEFINER;

Development

# Install dependencies
npm install

# Build
npm run build

# Run locally
node dist/index.js

License

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/cloud9-labs/mcp-supabase'

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