Labsco
MCP SERVER

Supabase Coolify MCP Server

by dj-pearson

Deploy migrations, ship edge functions and manage a self-hosted Supabase on Coolify — all from your assistant.

PaaS Deployment & App Hosting
Summary
Full deploy powers, plus a diagnostic that says what broke.

This holds a service role key and a Coolify token with wide permissions, which is what makes it able to deploy migrations and edge functions in one step — and what makes it worth pointing at an environment you are willing to have changed. The part that earns its place is `verify_setup` and the matching offline diagnostic script: connection, authentication, database reachability and CLI availability are checked in one pass, so a misconfiguration reports itself instead of surfacing as a failed deploy.

What it is

An MCP server for running self-hosted Supabase on Coolify. It covers both halves: the Supabase side (migrations, edge functions, storage, auth, health) and the Coolify side (applications, services, environment variables, logs, deploys), plus one-shot deployment of a whole Supabase instance onto Coolify.

What you get
  • Database migrations end to end — `list_migrations`, `deploy_migration` with the SQL and a name, `get_migration_status` for one version, and `execute_sql` for a raw query, with rollback supported through down SQL
  • Edge functions: `list_edge_functions`, `deploy_edge_function` with the code and a `verify_jwt` flag, `invoke_edge_function`, `get_edge_function_logs` and `delete_edge_function`
  • Storage buckets via `list_storage_buckets`, `create_storage_bucket` with visibility and a file size limit, and `delete_storage_bucket`
  • Auth and platform state — `get_auth_config`, `update_auth_config`, `check_supabase_health`, `get_supabase_version`
  • `verify_setup`, a single diagnostic that checks the Coolify connection and authentication, the Supabase connection and authentication, database accessibility, CLI availability and response times, and returns a health report with recommendations
  • Coolify application control — `list_coolify_applications`, `get_coolify_application`, `update_coolify_application_env`, `deploy_coolify_application`, `start_coolify_application`, `stop_coolify_application`, `restart_coolify_application` and `get_coolify_logs`
  • Whole-instance deployment: `deploy_supabase_to_coolify` takes a name and a config (Postgres version, which services to enable, a custom domain, extra environment variables), with `update_supabase_deployment` and `get_deployment_status` after that
  • Read-only resources for the same state, addressed as `supabase://migrations`, `supabase://edge-functions`, `supabase://storage-buckets`, `supabase://auth-config`, `supabase://health`, `coolify://applications`, `coolify://services` and `coolify://databases`
Requirements

A Coolify instance with an API token, and a self-hosted Supabase instance (or the intent to deploy one). Four required environment variables: `COOLIFY_API_URL`, `COOLIFY_API_TOKEN`, `SUPABASE_URL` and `SUPABASE_SERVICE_ROLE_KEY` — the service role key, not the anon key, which is the mistake the diagnostics call out by name. `COOLIFY_TEAM_ID`, `SUPABASE_ANON_KEY`, `SUPABASE_PROJECT_ID`, `SUPABASE_FUNCTIONS_URL` and the `SUPABASE_DB_*` set are optional. Node.js 18.0.0 or newer; install with `npm install -g supabase-coolify-mcp-server` or run through `npx -y supabase-coolify-mcp-server`, and Claude Code takes it in one line. Putting the variables in the MCP config's `env` block is the path the author recommends. MIT licensed.

Setup effort

One command plus a key — npm install -g supabase-coolify-mcp-server, then supply credentials