Supabase
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
Jump to
- 💻 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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
SupabaseCommand (node, npx, python, etc.)supabase-mcp-serverPlease refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- 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" />
</picture>
<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" />
</picture>
</p>
<p align="center">
<strong>Let Cursor & Windsurf manage your Supabase and run SQL queries. Autonomously. In a safe way.</strong>
</p>
<p align="center">
<a href="https://pypi.org/project/supabase-mcp-server/"></a>
<a href="https://github.com/alexander-zuev/supabase-mcp-server/actions"></a>
<a href="https://www.python.org/downloads/"></a>
<a href="https://github.com/astral-sh/uv"></a>
<a href="https://pepy.tech/project/supabase-mcp-server"></a>
<a href="https://modelcontextprotocol.io/introduction"></a>
<a href="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 supportingstdio 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
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




