list_migrationsLABSCO 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_migrationwith the SQL and a name,get_migration_statusfor one version, andexecute_sqlfor a raw query, with rollback supported through down SQL - Edge functions:
list_edge_functions,deploy_edge_functionwith the code and averify_jwtflag,invoke_edge_function,get_edge_function_logsanddelete_edge_function - Storage buckets via
list_storage_buckets,create_storage_bucketwith visibility and a file size limit, anddelete_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_applicationandget_coolify_logs - Whole-instance deployment:
deploy_supabase_to_coolifytakes a name and a config (Postgres version, which services to enable, a custom domain, extra environment variables), withupdate_supabase_deploymentandget_deployment_statusafter 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://servicesandcoolify://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
USE CASES
Shipping a schema change
Deploy the migration with its SQL and name, then check its status by version; rollback is supported through down SQL.
Getting an edge function live and watching it
Deploy the function with JWT verification on, invoke it with a test payload, then read its logs when the result is not what you expected.
Standing up a whole Supabase instance
Deploy it onto Coolify in one call with the Postgres version, the services you want enabled and a custom domain, then poll the deployment status.
Working out why nothing connects
Run the setup verification and read back which of Coolify, Supabase, the database and the CLI is failing, with a recommendation for each.
Restarting or reconfiguring a running app
Update the application's environment variables and restart it, then pull the logs to confirm it came back.
49 tools
Listed in project docs. Your client may show a different list.
deploy_migrationexecute_sqlget_migration_statusrollback_migrationrollback_to_versionrollback_last_migrationscreate_migration_with_rollbackrollback_migration_with_down_sqllist_edge_functionsdeploy_edge_functiondelete_edge_functionget_edge_function_logsinvoke_edge_functionlist_storage_bucketscreate_storage_bucketdelete_storage_bucketget_auth_configupdate_auth_configcheck_supabase_healthget_supabase_versionverify_setuplist_coolify_applicationsget_coolify_applicationupdate_coolify_application_envdeploy_coolify_applicationstart_coolify_applicationstop_coolify_applicationrestart_coolify_applicationget_coolify_logsdeploy_supabase_to_coolifyupdate_supabase_deploymentget_deployment_statuscheck_cli_installedsupabase_initsupabase_linksupabase_startsupabase_stopsupabase_statussupabase_db_diffsupabase_db_pushsupabase_db_resetsupabase_migration_newsupabase_migration_listsupabase_migration_repairsupabase_functions_deploysupabase_functions_servesupabase_gen_typessupabase_cli_executeBEFORE YOU INSTALL
What to know first
Tools you get
49 tools named in the project's documentation.
Requires
- Node.js >= 18.0.0
- COOLIFY_API_TOKEN in your environment
- SUPABASE_SERVICE_ROLE_KEY in your environment
Where it runs
All 6 documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
npm install -g supabase-coolify-mcp-serverMCP Clients
Claude Code
claude mcp add --env COOLIFY_API_URL=http://localhost:8000 --env COOLIFY_API_TOKEN=<YOUR_COOLIFY_API_TOKEN> --env SUPABASE_URL=<YOUR_SUPABASE_URL> --env SUPABASE_SERVICE_ROLE_KEY=<YOUR_SUPABASE_SERVICE_ROLE_KEY> supabase-coolify -- npx -y supabase-coolify-mcp-serverClaude Desktop
{
"mcpServers": {
"supabase-coolify": {
"command": "npx",
"args": [
"-y",
"supabase-coolify-mcp-server"
],
"env": {
"COOLIFY_API_URL": "http://localhost:8000",
"COOLIFY_API_TOKEN": "<YOUR_COOLIFY_API_TOKEN>",
"SUPABASE_URL": "<YOUR_SUPABASE_URL>",
"SUPABASE_SERVICE_ROLE_KEY": "<YOUR_SUPABASE_SERVICE_ROLE_KEY>"
}
}
}
}Claude Desktop — global install
{
"mcpServers": {
"supabase-coolify": {
"command": "supabase-coolify-mcp",
"env": {
"COOLIFY_API_URL": "http://localhost:8000",
"COOLIFY_API_TOKEN": "<YOUR_COOLIFY_API_TOKEN>",
"SUPABASE_URL": "<YOUR_SUPABASE_URL>",
"SUPABASE_SERVICE_ROLE_KEY": "<YOUR_SUPABASE_SERVICE_ROLE_KEY>"
}
}
}
}VS Code, VS Code Insiders
{
"servers": {
"supabase-coolify-mcp-server": {
"command": "npx",
"args": [
"-y",
"supabase-coolify-mcp-server"
],
"env": {
"COOLIFY_API_URL": "http://localhost:8000",
"COOLIFY_API_TOKEN": "<YOUR_COOLIFY_API_TOKEN>",
"SUPABASE_URL": "<YOUR_SUPABASE_URL>",
"SUPABASE_SERVICE_ROLE_KEY": "<YOUR_SUPABASE_SERVICE_ROLE_KEY>"
}
}
}
}Cursor
{
"mcpServers": {
"supabase-coolify-mcp-server": {
"command": "npx",
"args": [
"-y",
"supabase-coolify-mcp-server"
],
"env": {
"COOLIFY_API_URL": "http://localhost:8000",
"COOLIFY_API_TOKEN": "<YOUR_COOLIFY_API_TOKEN>",
"SUPABASE_URL": "<YOUR_SUPABASE_URL>",
"SUPABASE_SERVICE_ROLE_KEY": "<YOUR_SUPABASE_SERVICE_ROLE_KEY>"
}
}
}
}