Supabase
About
Official Supabase MCP server for managing Supabase projects, databases, auth, storage, edge functions, and SQL workflows from AI agents.
Details
- Author
- Supabase
- Repository
- supabase/mcp
- GitHub stars
- 1,418
- Downloads
- 1
- License
- Apache License 2.0
- Transport
- SSE
- Categories
- Developer Tools, Database, Other, Infrastructure, Automation, AI, File Management, Cloud Service
Jump to
- Tools grouped into account, database, knowledge base, debugging, development, edge functions, branching, and storage.
- Read‑only mode restricts the server to non‑mutating queries.
- Project‑scoped mode limits access to a single Supabase project.
- Feature groups let you enable only the tools you need.
- Supports OAuth 2.1 (cloud version) and works with most MCP clients.
- Pre‑1.0 – breaking changes may occur between versions.
Setting up with Highlight
Follow these steps to add this server as a custom Highlight plugin:
- 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.)nodeArguments-
Argument 1
mcp.js
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
To configure the Supabase MCP server on your client, visit our setup documentation. You can also generate a custom MCP URL for your project by visiting the MCP connection tab in the Supabase dashboard.
Your MCP client will automatically prompt you to log in to Supabase during setup. Be sure to choose the organization that contains the project you wish to work with.
Most MCP clients require the following information:
{
"mcpServers": {
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp"
}
}
}
If you don't see your MCP client listed in our documentation, check your client's MCP documentation and copy the above MCP information into their expected format (json, yaml, etc).
See the Supabase MCP Server docs for the full list of available tools and configuration options.
The docs also feature an interactive URL builder to populate configuration options for you.
The @supabase/mcp-server-supabase package exports createToolSchemas() to populate input and output schemas for Vercel AI SDK's MCP client. This allows Supabase MCP tools to be treated as static tools with client-side validation and inferred TypeScript types for their inputs and outputs.
import { createToolSchemas } from '@supabase/mcp-server-supabase';
import { createMCPClient } from '@ai-sdk/mcp';
import { streamText } from 'ai';
const mcpClient = await createMCPClient({
transport: {
type: 'http',
url: 'https://mcp.supabase.com/mcp',
},
});
const tools = await mcpClient.tools({
schemas: createToolSchemas(),
});
const result = streamText({ model, tools, prompt: '...' });
for (const step of await result.steps) {
for (const toolResult of step.staticToolResults) {
if (toolResult.toolName === 'get_project_url') {
toolResult.input; // { project_id: string }
toolResult.output; // { url: string }
}
}
}
createToolSchemas() accepts similar filtering options as the MCP server's URL parameters:
- features: Restrict to specific feature groups (e.g. ['database', 'docs']). Defaults to all default feature groups.
- projectScoped: When true, omits project_id from tool input schemas and excludes account-level tools — use when connecting to a server configured with project_ref. Defaults to false.
- readOnly: When true, excludes mutating tools — use when connecting to a server configured with read_only=true. Defaults to false.
const mcpClient = await createMCPClient({
transport: {
type: 'http',
url: 'https://mcp.supabase.com/mcp?project_ref=<project-ref>&read_only=true&features=database,docs',
},
});
const tools = await mcpClient.tools({
schemas: createToolSchemas({
features: ['database', 'docs'],
projectScoped: true,
readOnly: true,
}),
});
> [!NOTE]
> This server does not send structuredContent in MCP tool results. AI SDK falls back to parsing JSON from content text.
For more information, see Schema Definition and Typed Tool Outputs in the AI SDK docs.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"supabase": {
"command": "node",
"args": [
"mcp.js"
],
"env": {},
"cwd": "path/to/your/project",
"shell": false
}
}
}
Macos
{
"command": "node",
"args": [
"mcp.js"
],
"env": [],
"cwd": "path/to/your/project",
"shell": false
}
Windows
{
"command": "node",
"args": [
"mcp.js"
],
"env": [],
"cwd": "path\\to\\your\\project",
"shell": false
}
Linux
{
"command": "node",
"args": [
"mcp.js"
],
"env": [],
"cwd": "/path/to/your/project",
"shell": false
}
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





