Firebase MCP Server
OFFICIAL SERVERFirebase's own MCP server, run from the Firebase CLI, for managing projects, data and deploys
Manage Supabase projects, run SQL, deploy Edge Functions and read logs from an MCP client
Official · Supabase TypeScript Remote (hosted) · Streamable HTTP DatabasesCloud platformsDeveloper tools
93 popularity score ★ 3.0k ↓ 235k/wk
Opens the app, which asks before it adds the server.
claude mcp add --transport http supabase https://mcp.supabase.com/mcphttps://mcp.supabase.com/mcphttps://mcp.supabase.com/mcp{
"mcpServers": {
"supabase": {
"url": "https://mcp.supabase.com/mcp"
}
}
}{
"servers": {
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp"
}
}
}[mcp_servers.supabase]
url = "https://mcp.supabase.com/mcp"gemini mcp add --scope user --transport http supabase https://mcp.supabase.com/mcpSupabase's own MCP server connects an AI assistant to the Supabase projects in your account. Through it the assistant can list tables and extensions, run SQL, apply migrations, read project logs, fetch security and performance advisors, generate TypeScript types from the schema, deploy Edge Functions, and create, pause or restore whole projects. It can also search the Supabase documentation.
The main way to use it is the hosted endpoint at mcp.supabase.com. You add the URL to your client and sign in with your Supabase account in a browser; no token has to be created by hand. URL parameters narrow what it may do: project_ref limits it to one project and removes the account tools, read_only=true runs every query as a read-only Postgres user, and features picks which tool groups are switched on. A personal access token sent as a Bearer header replaces the browser sign-in for CI.
The Supabase CLI serves a reduced version locally at http://localhost:54321/mcp, and self-hosted Supabase can enable one too; both have fewer tools and no OAuth. The npm package @supabase/mcp-server-supabase also exports functions for serving the same tools from your own HTTP endpoint and for giving Vercel AI SDK clients typed tool schemas.
Where the client supports MCP forms, the server asks before creating something that costs money (create_project, create_branch) and before running SQL it judges destructive. Supabase calls both a guardrail, not a guarantee.
A Supabase account and an organization holding the project to work on. An MCP client that speaks streamable HTTP and can complete a browser OAuth sign-in, or one that can send custom headers with a personal access token. Branching tools need a paid plan. Local use needs the Supabase CLI running a local stack.
Branching is marked experimental and needs a paid plan. Storage tools are off by default. Account tools disappear when the server is scoped to one project. CLI and self-hosted setups get only a subset of tools and no OAuth. A manually created OAuth app must be granted write access to every scope, as finer scopes are not yet offered. The self-hosting handler only speaks the current protocol revision and answers older clients with HTTP 400. Tool results carry no structuredContent. Cost and destructive-SQL confirmations depend on client support and may not catch every case.
Developers building on Supabase who want an assistant to inspect schemas, write migrations, debug with logs and advisors, or ship Edge Functions, all from one maker-supported endpoint. Supabase says it acts with your developer permissions and should not be handed to customers or end users. For production data, scope it to one project with read_only=true and a narrow feature list. For a plain Postgres database outside Supabase, a generic Postgres server fits better, since this one works through the Supabase Management API and account.
list_tableslist_extensionslist_migrationsapply_migrationexecute_sqlquery_logsget_advisorsget_project_urlget_publishable_keysgenerate_typescript_typeslist_edge_functionsget_edge_functiondeploy_edge_functioncreate_edge_function_secretlist_projectsget_projectcreate_projectpause_projectrestore_projectlist_organizationsget_organizationget_costconfirm_costsearch_docscreate_branchlist_branchesdelete_branchmerge_branchreset_branchrebase_branchlist_storage_bucketsget_storage_configupdate_storage_config