Manage a Supabase project — run SQL, apply migrations, inspect tables and work with branches and edge functions.
unavailable — the package specifier already carries a version
npm
npx -y @supabase/mcp-server-supabase@latest
Pick your client — the config below is generated for this server (local stdio). Copy respects the “Pin version” switch above.
claude_desktop_config.json
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@latest"
]
}
}
}Format verified against the official Claude Desktop docs ↗.
terminal
claude mcp add supabase -- npx -y @supabase/mcp-server-supabase@latest
Format verified against the official Claude Code docs ↗.
.cursor/mcp.json
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@latest"
]
}
}
}Format verified against the official Cursor docs ↗.
.vscode/mcp.json
{
"servers": {
"supabase": {
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@latest"
]
}
}
}Format verified against the official VS Code docs ↗.
mcp_config.json
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@latest"
]
}
}
}Format verified against the official Windsurf docs ↗.
Official · by supabase-community
Independent, non-official implementations of the Supabase MCP server maintained by the community.
Last verified: 2026-10-15 | Sources: Verification basis ↗
⭐ 2,952 stars · 最近更新于 14 天前 · Apache-2.0 license
Supabase MCP Server > Connect your Supabase projects to Cursor, Claude, Windsurf, and other AI assistants. The Model Context Protocol (MCP) standardizes how Large Language Models (LLMs) talk to external services like Supabase. It connects AI assistants directly with your Supabase project and allows them to perform tasks like managing tables, fetching config, and querying data. See the full list of tools. Setup Follow our security best practices Before setting up the MCP server, we recommend you read our security best practices to understand the risks of connecting an LLM to your Supabase projects and how to mitigate them. Configure your MCP client 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: 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). CLI If you're running Supabase locally with Supabase CLI, you can access the MCP server at Currently, the MCP Server in CLI environments offers a limited subset of tools and no OAuth 2.1. Self-hosted For self-hosted Supabase, check the Enabling MCP server page. Currently, the MCP Server in self-hosted environments offers a limited subset of tools and no OAuth 2.1. Configuration options and tools 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. Usage with AI SDK's MCP Client 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. 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 . > [!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. Self-hosting the MCP endpoint The @supabase/mcp-server-supabase package exports createSupabaseMcpHandler() to serve the tools over HTTP from your own endpoint. It accepts the same SupabaseMcpServerOptions as createSupabaseMcpServer() , most importantly platform . The handler speaks the current protocol revision only. It is created with legacy: 'reject' , so a client that only speaks the 2025-era protocol receives an HTTP 400 instead of being served. When platform carries a per-request credential, create the handler per request and close it when the response finishes. The handler closes over the platform you supply, so a shared one serves every request with that platform. A long-lived handler is fine when the platform is meant to be shared, a service-account token for example. Create it once and close() it at shutdown rather than per response, since close() tears down the subscription router and refuses later requests. toNodeHandler comes from @modelcontextprotocol/node , which is not a dependency of this package. Install it alongside. Observability Pass an observer to createSupabaseMcpServer to collect request lifecycle results and Supabase's built-in facts. Here, platform is your existing platform adapter: The server does not automatically forward request or response payloads to the observer. Supabase's built-in facts use a closed set of bounded fields and values; custom facts receive no automatic privacy validation. Omitting observer skips all observation work. Observer, classifier and sink failures don't change request behavior, but synchronous observer and classifier work can block requests. Other MCP servers @supabase/mcp-server-postgrest The PostgREST MCP server allows you to connect your own users to your app via REST API. See more details on its project README. Resources Model Context Protocol : Learn more about MCP and its capabilities. From development to production : Learn how to safely promote changes to production environments. For developers See CONTRIBUTING for details on how to contribute to this project. License This project is licensed under Apache 2.0. See the LICENSE file for details.…
Summary from the project README — github.com/supabase-community/supabase-mcp
Distributed as npm, listed under Databases. Review our MCP security guide before granting access to real data.
Supabase MCP Server > Connect your Supabase projects to Cursor, Claude, Windsurf, and other AI assistants. The Model Context Protocol (MCP) standardizes how Large Language Models (LLMs) talk to external services like Supabase. It connects AI assistants directly with your Supabase project and allows them to perform tasks like managing tables, fetching config, and querying data. See the full list of tools. Setup Follow our security best practices Before setting up the MCP server, we recommend you read our security best practices to understand the risks of connecting an LLM to your Supabase projects and how to mitigate them. Configure your MCP client 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: 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). CLI If you're running Supabase locally with Supabase CLI, you can access the MCP server at Currently, the MCP Server in CLI environments offers a limited subset of tools and no OAuth 2.1. Self-hosted For self-hosted Supabase, check the Enabling MCP server page. Currently, the MCP Server in self-hosted environments offers a limited subset of tools and no OAuth 2.1. Configuration options and tools 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. Usage with AI SDK's MCP Client 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. 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 . > [!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. Self-hosting the MCP endpoint The @supabase/mcp-server-supabase package exports createSupabaseMcpHandler() to serve the tools over HTTP from your own endpoint. It accepts the same SupabaseMcpServerOptions as createSupabaseMcpServer() , most importantly platform . The handler speaks the current protocol revision only. It is created with legacy: 'reject' , so a client that only speaks the 2025-era protocol receives an HTTP 400 instead of being served. When platform carries a per-request credential, create the handler per request and close it when the response finishes. The handler closes over the platform you supply, so a shared one serves every request with that platform. A long-lived handler is fine when the platform is meant to be shared, a service-account token for example. Create it once and close() it at shutdown rather than per response, since close() tears down the subscription router and refuses later requests. toNodeHandler comes from @modelcontextprotocol/node , which is not a dependency of this package. Install it alongside. Observability Pass an observer to createSupabaseMcpServer to collect request lifecycle results and Supabase's built-in facts. Here, platform is your existing platform adapter: The server does not automatically forward request or response payloads to the observer. Supabase's built-in facts use a closed set of bounded fields and values; custom facts receive no automatic privacy validation. Omitting observer skips all observation work. Observer, classifier and sink failures don't change request behavior, but synchronous observer and classifier work can block requests. Other MCP servers @supabase/mcp-server-postgrest The PostgREST MCP server allows you to connect your own users to your app via REST API. See more details on its project README. Resources Model Context Protocol : Learn more about MCP and its capabilities. From development to production : Learn how to safely promote changes to production environments. For developers See CONTRIBUTING for details on how to contribute to this project. License This project is licensed under Apache 2.0. See the LICENSE file for details.
Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.
The MCP server itself is free to install. The source is public on https://github.com/supabase-community/supabase-mcp. Any third-party service it calls may require its own API key and account.
Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.
Publish this server? Link back with a badge on your README or site — copy either snippet.
Markdown
[](https://mcpnav.net/server/supabase/)
HTML
<a href="https://mcpnav.net/server/supabase/"><img src="https://mcpnav.net/badge/supabase.svg" alt="Listed on MCPNav" height="20"></a>