Supabase MCP Server
Overview
Supabase MCP Server is a feature-rich server that enables various MCP clients to safely interact with Supabase databases, providing tools for database management, SQL query execution, and access to the Supabase Management API with built-in safety controls.
To use the Supabase MCP Server, install it via a package manager like pipx or uv, configure it with your Supabase project details, and connect it to your preferred MCP client such as Cursor, Windsurf, or Claude Desktop.
- Compatibility with multiple MCP clients (Cursor, Windsurf, Cline, etc.) - Control over read-only and read-write modes for SQL query execution - Runtime SQL query validation with risk level assessment - Three-tier safety system for SQL operations: safe, write, and destructive - Robust transaction handling and automatic versioning of database schema changes - Management of Supabase projects and users via the Supabase Management API
- Executing SQL queries safely in development environments.
- Managing user authentication and roles in Supabase projects.
- Integrating with various IDEs to enhance database management workflows.
Add to your AI client
Use these steps to connect Supabase MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"supabase-mcp-server-niell007": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-supabase-mcp-server-niell007"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"supabase-mcp-server-niell007": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-supabase-mcp-server-niell007"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"supabase-mcp-server-niell007": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-supabase-mcp-server-niell007"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"supabase-mcp-server-niell007": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-supabase-mcp-server-niell007"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"supabase-mcp-server-niell007": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-supabase-mcp-server-niell007"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"supabase-mcp-server-niell007": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-supabase-mcp-server-niell007"
]
}
}
}