Supabase

by cappahccino

1 stars
2.4k downloads
Not rated
GitHub

About

Enables Claude and other LLMs to interact with Supabase databases and Edge Functions through a secure API for performing CRUD operations and invoking custom payloads without requiring integration code.

Details

Author
cappahccino
Repository
Cappahccino/SB-MCP
GitHub stars
1
Downloads
2,361
License
MIT License
Categories
AI, Design, Developer Tools, Search, Security, Project Management, Database, Infrastructure

- Database operations:
- Query data with filters
- Insert data
- Update data
- Delete data
- List tables

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Supabase
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 supabase-mcp@latest
    • Argument 3 supabase-mcp-claude
    Environment
    • MCP_API_KEY your_secret_api_key
    • SUPABASE_URL your_supabase_project_url
    • SUPABASE_ANON_KEY your_supabase_anon_key
    • SUPABASE_SERVICE_ROLE_KEY your_service_role_key

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Create a .env file with your Supabase credentials:


The package is published on npm! You can install it globally with:

bash
npm install -g supabase-mcp

Or locally in your project:

bash
npm install supabase-mcp

MCP_SERVER_PORT=3000
MCP_SERVER_HOST=localhost
MCP_API_KEY=your_secret_api_key

Claude requires a specific transport mode for compatibility. This package provides a dedicated binary for Claude integration:

"supabase": {
  "command": "npx",
  "args": [
    "-y",
    "supabase-mcp@latest",
    "supabase-mcp-claude"
  ],
  "env": {
    "SUPABASE_URL": "your_supabase_project_url",
    "SUPABASE_ANON_KEY": "your_supabase_anon_key", 
    "SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key",
    "MCP_API_KEY": "your_secret_api_key"
  }
}

Make sure you set the required environment variables in the configuration. Claude will use the stdio transport for communication.

After installing globally:

supabase-mcp

This will start the MCP server at http://localhost:3000 (or the port specified in your .env file).

You can also use supabase-mcp as a library in your own Node.js projects:

import { createServer, mcpConfig, validateConfig } from 'supabase-mcp';

// Validate configuration
validateConfig();

// Create the server
const app = createServer();

// Start the server
app.listen(mcpConfig.port, mcpConfig.host, () => {
console.log(Supabase MCP server running at http://${mcpConfig.host}:${mcpConfig.port});
});

Make sure you have a proper .env file with all the required values or that you've set the environment variables in your system.

queryDatabase

Query data from the specified table. Parameters: table (string), select (optional string), query (optional object)

insertData

Insert data into the specified table. Parameters: table (string), data (object or array of objects)

updateData

Update existing data in the specified table. Parameters: table (string), data (object), query (object)

deleteData

Delete data from the specified table based on filter conditions. Parameters: table (string), query (object)

listTables

List all tables in the database. Parameters: None

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "supabase": {
            "env": {
                "MCP_API_KEY": "your_secret_api_key",
                "SUPABASE_URL": "your_supabase_project_url",
                "SUPABASE_ANON_KEY": "your_supabase_anon_key",
                "SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key"
            },
            "args": [
                "-y",
                "supabase-mcp@latest",
                "supabase-mcp-claude"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": {
        "MCP_API_KEY": "your_secret_api_key",
        "SUPABASE_URL": "your_supabase_project_url",
        "SUPABASE_ANON_KEY": "your_supabase_anon_key",
        "SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key"
    },
    "args": [
        "-y",
        "supabase-mcp@latest",
        "supabase-mcp-claude"
    ],
    "command": "npx"
}

Macos

{
    "env": {
        "MCP_API_KEY": "your_secret_api_key",
        "SUPABASE_URL": "your_supabase_project_url",
        "SUPABASE_ANON_KEY": "your_supabase_anon_key",
        "SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key"
    },
    "args": [
        "-y",
        "supabase-mcp@latest",
        "supabase-mcp-claude"
    ],
    "command": "npx"
}

Windows

{
    "env": {
        "MCP_API_KEY": "your_secret_api_key",
        "SUPABASE_URL": "your_supabase_project_url",
        "SUPABASE_ANON_KEY": "your_supabase_anon_key",
        "SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key"
    },
    "args": [
        "/c",
        "npx",
        "-y",
        "supabase-mcp@latest",
        "supabase-mcp-claude"
    ],
    "command": "cmd"
}

Supabase MCP Server

A Model Context Protocol (MCP) server that allows Claude and other LLMs to interact with Supabase to perform CRUD operations on Postgres tables.

Features

- Database operations:
- Query data with filters
- Insert data
- Update data
- Delete data
- List tables

Prerequisites

- Node.js (v16 or newer)
- npm or yarn
- Supabase project with API keys

Installation

Option 1: Install from npm (recommended)

The package is published on npm! You can install it globally with:

npm install -g supabase-mcp

Or locally in your project:

npm install supabase-mcp

Option 2: Clone the repository

git clone https://github.com/Cappahccino/SB-MCP.git
cd SB-MCP
npm install
npm run build

Configuration

Create a .env file with your Supabase credentials:

```

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.