About Supabase MCP Server
Supabase MCP Server lets AI assistants read and modify Supabase table data through standardized tools. It supports filtered queries and record creation, updates, and deletion, with configuration supplied through environment variables.
Key features
- 01Read rows with filters and column selection
- 02Create one or multiple records
- 03Update records using filters
- 04Delete records using filters
- 05Configure through environment variables
Use cases
- 01Inspect selected table data
- 02Add records to a Supabase table
- 03Change records matching conditions
- 04Remove records matching conditions
MCP support
It exposes Supabase database operations to MCP clients as tools. The server supports stdio transport.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMESupabase MCP Server
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
- Clone the repository:
git clone <repository-url>
cd mcp
- 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
- Set up environment variables:
Create a
.envfile 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.