Supabase

by deploya-labs

9 stars
Not rated
GitHub

About

Integrates with Supabase databases to enable SQL query execution, database management, and user authentication operations with configurable read-only or read-write access modes.

Details

Author
deploya-labs
Repository
deploya-labs/mcp-supabase
GitHub stars
9
License
Apache License 2.0
Categories
AI, Design, Developer Tools, Search, Project Management, Infrastructure, Security, API

- 💻 Compatible with Cursor, Windsurf, Cline and other MCP clients supporting stdio protocol
- 🔐 Control read-only and read-write modes of SQL query execution
- 🔄 Robust transaction handling for both direct and pooled database connections
- 💻 Manage your Supabase projects with Supabase Management API
- 🧑‍💻 Manage users with Supabase Auth Admin methods via Python SDK
- 🔨 Pre-built tools to help Cursor & Windsurf work with MCP more effectively
- 📦 Dead-simple install & setup via package manager (uv, pipx, etc.)

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.) supabase-mcp-server

    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

> ⚠️ Important: PostgreSQL must be installed BEFORE installing project dependencies, as psycopg2 requires PostgreSQL development libraries during compilation.

MacOS

brew install postgresql@16

Windows
- Download and install PostgreSQL 16+ from https://www.postgresql.org/download/windows/
- Ensure "PostgreSQL Server" and "Command Line Tools" are selected during installation

Since v0.2.0 I introduced support for package installation. You can use your favorite Python package manager to install the server via:


pipx install supabase-mcp-server

uv pip install supabase-mcp-server

pipx is recommended because it creates isolated environments for each package.

You can also install the server manually by cloning the repository and running pipx install -editable . from the root directory.

> ⚠️ If you run into psycopg2 compilation issues, you might be missing PostgreSQL development packages. See above.

If you would like to install from source, for example for local development:

uv venv

uv pip install -e .

Please report any issues with Smithery, as I haven't tested it yet.

To install Supabase MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @alexander-zuev/supabase-mcp --client claude

After installing the package, you'll need to configure your database connection settings. The server supports both local and remote Supabase instances.

The server looks for configuration in this order:
1. Environment variables (highest priority)
2. Local .env file in current directory
3. Global config file:
- Windows: %APPDATA%/supabase-mcp/.env
- macOS/Linux: ~/.config/supabase-mcp/.env
4. Default settings (local development)

In general, any MCP client that supports stdio protocol should work with this MCP server (Cline, for example) but I haven't tested it with anything except Cursor/Windsurf.

get_db_schemas

Lists all database schemas with their sizes and table counts.

get_tables

Lists all tables in a schema with their sizes, row counts, and metadata.

get_table_schema

Gets detailed table structure including columns, keys, and relationships.

execute_sql_query

Executes raw SQL queries with comprehensive support for all PostgreSQL operations. Supports all query types and handles transaction control statements.

send_management_api_request

Sends arbitrary requests to Supabase Management API, with auto-injection of project ref and safety mode control.

get_management_api_spec

Gets the enriched API specification with safety information.

get_management_api_safety_rules

Gets all safety rules including blocked and unsafe operations with human-readable explanations.

live_dangerously

Switches between safe and unsafe modes.

get_auth_admin_methods_spec

Retrieves documentation for all available Auth Admin methods.

call_auth_admin_method

Directly invokes Auth Admin methods with proper parameter handling.

get_user_by_id

Retrieves a user by their ID.

list_users

Lists all users with pagination.

create_user

Creates a new user.

delete_user

Deletes a user by their ID.

invite_user_by_email

Sends an invite link to a user's email.

generate_link

Generates an email link for various authentication purposes.

update_user_by_id

Updates user attributes by ID.

delete_factor

Deletes a factor on a user (currently not implemented in SDK).

Claude Desktop / Cursor

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

{
    "mcpServers": {
        "supabase": {
            "env": {},
            "args": [],
            "command": "supabase-mcp-server"
        }
    }
}

Linux

{
    "env": [],
    "args": [],
    "command": "supabase-mcp-server"
}

Macos

{
    "env": [],
    "args": [],
    "command": "supabase-mcp-server"
}

Windows

{
    "env": [],
    "args": [],
    "command": "supabase-mcp-server"
}

Supabase MCP Server

<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/4a363bcd-7c15-47fa-a72a-d159916517f7" />
<source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/d255388e-cb1b-42ea-a7b2-0928f031e0df" />
Supabase
</picture>
&nbsp;&nbsp;
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/38db1bcd-50df-4a49-a106-1b5afd924cb2" />
<source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/82603097-07c9-42bb-9cbc-fb8f03560926" />
MCP
</picture>
</p>

<p align="center">
<strong>Let Cursor & Windsurf manage your Supabase and run SQL queries. Autonomously. In a safe way.</strong>
</p>

Star History Chart

<p align="center">
<a href="https://pypi.org/project/supabase-mcp-server/">PyPI version</a>
<a href="https://github.com/alexander-zuev/supabase-mcp-server/actions">CI Status</a>
<a href="https://www.python.org/downloads/">Python 3.12+</a>
<a href="https://github.com/astral-sh/uv">uv package manager</a>
<a href="https://pepy.tech/project/supabase-mcp-server">PyPI Downloads</a>
<a href="https://modelcontextprotocol.io/introduction">MCP Server</a>
<a href="LICENSE">License</a>
</p>

A feature-rich MCP server that enables Cursor and Windsurf to safely interact with Supabase databases. It provides tools for database management, SQL query execution, and Supabase Management API access with built-in safety controls.

Table of contents

<p align="center"> <a href="#getting-started">Getting started</a> • <a href="#feature-overview">Feature overview</a> • <a href="#troubleshooting">Troubleshooting</a> • <a href="#roadmap">Roadmap</a> </p>

✨ Key features

- 💻 Compatible with Cursor, Windsurf, Cline and other MCP clients supporting stdio protocol - 🔐 Control read-only and read-write modes of SQL query execution - 🔄 Robust transaction handling for both direct and pooled database connections - 💻 Manage your Supabase projects with Supabase Management API - 🧑‍💻 Manage users with Supabase Auth Admin methods via Python SDK - 🔨 Pre-built tools to help Cursor & Windsurf work with MCP more effectively - 📦 Dead-simple install & setup via package manager (uv, pipx, etc.)

Getting Started

Prerequisites

Installing the server requires the following on your system: - Python 3.12+ - PostgresSQL 16+

If you plan to install via uv, ensure it's installed.

PostgreSQL Installation

> ⚠️ Important: PostgreSQL must be installed BEFORE installing project dependencies, as psycopg2 requires PostgreSQL development libraries during compilation.

MacOS

brew install postgresql@16

Windows
- Download and install PostgreSQL 16+ from https://www.postgresql.org/download/windows/
- Ensure "PostgreSQL Server" and "Command Line Tools" are selected during installation

Step 1. MCP Server Installation

Since v0.2.0 I introduced support for package installation. You can use your favorite Python package manager to install the server via:

```bash

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.