Supabase Official Remote MCP Server
The hosted Supabase MCP (mcp.supabase.com/mcp) exposes your organization's projects to MCP clients: list projects, run SQL, apply migrations and fetch project config โ protected by OAuth 2.1.
- Provider
- Supabase โ
- Source
- https://github.com/supabase-community/supabase-mcp โ
- Categories
- ๐๏ธ Databases & Backend-as-a-Service
ไธญๆ็ฎไป
Supabase ๆ็ฎก MCP ๆๅกๅจใAI ไปฃ็ๅฏๅจ OAuth ๆๆ่ๅดๅ ๆง่ก SQLใๅบ็จ่ฟ็งปๅนถ็ๆ TypeScript ็ฑปๅใ
Or add to ~/.cursor/mcp.json:
{
"mcpServers": {
"supabase": {
"url": "https://mcp.supabase.com/mcp"
}
}
}claude mcp add --transport http supabase https://mcp.supabase.com/mcp
Or add to .vscode/mcp.json:
{
"servers": {
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp"
}
}
}- Open Settings โ Connectors (Integrations) โ Add Custom Connector.
- Paste the endpoint URL:
https://mcp.supabase.com/mcp - Complete the browser OAuth 2.1 login flow when prompted.
Bridge the remote endpoint into stdio with mcp-remote in claude_desktop_config.json:
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.supabase.com/mcp"
]
}
}
}Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"supabase": {
"serverUrl": "https://mcp.supabase.com/mcp"
}
}
}๐งฐ Tools exposed by Supabase MCP (5)
| Tool | Safety | Description | Parameters |
|---|---|---|---|
| list_projects | ๐ข Read | List all Supabase projects in your organizations. | โ |
| execute_sql | ๐ Write | Run arbitrary SQL against a Supabase project database. Can modify or delete data โ review statements carefully. | project_id*: stringquery*: string |
| apply_migration | ๐ Write | Apply a database migration to a Supabase project. Potentially destructive โ migrations can drop tables and columns. | project_id*: stringname*: stringquery*: string |
| get_project_url | ๐ข Read | Get the API URL for a Supabase project. | project_id*: string |
| generate_typescript_types | ๐ข Read | Generate TypeScript types from a project's database schema. | project_id*: string |
๐ OAuth 2.1 & Security
- Auth type
- OAuth 2.1
- Dynamic Client Registration
- โ Supported
- PKCE S256
- โ Supported
- Scopes
all- Protected resource metadata
- https://mcp.supabase.com/.well-known/oauth-protected-resource (expected location)
๐งฉ Recommended Agent Skills
๐ Guide
Supabase MCP โ Remote MCP Server
The hosted Supabase MCP server authenticates against your Supabase account and can operate on any project you have access to โ running SQL, applying migrations and generating types. That makes it powerful and dangerous in equal measure: Supabase recommends connecting agents to development or branching projects, not production, and the dashboard lets you restrict the server to read-only mode or a subset of projects.
Endpoint & Transport
- Endpoint URL:
https://mcp.supabase.com/mcp - Transport: Streamable HTTP
Authentication
Supabase MCP uses OAuth 2.1 โ the first request returns a 401 Unauthorized challenge with a WWW-Authenticate header pointing at the authorization metadata. Compliant clients (Cursor, Claude, VS Code, ChatGPT) handle the whole flow โ PKCE and Dynamic Client Registration, so no manual client setup is needed โ and simply open a browser consent screen.
Available Tools (5)
| Tool | Safety | Description |
|---|---|---|
list_projects |
read | List all Supabase projects in your organizations. |
execute_sql |
write | Run arbitrary SQL against a Supabase project database. Can modify or delete data โ review statements carefully. |
apply_migration |
write | Apply a database migration to a Supabase project. Potentially destructive โ migrations can drop tables and columns. |
get_project_url |
read | Get the API URL for a Supabase project. |
generate_typescript_types |
read | Generate TypeScript types from a project's database schema. |
Connect in 30 Seconds
Claude Code โ one command:
claude mcp add --transport http supabase https://mcp.supabase.com/mcp
Cursor โ add to ~/.cursor/mcp.json:
{ "mcpServers": { "supabase": { "url": "https://mcp.supabase.com/mcp" } } }
VS Code โ add to .vscode/mcp.json:
{ "servers": { "supabase": { "type": "http", "url": "https://mcp.supabase.com/mcp" } } }
Claude Desktop & stdio clients โ bridge with mcp-remote:
{ "mcpServers": { "supabase": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.supabase.com/mcp"] } } }
On first connect your client opens a browser OAuth consent screen โ approve it and tools become available immediately.
Troubleshooting
- 401 Unauthorized on connect โ that's expected; the server is OAuth-protected. Let your client complete the browser consent flow, or inspect the endpoint in our OAuth debugger to see the exact
WWW-Authenticatechallenge. - "Session expired" / stale
Mcp-Session-Idโ just re-sendinitialize; stateless clients can ignore session headers entirely. - execute_sql and apply_migration can modify real data โ enable read-only mode in the Supabase dashboard if you only need inspection.
- OAuth grants are per-organization; you approve scopes during the consent screen.
๐ How to Connect
- Copy the Supabase MCP endpoint URLThe remote endpoint is https://mcp.supabase.com/mcp.
- Add it to your MCP clientClaude Code:
claude mcp add --transport http supabase https://mcp.supabase.com/mcp. Cursor: add"supabase": { "url": "https://mcp.supabase.com/mcp" }undermcpServersin ~/.cursor/mcp.json. Other clients work similarly. - Complete the OAuth consentOn first connection your client opens a Supabase consent screen in the browser. Approve it to grant access; the token is stored by the client and refreshed automatically.
- Verify with the online inspectorPaste https://mcp.supabase.com/mcp into remotemcp.net/inspector, run initialize and tools/list, and confirm Supabase MCP's 5 tools respond.
โ FAQ
What is the Supabase MCP remote MCP endpoint?
The primary endpoint is https://mcp.supabase.com/mcp. It is an official first-party server operated by Supabase, speaking the Streamable HTTP transport.
How do I authenticate with Supabase MCP?
Supabase MCP uses OAuth 2.1. When your client first connects it receives a 401 challenge, discovers the authorization server via RFC 9728 metadata, and opens a browser consent screen. Dynamic Client Registration is supported, so compliant clients register themselves automatically.
I'm getting a 401 Unauthorized from Supabase MCP โ what's wrong?
A 401 means your client hasn't completed (or has lost) the OAuth authorization. Remove and re-add the server in your client to restart the consent flow, and check that your browser session can reach the provider's login page. If the 401 arrives without a WWW-Authenticate header, run it through our OAuth debugger to see what's missing.
Which MCP clients work with Supabase MCP?
Any client that supports remote MCP servers: Cursor, Claude Code (`claude mcp add --transport http supabase https://mcp.supabase.com/mcp`), VS Code Copilot, ChatGPT connectors, Windsurf, and Claude Desktop via the `mcp-remote` bridge.
What tools does Supabase MCP expose?
5 tools are cataloged in this directory โ including `list_projects`, `execute_sql`, `apply_migration` and more. Use our online inspector to fetch the live tool list straight from the endpoint.
๐ Connect Guides
๐ Embed Status Badge in README
Related Servers
Neon's official remote MCP server for serverless Postgres. Agents can manage projects and branches and run SQL over the SSE transport with OAuth.