12 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.
Create Supabase project
supabase.create_projectwriteconfirmadmin only
Creates a REAL Supabase project (Postgres database + user auth + file storage) in its own Supabase account. Supabase bills that account's organization directly for the project's compute — real money on the tenant's own Supabase invoice, starting immediately (their free tier covers two small projects). The project comes up asynchronously over one to three minutes; poll supabase.get_project until status is ACTIVE_HEALTHY.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
name
string
required
A name for the project, shown here and in the Supabase dashboard.
supabase_org_id
string
required
Which Supabase organization (their side) to create it in — an organization id from supabase.get_connection.
Over MCP the same operation is the tool supabase_create_project at https://app.chirply.io/api/mcp, same bearer token, same input.
Delete project
supabase.delete_projectwriteconfirmadmin only
PERMANENTLY deletes a Supabase project from its own Supabase account — the database and every row, user, and file in it are destroyed with no undo, and anything using it as a backend stops working. Supabase stops billing for it. Use supabase.forget_project to merely remove a project from this account without touching the real project.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
project_id
string (uuid)
required
The project's id in this account (from supabase.list_projects — NOT the Supabase project ref).
Over MCP the same operation is the tool supabase_delete_project at https://app.chirply.io/api/mcp, same bearer token, same input.
Disconnect Supabase
supabase.disconnectwriteconfirmadmin only
Removes its own Supabase account connection (the stored token or OAuth grant). Refuses while any backend link still exists, so live sites and apps aren't silently stranded — unlink them first. Project mirror rows are kept; the real projects in the Supabase account are untouched.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool supabase_disconnect at https://app.chirply.io/api/mcp, same bearer token, same input.
Remove project from account
supabase.forget_projectwriteadmin only
Forgets a project locally — removes its row and backend links from this account only. The real Supabase project keeps running, untouched, in the tenant's account; supabase.sync_projects would re-import it.
Parameters
Field
Type
Required
Description
project_id
string (uuid)
required
The project's id in this account (from supabase.list_projects — NOT the Supabase project ref).
Over MCP the same operation is the tool supabase_forget_project at https://app.chirply.io/api/mcp, same bearer token, same input.
Check Supabase connection
supabase.get_connectionreadadmin only
Checks whether this account has connected its own Supabase account (pasted personal access token or OAuth grant) and, when connected, verifies it live and lists the Supabase organizations the credential can see — the organization ids create_project needs. Never returns the credential itself.
Over MCP the same operation is the tool supabase_get_connection at https://app.chirply.io/api/mcp, same bearer token, same input.
View project
supabase.get_projectreadadmin only
One Supabase project's current state: refreshes status from the live account, fetches its API keys once available, and returns the project with its links. Safe to poll after create_project.
Parameters
Field
Type
Required
Description
project_id
string (uuid)
required
The project's id in this account (from supabase.list_projects — NOT the Supabase project ref).
Over MCP the same operation is the tool supabase_get_project at https://app.chirply.io/api/mcp, same bearer token, same input.
Reveal project credentials
supabase.get_project_keysreadconfirmadmin only
Returns a project's connection credentials: API URL and publishable (anon) key always, plus — only when include_service_role is true — the service-role key, which bypasses every row-level security rule on the tenant's project, and the generated database password for Chirply-provisioned projects. Handing out the service-role key is equivalent to handing out the whole database, which is why this call requires confirmation.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
project_id
string (uuid)
required
The project's id in this account (from supabase.list_projects — NOT the Supabase project ref).
include_service_role
boolean
optional
Also return the service-role key and database password. Leave false unless a trusted server-side use genuinely needs them. Default: false
Over MCP the same operation is the tool supabase_get_project_keys at https://app.chirply.io/api/mcp, same bearer token, same input.
Link project as backend
supabase.link_projectwriteadmin only
Points a Chirply-built thing at a Supabase project as its backend: one site/funnel, one installed app, or the account-wide default. The target then boots with that project's API URL and publishable key. A target's existing backend link is replaced, not duplicated.
Parameters
Field
Type
Required
Description
project_id
string (uuid)
required
The project's id in this account (from supabase.list_projects — NOT the Supabase project ref).
target_type
"workspace" | "funnel" | "app_install"
required
What kind of thing the project backs: 'account' is the org-wide default backend, 'funnel' is one site/funnel, 'app_install' is one installed app.
target_id
string (uuid) (or null)
optional
The funnel id or app-install id being backed. Required for 'funnel' and 'app_install'; must be omitted for 'account'.
Over MCP the same operation is the tool supabase_link_project at https://app.chirply.io/api/mcp, same bearer token, same input.
List Supabase projects
supabase.list_projectsreadadmin only
Lists the Supabase projects this account knows about — provisioned from here or imported from the connected account — with status, region, API URL, the public (anon) key, and what each one is linked to as a backend. Reads the local mirror; run supabase.sync_projects first for a fresh pull from the account.
Over MCP the same operation is the tool supabase_list_projects at https://app.chirply.io/api/mcp, same bearer token, same input.
Run SQL on project
supabase.run_sqlwriteconfirmadmin only
Executes arbitrary SQL against one of the account's own Supabase projects with full database privileges — creating tables, migrating schemas, reading or DELETING any data in that project. This is the tool for setting up a linked backend's schema. It runs on the tenant's project, not on Chirply, but a destructive statement is still irreversible.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
project_id
string (uuid)
required
The project's id in this account (from supabase.list_projects — NOT the Supabase project ref).
query
string
required
The SQL to execute, verbatim, with full privileges on that project.
Over MCP the same operation is the tool supabase_run_sql at https://app.chirply.io/api/mcp, same bearer token, same input.
Sync projects from Supabase
supabase.sync_projectswriteadmin only
Pulls the live project list from the connected Supabase account and mirrors it here: refreshes names/regions/statuses, imports projects that already existed in the account, and marks projects deleted upstream. Changes nothing in the Supabase account itself.
Over MCP the same operation is the tool supabase_sync_projects at https://app.chirply.io/api/mcp, same bearer token, same input.
Unlink backend
supabase.unlink_projectwriteadmin only
Removes one backend link (from supabase.list_projects). The Supabase project itself is untouched; whatever it backed simply no longer has a backend (or falls back to the account default).