Supabase Management
Lets an agent monitor Supabase projects without touching data: list organizations and projects, check service health, review edge functions, query project logs, read security and performance advisors, and check backups, branches and API usage. Curated from Supabase's official OpenAPI specification.
Connect this API to an AI agent Browse all specs
What you can do with Supabase Management via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| GET | /v1/organizations |
listOrganizations | List organizations you belong to |
| GET | /v1/organizations/{slug}/projects |
listOrganizationProjects | List the projects in an organization |
| GET | /v1/projects |
listProjects | List all projects you can access |
| GET | /v1/projects/{ref} |
getProject | Get a project's status, region and database version |
| GET | /v1/projects/{ref}/health |
getServicesHealth | Check whether the project's services are healthy |
| GET | /v1/projects/{ref}/functions |
listEdgeFunctions | List a project's edge functions |
| GET | /v1/projects/{ref}/functions/{function_slug} |
getEdgeFunction | Get one edge function's status and version |
| GET | /v1/projects/{ref}/analytics/endpoints/logs |
getProjectLogs | Query the project's logs (API, Postgres, auth, functions) |
| GET | /v1/projects/{ref}/analytics/endpoints/usage.api-counts |
getApiUsageCounts | Get API request counts over time |
| GET | /v1/projects/{ref}/advisors/security |
getSecurityAdvisors | List security warnings (e.g. tables without RLS) |
| GET | /v1/projects/{ref}/advisors/performance |
getPerformanceAdvisors | List performance warnings (e.g. missing indexes) |
| GET | /v1/projects/{ref}/database/backups |
listBackups | List database backups and point-in-time recovery status |
| GET | /v1/projects/{ref}/branches |
listBranches | List preview branches of a project |
Authentication
bearer
Bearer token — sent as Authorization: Bearer <token>
Supabase personal access token sent as Authorization: Bearer <token>.
How to get a credential
- Sign in to supabase.com and open Account > Access Tokens (supabase.com/dashboard/account/tokens).
- Click Generate new token, name it (e.g.
VX Agents) and set an expiry. - Copy the token (
sbp_...); it is shown only once.
Permissions used
Personal access tokens act as your account on every organization you belong to (OAuth apps can use narrower scopes).
| Access | Operations |
|---|---|
| Organizations (read) | listOrganizations, listOrganizationProjects |
| Projects (read) | listProjects, getProject, getServicesHealth, listBranches |
| Edge Functions (read) | listEdgeFunctions, getEdgeFunction |
| Analytics (read) | getProjectLogs, getApiUsageCounts |
| Advisors (read) | getSecurityAdvisors, getPerformanceAdvisors |
| Database backups (read) | listBackups |
Common errors
- 401 Unauthorized: token missing, expired or revoked. Generate a new token.
- 403 Forbidden: your role in the organization cannot read this project (or the feature needs a paid plan).
- 404 Not Found: wrong project
ref(the 20-character id in the dashboard URL). - 400 Bad Request: invalid query parameters (e.g. log time range over 24 hours, unknown
servicesvalue). - 429 Too Many Requests: Management API limit (about 60 requests/minute per user); wait and retry.
Store the token as a VX Agents credential so it is never pasted into chat.
Usage guide
Setup
- Add a Supabase personal access token (Account > Access Tokens, starts with
sbp_) as a Bearer credential. - If the agent watches one project, preset
refto its project ref: the 20-letter id in the dashboard URL (supabase.com/dashboard/project/<ref>).
Check a project
listProjects(orlistOrganizations→listOrganizationProjectswith the orgslug) to find the projectref.getProjectforstatus(e.g.ACTIVE_HEALTHY,INACTIVE= paused), region and Postgres version.getServicesHealthwithservices=auth,db,rest,realtime,storage,poolerto see which services are unhealthy.getSecurityAdvisorsandgetPerformanceAdvisorsfor issues like tables without row-level security or missing indexes. Report thelevel(ERROR,WARN,INFO) and theremediationlink.listBackupsto confirm recent backups and whether point-in-time recovery is on;listBranchesfor preview branches.
Investigate errors
getProjectLogswithiso_timestamp_startandiso_timestamp_end(UTC,2026-10-14T08:00:00Z, at most 24 hours apart) and asqlquery over the log tables, e.g.select timestamp, event_message from postgres_logs order by timestamp desc limit 50. Other tables:edge_logs(API requests),auth_logs,function_logs,function_edge_logs. Nested fields such as status codes need thecross join unnest(...)syntax from the Supabase logs docs.listEdgeFunctions/getEdgeFunctionwithfunction_slugfor function status and version.getApiUsageCountswithinterval(1hr,1day,7day) for request volume.
Good to know
- The
sqlparameter ongetProjectLogsonly reads the logs store. It cannot read or change your database. - This spec is read-only: it cannot run database SQL, restart or pause projects, read API keys or secrets, or delete anything. Tell the user to make changes in the dashboard.
- Always add a
limitto log queries to keep responses small. - Rate limit is about 60 requests per minute.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “Supabase Management” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.