---
title: "Supabase MCP server for AI agents - actionlake"
description: "Give Claude 159 Supabase actions through one MCP server: branches, projects, functions. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/supabase
updated: 2026-10-22
---

Connectors · Developer & infrastructure

# Supabase MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Supabase and the rest of your systems. It gives your agent 159 Supabase actions (74 reads, 61 writes and 24 that wait for a confirmation) and holds the Supabase credential itself, so the agent never does. It paces Supabase's limits and records every call.

[Connect Supabase free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "supabase.projects.list",
  intent: "check which Supabase account is connected"
}
# List all projects · read · 1 upstream call
```

- 159 actions in one signed file
- 74 read look, never change
- 61 write create and update
- 24 wait for a yes destructive, confirmed first

Set up

## Connect Supabase in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Supabase.
   Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `access_token` Supabase personal access token (starts sbp_)
   ```
   account { op: "connections.requirements", service: "supabase" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "supabase.projects.list" }
   # list all projects · read · 1 upstream call
   check { action: "supabase.projects.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Supabase at a glance

**Sign-in**

Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`access_token`

**Limits we pace to**

120 calls a minute, per connection

**API covered**

Supabase Management API v1 (OpenAPI 3.0.0)`api.supabase.com`

**Built from**

Supabase's documentation, read 22 October 2026[api.supabase.com](https://api.supabase.com/api/v1-json) [supabase.com](https://supabase.com/docs/reference/api/introduction)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

60 of 74 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

4, so ask can line Supabase up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Supabase.

159 actions in 67 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **74** read look, never change
- **61** write create and update
- **24** destructive wait for a confirmation

1. ### Branches
   10
   3 read · 5 write · 2 destructive
   Create a database branch · List all database branches · Get database branch config · Get a database branch
2. ### Projects
   9
   2 read · 5 write · 2 destructive
   List all projects · Create a project · Gets a specific project that belongs to the authenticated user · Updates the given project
3. ### Functions
   6
   2 read · 3 write · 1 destructive
   Create a function · List all functions · Bulk update functions · Retrieve a function
4. ### Migrations
   6
   2 read · 3 write · 1 destructive
   Apply a database migration · List applied migration versions · Fetch an existing entry from migration history · Rollback database migrations and remove them from history table
5. ### API keys
   5
   2 read · 2 write · 1 destructive
   Creates a new API key for the project · Get project api keys · Get API key · Updates an API key for the project
6. ### Custom hostname
   5
   1 read · 3 write · 1 destructive
   Activates a custom hostname for a project. · Gets project's custom hostname config · Updates project's custom hostname configuration · Attempts to verify the DNS configuration for project's custom hostname configuration
7. ### Jit access
   5
   2 read · 2 write · 1 destructive
   Authorize user-id to role mappings for JIT access · Get user-id to role mappings for JIT access · List all user-id to role mappings for JIT access · Updates a user mapping for JIT access
8. ### Signing keys
   5
   2 read · 2 write · 1 destructive
   Create a new signing key for the project in standby status · Get information about a signing key · List all signing keys for the project · Update a signing key, mainly its status

**59 more areas · 108 actions**

- SSO providers **5**
- Backups **4**
- Third party auth **4**
- Vanity subdomain **4**
- Action runs **3**
- Addons **3**
- Jit access invites **3**
- Network bans **3**
- Network restrictions **3**
- Organizations **3**
- Project claim tokens **3**
- Secrets **3**
- Auth config **2**
- Backup schedule **2**
- Cli login roles **2**
- Database **2**
- Disk **2**
- Jit access config **2**
- Legacy API keys **2**
- Legacy signing key **2**
- Organization project claims **2**
- Pgsodium config **2**
- Pooler config **2**
- Postgres config **2**
- Postgrest config **2**
- Read replicas **2**
- Readonly mode **2**
- Realtime config **2**
- Restore points **2**
- Snippets **2**
- SSL enforcement **2**
- Storage config **2**
- Analytics API counts **1**
- Analytics API request count **1**
- Analytics function stats **1**
- Analytics logs **1**
- Available regions **1**
- Branching **1**
- Database context **1**
- Database openapi **1**
- Database password **1**
- Database webhooks **1**
- Disk autoscale config **1**
- Disk utilization **1**
- Organization entitlements **1**
- Organization members **1**
- Organization projects **1**
- Performance advisors **1**
- Pgbouncer config **1**
- Postgres upgrade eligibility **1**
- Postgres upgrade status **1**
- Postgres upgrades **1**
- Profile **1**
- Project health **1**
- Project restore versions **1**
- Realtime **1**
- Security advisors **1**
- Storage buckets **1**
- Typescript types **1**

Top actions

## The Supabase API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 10 of Supabase's 10 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `supabase.projects.list` List all projects | List all projects. | read | `work.project.list` 109 connectors |
| `supabase.organizations.list` List all organizations | List all organizations. | read | `work.workspace.list` 50 connectors |
| `supabase.profile.get` Gets the user's profile | Gets the user's profile. | read | `identity.current_user.get` 307 connectors |
| `supabase.organization_members.list` List members of an organization | List members of an organization. | read | `work.workspace_member.list` 26 connectors |
| `supabase.projects.create` Create a project | Create a project. | write | `work.project.create` 102 connectors |
| `supabase.organizations.create` Create an organization | Create an organization. | write | `work.workspace.create` 36 connectors |
| `supabase.projects.delete` Deletes the given project | Deletes the given project. | destructive | `work.project.delete` 85 connectors |
| `supabase.secrets.list` List all secrets | List all secrets. | read | this connector |
| `supabase.api_keys.list` Get project api keys | Get project api keys. | read | this connector |
| `supabase.branches.list` List all database branches | List all database branches. | read | this connector |
| `supabase.snippets.list` Lists SQL snippets for the logged in user | Lists SQL snippets for the logged in user. | read | this connector |
| `supabase.api_keys.create` Creates a new API key for the project | Creates a new API key for the project. | write | this connector |

Try it

## Prompts to paste into Claude.

Each one names the Supabase actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Give me a one-line status for every active Supabase project.
   calls `supabase.projects.list`
2. Write write
   Create a project in Supabase. Show me exactly what you will send before you save it.
   calls `supabase.projects.create`

Governance for Supabase

## Destructive actions wait for a yes.

24 Supabase actions are destructive. These are all of them:

- Deletes the given project `supabase.projects.delete`
- Initiates an undo to a given restore point `supabase.backups.undo`
- Remove billing addons or revert compute instance sizing `supabase.addons.remove`
- Resets a database branch `supabase.branches.reset`
- Deletes an API key for the project `supabase.api_keys.delete`
- Delete a database branch `supabase.branches.delete`
- Delete a function `supabase.functions.delete`
- Disables preview branching `supabase.branching.disable`
- Delete JIT access by user-id `supabase.jit_access.delete`
- Rollback database migrations and remove them from history table `supabase.migrations.rollback`
- Remove network bans. `supabase.network_bans.delete`
- Bulk delete secrets `supabase.secrets.bulk_delete`
- Remove a signing key from a project. Only possible if the key has been in revoked status for a while. `supabase.signing_keys.delete`
- Restores a PITR backup for a database `supabase.backups.restore_pitr`
- Remove a read replica `supabase.read_replicas.remove`
- Removes an SSO provider by its UUID `supabase.sso_providers.delete`
- Delete existing login roles used by CLI `supabase.cli_login_roles.delete`
- Deletes a project's custom hostname configuration `supabase.custom_hostname.delete`
- Removes a third-party auth integration `supabase.third_party_auth.delete`
- Restores a physical backup for a database `supabase.backups.restore_physical`
- Deletes the invite for an external user to a database for JIT access `supabase.jit_access_invites.delete`
- Revokes project claim token `supabase.project_claim_tokens.delete`
- Deletes a project's vanity subdomain configuration `supabase.vanity_subdomain.deactivate`
- Cancels the given project restoration `supabase.projects.cancel_restoration`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do supabase.projects.delete confirm_policy: **human**

Deletes the given project?

**intent:** the user asked me to deletes the given project

run suspended · waiting for a named person · key _supabase-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "supabase-agent",
  allowed_actions: ["supabase.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "supabase.projects.delete", approver: "lead@example.com" },
    { match: "supabase.backups.undo", approver: "lead@example.com" },
    { match: "supabase.addons.remove", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Supabase only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Supabase costs on actionlake.

Every Supabase action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Supabase refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 159 Supabase actions
- 159 actions page each page of a long list is one call
- 60 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Supabase action.

159 actions by area: the id your agent calls, what it does, and its effect.

**Branches 10**

- `supabase.branches.create` Create a database branch write
- `supabase.branches.delete` Delete a database branch destructive
- `supabase.branches.get` Get database branch config read
- `supabase.branches.get_by_name` Get a database branch read
- `supabase.branches.list` List all database branches read
- `supabase.branches.merge` Merges a database branch write
- `supabase.branches.push` Pushes a database branch write
- `supabase.branches.reset` Resets a database branch destructive
- `supabase.branches.restore` Restore a scheduled branch deletion write
- `supabase.branches.update` Update database branch config write

**Projects 9**

- `supabase.projects.cancel_restoration` Cancels the given project restoration destructive
- `supabase.projects.create` Create a project write
- `supabase.projects.delete` Deletes the given project destructive
- `supabase.projects.get` Gets a specific project that belongs to the authenticated user read
- `supabase.projects.list` List all projects read
- `supabase.projects.pause` Pauses the given project write
- `supabase.projects.restart` Restarts the given project write
- `supabase.projects.restore` Restores the given project write
- `supabase.projects.update` Updates the given project write

**Functions 6**

- `supabase.functions.bulk_update` Bulk update functions write
- `supabase.functions.create` Create a function write
- `supabase.functions.delete` Delete a function destructive
- `supabase.functions.get` Retrieve a function read
- `supabase.functions.list` List all functions read
- `supabase.functions.update` Update a function write

**Migrations 6**

- `supabase.migrations.apply` Apply a database migration write
- `supabase.migrations.get` Fetch an existing entry from migration history read
- `supabase.migrations.list` List applied migration versions read
- `supabase.migrations.patch` Patch an existing entry in migration history write
- `supabase.migrations.rollback` Rollback database migrations and remove them from history table destructive
- `supabase.migrations.upsert` Upsert a database migration without applying write

**API keys 5**

- `supabase.api_keys.create` Creates a new API key for the project write
- `supabase.api_keys.delete` Deletes an API key for the project destructive
- `supabase.api_keys.get` Get API key read
- `supabase.api_keys.list` Get project api keys read
- `supabase.api_keys.update` Updates an API key for the project write

**Custom hostname 5**

- `supabase.custom_hostname.activate` Activates a custom hostname for a project. write
- `supabase.custom_hostname.delete` Deletes a project's custom hostname configuration destructive
- `supabase.custom_hostname.get` Gets project's custom hostname config read
- `supabase.custom_hostname.initialize` Updates project's custom hostname configuration write
- `supabase.custom_hostname.reverify` Attempts to verify the DNS configuration for project's custom hostname configuration write

**Jit access 5**

- `supabase.jit_access.authorize` Authorize user-id to role mappings for JIT access write
- `supabase.jit_access.delete` Delete JIT access by user-id destructive
- `supabase.jit_access.get` Get user-id to role mappings for JIT access read
- `supabase.jit_access.list` List all user-id to role mappings for JIT access read
- `supabase.jit_access.update` Updates a user mapping for JIT access write

**Signing keys 5**

- `supabase.signing_keys.create` Create a new signing key for the project in standby status write
- `supabase.signing_keys.delete` Remove a signing key from a project. Only possible if the key has been in revoked status for a while. destructive
- `supabase.signing_keys.get` Get information about a signing key read
- `supabase.signing_keys.list` List all signing keys for the project read
- `supabase.signing_keys.update` Update a signing key, mainly its status write

**SSO providers 5**

- `supabase.sso_providers.create` Creates a new SSO provider write
- `supabase.sso_providers.delete` Removes an SSO provider by its UUID destructive
- `supabase.sso_providers.get` Gets an SSO provider by its UUID read
- `supabase.sso_providers.list` Lists all SSO providers read
- `supabase.sso_providers.update` Updates an SSO provider by its UUID write

**Backups 4**

- `supabase.backups.list` Lists all backups read
- `supabase.backups.restore_physical` Restores a physical backup for a database destructive
- `supabase.backups.restore_pitr` Restores a PITR backup for a database destructive
- `supabase.backups.undo` Initiates an undo to a given restore point destructive

**Third party auth 4**

- `supabase.third_party_auth.create` Creates a new third-party auth integration write
- `supabase.third_party_auth.delete` Removes a third-party auth integration destructive
- `supabase.third_party_auth.get` Get a third-party integration read
- `supabase.third_party_auth.list` Lists all third-party auth integrations read

**Vanity subdomain 4**

- `supabase.vanity_subdomain.activate` Activates a vanity subdomain for a project. write
- `supabase.vanity_subdomain.check_availability` Checks vanity subdomain availability read
- `supabase.vanity_subdomain.deactivate` Deletes a project's vanity subdomain configuration destructive
- `supabase.vanity_subdomain.get` Gets current vanity subdomain config read

**Action runs 3**

- `supabase.action_runs.get` Get the status of an action run read
- `supabase.action_runs.list` List all action runs read
- `supabase.action_runs.update_status` Update the status of an action run write

**Addons 3**

- `supabase.addons.apply` Apply or update billing addons, including compute instance size write
- `supabase.addons.list` List billing addons and compute instance selections read
- `supabase.addons.remove` Remove billing addons or revert compute instance sizing destructive

**Jit access invites 3**

- `supabase.jit_access_invites.accept` Accepts invitation for JIT database access write
- `supabase.jit_access_invites.create` Invites an external user to a database for JIT access write
- `supabase.jit_access_invites.delete` Deletes the invite for an external user to a database for JIT access destructive

**Network bans 3**

- `supabase.network_bans.delete` Remove network bans. destructive
- `supabase.network_bans.list` Gets project's network bans read
- `supabase.network_bans.list_enriched` Gets project's network bans with additional information about which databases they affect read

**Network restrictions 3**

- `supabase.network_restrictions.apply` Updates project's network restrictions write
- `supabase.network_restrictions.get` Gets project's network restrictions read
- `supabase.network_restrictions.patch` Updates project's network restrictions by adding or removing CIDRs write

**Organizations 3**

- `supabase.organizations.create` Create an organization write
- `supabase.organizations.get` Gets information about the organization read
- `supabase.organizations.list` List all organizations read

**Project claim tokens 3**

- `supabase.project_claim_tokens.create` Creates project claim token write
- `supabase.project_claim_tokens.delete` Revokes project claim token destructive
- `supabase.project_claim_tokens.get` Gets project claim token read

**Secrets 3**

- `supabase.secrets.bulk_create` Bulk create secrets write
- `supabase.secrets.bulk_delete` Bulk delete secrets destructive
- `supabase.secrets.list` List all secrets read

**Auth config 2**

- `supabase.auth_config.get` Gets project's auth config read
- `supabase.auth_config.update` Updates a project's auth config write

**Backup schedule 2**

- `supabase.backup_schedule.get` Gets the backup schedule for a project read
- `supabase.backup_schedule.update` Updates the backup schedule time for a project write

**Cli login roles 2**

- `supabase.cli_login_roles.create` Create a login role for CLI with temporary password write
- `supabase.cli_login_roles.delete` Delete existing login roles used by CLI destructive

**Database 2**

- `supabase.database.read_only_query` Run a sql query as supabase_read_only_user read
- `supabase.database.run_query` Run sql query write

**Disk 2**

- `supabase.disk.get` Get database disk attributes read
- `supabase.disk.update` Modify database disk write

**Jit access config 2**

- `supabase.jit_access_config.get` Get project's temporary access configuration. read
- `supabase.jit_access_config.update` Update project's temporary access configuration. write

**Legacy API keys 2**

- `supabase.legacy_api_keys.get` Check whether JWT based legacy (anon, service_role) API keys are enabled. This API endpoint will be removed in the future, check for HTTP 404 Not Found. read
- `supabase.legacy_api_keys.update` Disable or re-enable JWT based legacy (anon, service_role) API keys. This API endpoint will be removed in the future, check for HTTP 404 Not Found. write

**Legacy signing key 2**

- `supabase.legacy_signing_key.create` Set up the project's existing JWT secret as an in_use JWT signing key. This endpoint will be removed in the future always check for HTTP 404 Not Found. write
- `supabase.legacy_signing_key.get` Get the signing key information for the JWT secret imported as signing key for this project. This endpoint will be removed in the future, check for HTTP 404 Not Found. read

**Organization project claims 2**

- `supabase.organization_project_claims.claim` Claims project for the specified organization write
- `supabase.organization_project_claims.get` Gets project details for the specified organization and claim token read

**Pgsodium config 2**

- `supabase.pgsodium_config.get` Gets project's pgsodium config read
- `supabase.pgsodium_config.update` Updates project's pgsodium config. Updating the root_key can cause all data encrypted with the older key to become inaccessible. write

**Pooler config 2**

- `supabase.pooler_config.get` Gets project's supavisor config read
- `supabase.pooler_config.update` Updates project's supavisor config write

**Postgres config 2**

- `supabase.postgres_config.get` Gets project's Postgres config read
- `supabase.postgres_config.update` Updates project's Postgres config write

**Postgrest config 2**

- `supabase.postgrest_config.get` Gets project's postgrest config read
- `supabase.postgrest_config.update` Updates project's postgrest config write

**Read replicas 2**

- `supabase.read_replicas.remove` Remove a read replica destructive
- `supabase.read_replicas.setup` Set up a read replica write

**Readonly mode 2**

- `supabase.readonly_mode.disable_temporarily` Disables project's readonly mode for the next 15 minutes write
- `supabase.readonly_mode.get` Returns project's readonly mode status read

**Realtime config 2**

- `supabase.realtime_config.get` Gets realtime configuration read
- `supabase.realtime_config.update` Updates realtime configuration write

**Restore points 2**

- `supabase.restore_points.create` Initiates a creation of a restore point for a database write
- `supabase.restore_points.get` Get restore points for project read

**Snippets 2**

- `supabase.snippets.get` Gets a specific SQL snippet read
- `supabase.snippets.list` Lists SQL snippets for the logged in user read

**SSL enforcement 2**

- `supabase.ssl_enforcement.get` Get project's SSL enforcement configuration. read
- `supabase.ssl_enforcement.update` Update project's SSL enforcement configuration. write

**Storage config 2**

- `supabase.storage_config.get` Gets project's storage config read
- `supabase.storage_config.update` Updates project's storage config write

**Analytics API counts 1**

- `supabase.analytics_api_counts.get` Gets project's usage api counts read

**Analytics API request count 1**

- `supabase.analytics_api_request_count.get` Gets project's usage api requests count read

**Analytics function stats 1**

- `supabase.analytics_function_stats.get` Gets a project's function combined statistics read

**Analytics logs 1**

- `supabase.analytics_logs.get` Gets all project's logs in a single log stream read

**Available regions 1**

- `supabase.available_regions.list` Gets the list of available regions that can be used for a new project read

**Branching 1**

- `supabase.branching.disable` Disables preview branching destructive

**Database context 1**

- `supabase.database_context.get` Gets database metadata for the given project. read

**Database openapi 1**

- `supabase.database_openapi.get` Get PostgREST OpenAPI spec read

**Database password 1**

- `supabase.database_password.update` Updates the database password write

**Database webhooks 1**

- `supabase.database_webhooks.enable` Enables Database Webhooks on the project write

**Disk autoscale config 1**

- `supabase.disk_autoscale_config.get` Gets project disk autoscale config read

**Disk utilization 1**

- `supabase.disk_utilization.get` Get disk utilization read

**Organization entitlements 1**

- `supabase.organization_entitlements.get` Get entitlements for an organization read

**Organization members 1**

- `supabase.organization_members.list` List members of an organization read

**Organization projects 1**

- `supabase.organization_projects.list` Gets all projects for the given organization read

**Performance advisors 1**

- `supabase.performance_advisors.list` Gets project performance advisors. read

**Pgbouncer config 1**

- `supabase.pgbouncer_config.get` Get project's pgbouncer config read

**Postgres upgrade eligibility 1**

- `supabase.postgres_upgrade_eligibility.get` Returns the project's eligibility for upgrades read

**Postgres upgrade status 1**

- `supabase.postgres_upgrade_status.get` Gets the latest status of the project's upgrade read

**Postgres upgrades 1**

- `supabase.postgres_upgrades.create` Upgrades the project's Postgres version write

**Profile 1**

- `supabase.profile.get` Gets the user's profile read

**Project health 1**

- `supabase.project_health.get` Gets project's service health status read

**Project restore versions 1**

- `supabase.project_restore_versions.list` Lists available restore versions for the given project read

**Realtime 1**

- `supabase.realtime.shutdown` Shutdowns realtime connections for a project write

**Security advisors 1**

- `supabase.security_advisors.list` Gets project security advisors. read

**Storage buckets 1**

- `supabase.storage_buckets.list` Lists all buckets read

**Typescript types 1**

- `supabase.typescript_types.generate` Generate TypeScript types read

Questions

## The Supabase MCP server, answered.

**Is there a Supabase MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 159 Supabase actions across branches, projects, functions and migrations, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Supabase.

**What do I need to connect Supabase?**

Supabase personal access token (starts sbp_). The free call account { op: "connections.requirements", service: "supabase" } lists exactly what to paste.

**Can an AI agent delete or change things in Supabase?**

Only if its key allows it, and only with an explicit confirmation. 24 Supabase actions are destructive, including deletes the given project, initiates an undo to a given restore point and remove billing addons or revert compute instance sizing. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Supabase API limit?**

actionlake paces every call to the limits in the Supabase service file: 120 calls a minute per connection. Repeated reads are answered from cache (60 Supabase actions can be), which never reaches Supabase.

**What does a Supabase action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (159 Supabase actions page). Cache hits, searches, dry runs and calls Supabase refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Supabase API does it cover?**

The Supabase Management API v1 (OpenAPI 3.0.0) at api.supabase.com. It is built from Supabase's documentation as read on 22 October 2026. 159 actions in 67 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Supabase data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Supabase credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Supabase

Shares the most action names with

- [MongoDB Atlas 7](https://actionlake.com/connectors/mongodb-atlas)
- [Harness Platform 6](https://actionlake.com/connectors/harness-platform)
- [Upsun (Platform.sh) 6](https://actionlake.com/connectors/upsun-platform-sh)
- [Optimizely Feature Experimentation 5](https://actionlake.com/connectors/optimizely-feature-experimentation)
- [NocoDB 2](https://actionlake.com/connectors/nocodb)
- [GrowthBook 2](https://actionlake.com/connectors/growthbook)

Joins with, on shared entities

- [Jibble 3](https://actionlake.com/connectors/jibble)
- [Toggl Track 3](https://actionlake.com/connectors/toggl-track)
- [Botpress 3](https://actionlake.com/connectors/botpress)
- [Clockify 3](https://actionlake.com/connectors/clockify)
- [Todoist 3](https://actionlake.com/connectors/todoist)
- [Adobe Frame.io (V4) 3](https://actionlake.com/connectors/adobe-frame-io-v4)

Browse

- [All Developer & infrastructure connectors](https://actionlake.com/connectors/category/developer-and-infrastructure)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Supabase; the name is the vendor's own. Counts are from the Supabase service file, version 1.0.0.

## Give your agent Supabase today.

[Connect Supabase free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/supabase
More: https://actionlake.com/llms.txt
