Supabase MCP Server
About
A Model Context Protocol (MCP) server that provides AI assistants with the ability to interact with Supabase databases through standardized tools.
Explore
- Read rows from tables with filtering and column selection
- Create single or multiple records
- Update records with flexible filtering
- Delete records safely with filter conditions
- Environment-based configuration
- Stdio transport support
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
Supabase MCP ServerCommand (node, npx, python, etc.)Please 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
1. Clone the repository:
git clone <repository-url>
cd mcp
2. Create a virtual environment and install dependencies:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
3. Set up environment variables:
Create a .env file in the project root with:
SUPABASE_URL=your_project_url
SUPABASE_SERVICE_KEY=your_service_role_key
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"supabase mcp server": {
"supabase-mcp-haladesigns": {
"command": "python",
"args": [
"-m",
"venv",
".venv"
]
}
}
}
}
McpServers
{
"supabase-mcp-haladesigns": {
"command": "python",
"args": [
"-m",
"venv",
".venv"
]
}
}
A Model Context Protocol (MCP) server that provides AI assistants with the ability to interact with Supabase databases through standardized tools.
Features
- Read rows from tables with filtering and column selection
- Create single or multiple records
- Update records with flexible filtering
- Delete records safely with filter conditions
- Environment-based configuration
- Stdio transport support
Installation
1. Clone the repository:
git clone <repository-url>
cd mcp
2. Create a virtual environment and install dependencies:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
3. Set up environment variables:
Create a .env file in the project root with:
SUPABASE_URL=your_project_url
SUPABASE_SERVICE_KEY=your_service_role_key
Usage
Run the MCP server:
python -m supabase_mcp.server
Available Tools
read_rows
Read data from Supabase tables with optional filtering and column selection.{
"table": "users",
"columns": ["id", "name", "email"], # Optional
"filters": {"is_active": true}, # Optional
"limit": 10 # Optional
}
create_records
Insert one or multiple records into a table.{
"table": "users",
"records": {
"name": "John Doe",
"email": "[email protected]"
}
# Or multiple records:
# "records": [
# {"name": "John", "email": "[email protected]"},
# {"name": "Jane", "email": "[email protected]"}
# ]
}
update_records
Update records that match specific filters.{
"table": "users",
"filters": {"id": 123},
"data": {"status": "active"}
}
delete_records
Delete records that match specific filters.{
"table": "users",
"filters": {"status": "inactive"}
}
Security
- Uses service role key for database operations
- Requires proper environment configuration
- Validates all inputs using Pydantic models
License
MIT License
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



