Server facts
Supabase MCP Server
Project
- Author
- supabase-community
- Website
- supabase.com/mcp
- License
- Apache-2.0
- Category
- Databases
Tech
- Runtime / language
- node
- Transports
- stdio
- Remote available
- No
- Authentication
- Not specified
Activity
- GitHub stars
- 2,955
- Last commit
- Data as of
Tags
- Database Migrations
- Edge Functions
- Postgresql
- Read Only
- Supabase
Overview
Supabase MCP Server connects development assistants to Supabase project administration and database work. Its tools span schema inspection, SQL queries, tracked migrations, documentation search, advisory checks, and application configuration. Other groups expose Edge Function source and deployment, project lifecycle operations, and development branches. TypeScript types can be generated from a project's database schema, giving an assistant information it can use while building application code. The hosted service uses an HTTP endpoint, and compatible clients guide users through signing in to the appropriate Supabase organization.
Access can be narrowed before the assistant starts working. Project scoping limits the connection to one project and removes account-level operations. Read-only mode disables mutating tools and executes SQL with a read-only Postgres user. Feature selection further restricts which tool groups are visible; storage tools are disabled by default to reduce the tool count. These controls matter because the integration can otherwise perform consequential changes, including migrations and deployments. The README recommends reviewing its security guidance before connecting a project. Local Supabase CLI and self-hosted environments also offer MCP access, but with fewer tools and without OAuth 2.1. Branching is described as experimental and dependent on a paid plan. The server is still pre-1.0, so the documented interface may change between versions.
Install & configure
Requirements
- A Supabase account with access to the intended organization
- An MCP client supporting hosted HTTP connections
No install command stated in the README — see repo.
No runnable server launch command is stated in the provided README. Configure the hosted URL and complete the client login flow. The README recommends project_ref scoping and read_only=true.
Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.
A supported configuration example is not available for this client and transport. Check the client documentation for its connection flow; do not substitute an undocumented JSON format.
Read the Claude Desktop setup guideConfig file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"supabase-mcp": {
"url": "https://mcp.supabase.com/mcp"
}
}
}Config file · Workspace: .vscode/mcp.json
For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.
{
"servers": {
"supabase-mcp": {
"type": "http",
"url": "https://mcp.supabase.com/mcp"
}
}
}Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"supabase-mcp": {
"serverUrl": "https://mcp.supabase.com/mcp"
}
}
}Config file · Project scope: .mcp.json at the repository root
The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"supabase-mcp": {
"type": "http",
"url": "https://mcp.supabase.com/mcp"
}
}
}Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Tools
Source: repository tool metadata and repository README. Tool descriptions are a documented snapshot, not a live capability check.
| Tool | What it does |
|---|---|
| search_docs | Search current Supabase documentation through a GraphQL request. |
| list_organizations | Find organizations associated with the signed-in user. |
| get_organization | Inspect organization details, including its subscription plan. |
| list_projects | Find Supabase projects available to the user. |
| get_project | Inspect one project's details and status. |
| get_cost | Look up organization-specific pricing before creating a project or branch. |
| confirm_cost | Record user confirmation of the cost returned for a project or branch. |
| create_project | Create a Supabase project after organization and cost confirmation. |
| pause_project | Suspend an existing project's operation. |
| restore_project | Bring a paused project back into operation. |
| list_tables | Inspect tables in selected schemas, optionally expanding structural details. |
| list_extensions | Inspect installed database extensions. |
| list_migrations | Inspect the database's tracked migration history. |
| apply_migration | Apply SQL schema changes as a recorded database migration. |
| execute_sql | Run database SQL for data queries rather than tracked schema changes. |
| query_logs | Query a project's unified log stream with read-only ClickHouse SQL. |
| get_logs | Retrieve a project's logs for a selected service. |
| get_advisors | Retrieve security and performance advisory notices for a project. |
| get_project_url | Retrieve a project's API endpoint address. |
| get_publishable_keys | Retrieve client-safe publishable and legacy anonymous project keys. |
| generate_typescript_types | Create TypeScript definitions reflecting a project's database schema. |
| list_edge_functions | Inspect the Edge Functions deployed to a project. |
| get_edge_function | Read the files belonging to an Edge Function. |
| deploy_edge_function | Deploy a new Edge Function or update one with a new version. |
| create_branch | Create a development database branch with production migrations but without production data. |
| list_branches | Inspect development branches and their operation status. |
| delete_branch | Remove a development branch. |
| merge_branch | Promote a branch's migrations and Edge Functions into production. |
| reset_branch | Reset branch migrations, discarding untracked schema or data changes. |
| rebase_branch | Apply newer production migrations to a development branch. |
| list_storage_buckets | Inspect the storage buckets available in a project. |
| get_storage_config | Read project storage settings. |
| update_storage_config | Change project storage settings; the README requires a paid plan. |
Names, permissions, and defaults can change. Check the current upstream documentation before granting access.
Use cases
- Inspect project tables and run data queries.
- Apply tracked SQL migrations during development.
- Investigate project logs and security or performance advisories.
- Generate TypeScript types and deploy Edge Functions.
- Manage development branches when the plan supports them.
Strengths
- Combines database work, debugging, documentation, and function deployment.
- Offers project-scoped access, read-only operation, and feature filtering.
- Hosted setup uses client-guided authentication.
Limitations
- Broad access can mutate project data and infrastructure unless restricted.
- Branching is experimental and requires a paid plan.
- Local and self-hosted MCP variants provide fewer tools and lack OAuth 2.1.
Frequently asked questions
Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.