Supabase
About
Enables Claude and other LLMs to interact with Supabase databases and Edge Functions through a secure API for performing CRUD operations and invoking custom payloads without requiring integration code.
Details
- Author
- cappahccino
- Repository
- Cappahccino/SB-MCP
- GitHub stars
- 1
- Downloads
- 2,361
- License
- MIT License
- Categories
- AI, Design, Developer Tools, Search, Security, Project Management, Database, Infrastructure
Jump to
- Database operations:
- Query data with filters
- Insert data
- Update data
- Delete data
- List tables
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.)npxArguments-
Argument 1
-y -
Argument 2
supabase-mcp@latest -
Argument 3
supabase-mcp-claude
Environment-
MCP_API_KEY
your_secret_api_key -
SUPABASE_URL
your_supabase_project_url -
SUPABASE_ANON_KEY
your_supabase_anon_key -
SUPABASE_SERVICE_ROLE_KEY
your_service_role_key
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Create a .env file with your Supabase credentials:
The package is published on npm! You can install it globally with:
bashnpm install -g supabase-mcp
Or locally in your project:
bashnpm install supabase-mcp
MCP_SERVER_PORT=3000
MCP_SERVER_HOST=localhost
MCP_API_KEY=your_secret_api_key
Claude requires a specific transport mode for compatibility. This package provides a dedicated binary for Claude integration:
"supabase": {
"command": "npx",
"args": [
"-y",
"supabase-mcp@latest",
"supabase-mcp-claude"
],
"env": {
"SUPABASE_URL": "your_supabase_project_url",
"SUPABASE_ANON_KEY": "your_supabase_anon_key",
"SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key",
"MCP_API_KEY": "your_secret_api_key"
}
}
Make sure you set the required environment variables in the configuration. Claude will use the stdio transport for communication.
After installing globally:
supabase-mcp
This will start the MCP server at http://localhost:3000 (or the port specified in your .env file).
You can also use supabase-mcp as a library in your own Node.js projects:
import { createServer, mcpConfig, validateConfig } from 'supabase-mcp';
// Validate configuration
validateConfig();
// Create the server
const app = createServer();
// Start the server
app.listen(mcpConfig.port, mcpConfig.host, () => {
console.log(Supabase MCP server running at http://${mcpConfig.host}:${mcpConfig.port});
});
Make sure you have a proper .env file with all the required values or that you've set the environment variables in your system.
queryDatabase
Query data from the specified table. Parameters: table (string), select (optional string), query (optional object)
insertData
Insert data into the specified table. Parameters: table (string), data (object or array of objects)
updateData
Update existing data in the specified table. Parameters: table (string), data (object), query (object)
deleteData
Delete data from the specified table based on filter conditions. Parameters: table (string), query (object)
listTables
List all tables in the database. Parameters: None
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"supabase": {
"env": {
"MCP_API_KEY": "your_secret_api_key",
"SUPABASE_URL": "your_supabase_project_url",
"SUPABASE_ANON_KEY": "your_supabase_anon_key",
"SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key"
},
"args": [
"-y",
"supabase-mcp@latest",
"supabase-mcp-claude"
],
"command": "npx"
}
}
}
Linux
{
"env": {
"MCP_API_KEY": "your_secret_api_key",
"SUPABASE_URL": "your_supabase_project_url",
"SUPABASE_ANON_KEY": "your_supabase_anon_key",
"SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key"
},
"args": [
"-y",
"supabase-mcp@latest",
"supabase-mcp-claude"
],
"command": "npx"
}
Macos
{
"env": {
"MCP_API_KEY": "your_secret_api_key",
"SUPABASE_URL": "your_supabase_project_url",
"SUPABASE_ANON_KEY": "your_supabase_anon_key",
"SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key"
},
"args": [
"-y",
"supabase-mcp@latest",
"supabase-mcp-claude"
],
"command": "npx"
}
Windows
{
"env": {
"MCP_API_KEY": "your_secret_api_key",
"SUPABASE_URL": "your_supabase_project_url",
"SUPABASE_ANON_KEY": "your_supabase_anon_key",
"SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key"
},
"args": [
"/c",
"npx",
"-y",
"supabase-mcp@latest",
"supabase-mcp-claude"
],
"command": "cmd"
}
Supabase MCP Server
A Model Context Protocol (MCP) server that allows Claude and other LLMs to interact with Supabase to perform CRUD operations on Postgres tables.
Features
- Database operations:
- Query data with filters
- Insert data
- Update data
- Delete data
- List tables
Prerequisites
- Node.js (v16 or newer)
- npm or yarn
- Supabase project with API keys
Installation
Option 1: Install from npm (recommended)
The package is published on npm! You can install it globally with:
npm install -g supabase-mcp
Or locally in your project:
npm install supabase-mcp
Option 2: Clone the repository
git clone https://github.com/Cappahccino/SB-MCP.git
cd SB-MCP
npm install
npm run build
Configuration
Create a .env file with your Supabase credentials:
```
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




