Data as of
Supabase MCP Server for Windsurf: Setup & Config
Connect Windsurf to Supabase projects for SQL, schema changes, debugging, and Edge Functions.
What you can do with Supabase in Windsurf
A broad Supabase development interface with explicit project scoping and read-only controls.
- Inspect project tables and run data queries.
- Apply tracked SQL migrations during development.
- Manage development branches when the plan supports them.
Before you start: Supabase in Windsurf
- A Supabase account with access to the intended organization
- An MCP client supporting hosted HTTP connections
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.
Supabase Windsurf configuration
Choose Windsurf configuration scope
For Supabase MCP Server, open macOS/Linux: ~/.codeium/windsurf/mcp_config.json Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json. Merge into mcpServers; remote endpoints use serverUrl.
Add Supabase MCP Server to Windsurf
Use the supabase-mcp entry below in mcpServers. Keep Supabase MCP Server's documented http connection fields and your other Windsurf entries.
Check Supabase MCP Server in Windsurf
Supabase MCP Server: Refresh MCP in Windsurf settings and inspect Cascade’s tools.
Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
{
"mcpServers": {
"supabase-mcp": {
"serverUrl": "https://mcp.supabase.com/mcp"
}
}
}Supabase tools available to Windsurf
Supabase's stored tool list documents 33 tools; compare it with Windsurf's connected tool list, because the stored list is not a live check.
- search_docs
After refreshing Supabase in Windsurf settings, check Cascade's tool list for search_docs.
Search current Supabase documentation through a GraphQL request.
- list_organizations
After refreshing Supabase in Windsurf settings, check Cascade's tool list for list_organizations.
Find organizations associated with the signed-in user.
- get_organization
After refreshing Supabase in Windsurf settings, check Cascade's tool list for get_organization.
- list_projects
After refreshing Supabase in Windsurf settings, check Cascade's tool list for list_projects.
- get_project
After refreshing Supabase in Windsurf settings, check Cascade's tool list for get_project.
- get_cost
After refreshing Supabase in Windsurf settings, check Cascade's tool list for get_cost.
- confirm_cost
After refreshing Supabase in Windsurf settings, check Cascade's tool list for confirm_cost.
- create_project
After refreshing Supabase in Windsurf settings, check Cascade's tool list for create_project.
- pause_project
After refreshing Supabase in Windsurf settings, check Cascade's tool list for pause_project.
- restore_project
After refreshing Supabase in Windsurf settings, check Cascade's tool list for restore_project.
- list_tables
After refreshing Supabase in Windsurf settings, check Cascade's tool list for list_tables.
Inspect tables in selected schemas, optionally expanding structural details.
- list_extensions
After refreshing Supabase in Windsurf settings, check Cascade's tool list for list_extensions.
Inspect installed database extensions.
- list_migrations
After refreshing Supabase in Windsurf settings, check Cascade's tool list for list_migrations.
Inspect the database's tracked migration history.
- apply_migration
After refreshing Supabase in Windsurf settings, check Cascade's tool list for apply_migration.
Apply SQL schema changes as a recorded database migration.
- execute_sql
After refreshing Supabase in Windsurf settings, check Cascade's tool list for execute_sql.
Run database SQL for data queries rather than tracked schema changes.
- query_logs
After refreshing Supabase in Windsurf settings, check Cascade's tool list for query_logs.
Query a project's unified log stream with read-only ClickHouse SQL.
- get_logs
After refreshing Supabase in Windsurf settings, check Cascade's tool list for get_logs.
Retrieve a project's logs for a selected service.
- get_advisors
After refreshing Supabase in Windsurf settings, check Cascade's tool list for get_advisors.
- get_project_url
After refreshing Supabase in Windsurf settings, check Cascade's tool list for get_project_url.
- get_publishable_keys
After refreshing Supabase in Windsurf settings, check Cascade's tool list for get_publishable_keys.
- generate_typescript_types
After refreshing Supabase in Windsurf settings, check Cascade's tool list for generate_typescript_types.
- list_edge_functions
After refreshing Supabase in Windsurf settings, check Cascade's tool list for list_edge_functions.
- get_edge_function
After refreshing Supabase in Windsurf settings, check Cascade's tool list for get_edge_function.
- deploy_edge_function
After refreshing Supabase in Windsurf settings, check Cascade's tool list for deploy_edge_function.
- create_branch
After refreshing Supabase in Windsurf settings, check Cascade's tool list for create_branch.
- list_branches
After refreshing Supabase in Windsurf settings, check Cascade's tool list for list_branches.
Inspect development branches and their operation status.
- delete_branch
After refreshing Supabase in Windsurf settings, check Cascade's tool list for delete_branch.
Remove a development branch.
- merge_branch
After refreshing Supabase in Windsurf settings, check Cascade's tool list for merge_branch.
Promote a branch's migrations and Edge Functions into production.
- reset_branch
After refreshing Supabase in Windsurf settings, check Cascade's tool list for reset_branch.
Reset branch migrations, discarding untracked schema or data changes.
- rebase_branch
After refreshing Supabase in Windsurf settings, check Cascade's tool list for rebase_branch.
Apply newer production migrations to a development branch.
- list_storage_buckets
After refreshing Supabase in Windsurf settings, check Cascade's tool list for list_storage_buckets.
Inspect the storage buckets available in a project.
- get_storage_config
After refreshing Supabase in Windsurf settings, check Cascade's tool list for get_storage_config.
Read project storage settings.
- update_storage_config
After refreshing Supabase in Windsurf settings, check Cascade's tool list for update_storage_config.
Change project storage settings; the README requires a paid plan.
Troubleshooting Supabase in Windsurf
- For Supabase MCP Server, Windsurf reads serverUrl (mcp.supabase.com), not url. Refresh the connection and check the tools exposed to Cascade.
- Supabase MCP Server: check http connectivity to mcp.supabase.com from Windsurf; a stdio command is not a replacement for this endpoint.
- Transport mismatch: Supabase's catalog lists stdio; the displayed Windsurf configuration uses http.
- Known limitation: Broad access can mutate project data and infrastructure unless restricted.
- Known limitation: Branching is experimental and requires a paid plan.
- Known limitation: Local and self-hosted MCP variants provide fewer tools and lack OAuth 2.1.
- General Windsurf troubleshooting lives in the /clients/windsurf guide.
Supabase MCP Server — details. Windsurf guide