Skip to content

Connectors · Developer & infrastructure

PlanetScale MCP server for AI agents.

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

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: "planetscale.organizations.list",  intent: "check which PlanetScale account is connected"}# List organizations · read · 1 upstream call
  • 268actionsin one signed file
  • 136readlook, never change
  • 93writecreate and update
  • 39wait for a yesdestructive, confirmed first

Set up

Connect PlanetScale 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 PlanetScale.

    API key. 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.

    • service_token_idPlanetScale service token ID
    • service_tokenPlanetScale service token secret (shown once when the token is created)
    account { op: "connections.requirements", service: "planetscale" }
    # 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: "planetscale.organizations.list" }# list organizations · read · 1 upstream callcheck { action: "planetscale.teams.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

PlanetScale at a glance

Sign-in
API key. 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
service_token_idservice_token
Limits we pace to
600 calls a minute, per connection
API covered
PlanetScale API v1 (Swagger 2.0, 282 operations)api.planetscale.com/v1
Built from
PlanetScale's documentation, read 23 October 2026api.planetscale.complanetscale.complanetscale.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
124 of 136 reads, for up to 5 minutes; a write clears what it affects
Shared entities
6, so ask can line PlanetScale up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in PlanetScale.

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

  • 136readlook, never change
  • 93writecreate and update
  • 39destructivewait for a confirmation
  1. Deploy requests

    18

    5 read · 11 write · 2 destructive

    Create a deploy request · List deploy requests · Complete a gated deploy request · Check deploy request storage

  2. Branches

    11

    4 read · 6 write · 1 destructive

    Create a branch · Lint a branch schema · List branches · Demote a branch

  3. Move tables workflows

    10

    3 read · 5 write · 2 destructive

    Create a MoveTables workflow · List MoveTables workflows · Complete a MoveTables workflow · Show MoveTables workflow details

  4. Roles

    10

    3 read · 6 write · 1 destructive

    Create role credentials · List roles · Get a role · Delete role credentials

  5. Configuration profiles

    9

    2 read · 6 write · 1 destructive

    Create a configuration profile for a Neki branch · Duplicate a configuration profile for a Neki branch · List configuration profiles for a Neki branch · Get a configuration profile for a Neki branch

  6. Configuration profile shards

    8

    2 read · 4 write · 2 destructive

    Add shards to a Neki configuration profile · Add a shard to a Neki configuration profile · List shards for a Neki configuration profile · Assign shards to a Neki configuration profile

  7. Keyspaces

    8

    4 read · 3 write · 1 destructive

    Create a keyspace · Get keyspaces · Get a keyspace · Get keyspace rollout status

  8. Metrics

    8

    8 read · 0 write · 0 destructive

    Get time-series metrics · Get current metric values · Get table storage metrics by keyspace · Get time-series metrics for SQL queries

70 more areas · 186 actions
  • Databases 7
  • Passwords 6
  • Webhooks 6
  • Backup policies 5
  • Backups 5
  • Branch config changes 5
  • Cidrs 5
  • Dedicated read replicas 5
  • Insights queries 5
  • Routers 5
  • Teams 5
  • Traffic budgets 5
  • Bouncers 4
  • Branch resizes 4
  • Keyspace config changes 4
  • Keyspace resizes 4
  • Members 4
  • Oauth application tokens 4
  • Query patterns 4
  • Service tokens 4
  • SSO 4
  • SSO domains 4
  • Team members 4
  • Bouncer resizes 3
  • Branch changes 3
  • Insights tags 3
  • Invitations 3
  • Neki changes 3
  • Organizations 3
  • Safe migrations 3
  • Schema recommendations 3
  • Switchovers 3
  • Admin 2
  • Branch shards 2
  • Data topology 2
  • Deploy request reviews 2
  • Insights anomalies 2
  • Insights errors 2
  • Invoices 2
  • Maintenance schedules 2
  • Oauth applications 2
  • Payment method 2
  • Payment method setups 2
  • SSO directory 2
  • Traffic rules 2
  • Admin parameters 1
  • Admin size skus 1
  • Audit log 1
  • Branch bouncer resizes 1
  • Branch extensions 1
  • Branch parameters 1
  • Cluster size skus 1
  • Configuration profile extensions 1
  • Configuration profile parameters 1
  • Current user 1
  • Database regions 1
  • Dedicated read replica changes 1
  • Deploy queue 1
  • Deploy request operations 1
  • Invoice line items 1
  • Log signatures 1
  • Maintenance schedule windows 1
  • Organization regions 1
  • Postgres versions 1
  • Public regions 1
  • Read only regions 1
  • Router parameters 1
  • Router size skus 1
  • Vitess parameters 1
  • Vtctld operations 1

Top actions

The PlanetScale API, shaped for agents.

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

ActionWhat it doesEffectSame name in
planetscale.teams.listList teams in an organizationList teams in an organization.readidentity.group.list262 connectors
planetscale.current_user.getGet current userGet current user.readidentity.current_user.get307 connectors
planetscale.members.listList organization membersList organization members.readidentity.group_member.list103 connectors
planetscale.teams.createCreate an organization teamCreate an organization team.writeidentity.group.create205 connectors
planetscale.team_members.listList team membersList team members.readidentity.group_member.list103 connectors
planetscale.service_tokens.listList service tokensList service tokens.readidentity.api_key.list96 connectors
planetscale.teams.deleteDelete an organization teamDelete an organization team.destructiveidentity.group.delete181 connectors
planetscale.service_tokens.createCreate a service tokenCreate a service token.writeidentity.api_key.create100 connectors
planetscale.audit_log.listList audit logsList audit logs.readidentity.audit_event.list51 connectors
planetscale.invitations.createSend an invitationSend an invitation.writeidentity.invitation.create41 connectors
planetscale.invitations.listList pending invitationsList pending invitations.readidentity.invitation.list33 connectors
planetscale.databases.listList databasesList databases.readinfra.database.list7 connectors

Try it

Prompts to paste into Claude.

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

  1. Readread

    List the PlanetScale groups and how many members each one has.

    callsplanetscale.teams.list

  2. Writewrite

    Create an organization team in PlanetScale. Show me exactly what you will send before you save it.

    callsplanetscale.teams.create

Governance for PlanetScale

Destructive actions wait for a yes.

39 PlanetScale actions are destructive. The first 10:

  • Delete an organization teamplanetscale.teams.delete
  • Remove a member from an organizationplanetscale.members.remove
  • Remove a member from a teamplanetscale.team_members.remove
  • Delete a service tokenplanetscale.service_tokens.delete
  • Delete a webhookplanetscale.webhooks.delete
  • Delete role credentialsplanetscale.roles.delete
  • Delete a databaseplanetscale.databases.delete
  • Delete a backup policyplanetscale.backup_policies.delete
  • Disable organization SSOplanetscale.sso.disable
  • Delete an IP restriction entryplanetscale.cidrs.delete

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.

doplanetscale.teams.deleteconfirm_policy: human

Delete an organization team?

intent: the user asked me to delete an organization team

run suspended · waiting for a named person · key planetscale-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "planetscale-agent",  allowed_actions: ["planetscale.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "planetscale.teams.delete", approver: "[email protected]" },    { match: "planetscale.members.remove", approver: "[email protected]" },    { match: "planetscale.team_members.remove", approver: "[email protected]" }  ]}
Illustrative. Scoped to PlanetScale only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What PlanetScale costs on actionlake.

Every PlanetScale action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call PlanetScale 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.

  • 1upstream call per actionall 268 PlanetScale actions
  • 268actions pageeach page of a long list is one call
  • 124reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every PlanetScale action.

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

Deploy requests18
  • planetscale.deploy_requests.apply_gated_deployComplete a gated deploy requestwrite
  • planetscale.deploy_requests.cancelCancel a queued deploy requestdestructive
  • planetscale.deploy_requests.check_storageCheck deploy request storageread
  • planetscale.deploy_requests.closeClose a deploy requestdestructive
  • planetscale.deploy_requests.complete_errored_deployComplete an errored deploywrite
  • planetscale.deploy_requests.createCreate a deploy requestwrite
  • planetscale.deploy_requests.force_cutoverEnable force cutover for a deploy requestwrite
  • planetscale.deploy_requests.getGet a deploy requestread
  • planetscale.deploy_requests.get_deploymentGet a deploymentread
  • planetscale.deploy_requests.get_throttlerGet deploy request throttler configurationsread
  • planetscale.deploy_requests.listList deploy requestsread
  • planetscale.deploy_requests.queue_deployQueue a deploy requestwrite
  • planetscale.deploy_requests.revertComplete a revertwrite
  • planetscale.deploy_requests.skip_revert_periodSkip revert periodwrite
  • planetscale.deploy_requests.update_aggressive_cutoverUpdate aggressive cutover for a deploy requestwrite
  • planetscale.deploy_requests.update_auto_applyUpdate auto-apply for deploy requestwrite
  • planetscale.deploy_requests.update_auto_delete_branchUpdate auto-delete branch for deploy requestwrite
  • planetscale.deploy_requests.update_throttlerUpdate deploy request throttler configurationswrite
Branches11
  • planetscale.branches.createCreate a branchwrite
  • planetscale.branches.deleteDelete a branchdestructive
  • planetscale.branches.demoteDemote a branchwrite
  • planetscale.branches.getGet a branchread
  • planetscale.branches.get_schemaGet a branch schemaread
  • planetscale.branches.lint_schemaLint a branch schemaread
  • planetscale.branches.listList branchesread
  • planetscale.branches.promotePromote a branchwrite
  • planetscale.branches.run_maintenanceRun maintenance for a Postgres branchwrite
  • planetscale.branches.updateUpdate a branchwrite
  • planetscale.branches.update_clusterChange a branch cluster configurationwrite
Move tables workflows10
  • planetscale.move_tables_workflows.cancelCancel a MoveTables workflowdestructive
  • planetscale.move_tables_workflows.completeComplete a MoveTables workflowwrite
  • planetscale.move_tables_workflows.createCreate a MoveTables workflowwrite
  • planetscale.move_tables_workflows.getShow MoveTables workflow detailsread
  • planetscale.move_tables_workflows.get_statusShow MoveTables workflow statusread
  • planetscale.move_tables_workflows.listList MoveTables workflowsread
  • planetscale.move_tables_workflows.reverse_trafficReverse traffic back to the source keyspacewrite
  • planetscale.move_tables_workflows.startStart a MoveTables workflowwrite
  • planetscale.move_tables_workflows.stopStop a MoveTables workflowdestructive
  • planetscale.move_tables_workflows.switch_trafficSwitch traffic to the target keyspacewrite
Roles10
  • planetscale.roles.createCreate role credentialswrite
  • planetscale.roles.deleteDelete role credentialsdestructive
  • planetscale.roles.getGet a roleread
  • planetscale.roles.get_defaultGet the default postgres roleread
  • planetscale.roles.listList rolesread
  • planetscale.roles.reassign_objectsReassign objects owned by one role to another rolewrite
  • planetscale.roles.renewRenew role expirationwrite
  • planetscale.roles.resetReset a role's passwordwrite
  • planetscale.roles.reset_defaultReset default credentialswrite
  • planetscale.roles.updateUpdate role namewrite
Configuration profiles9
  • planetscale.configuration_profiles.createCreate a configuration profile for a Neki branchwrite
  • planetscale.configuration_profiles.deleteDelete a configuration profile for a Neki branchdestructive
  • planetscale.configuration_profiles.duplicateDuplicate a configuration profile for a Neki branchwrite
  • planetscale.configuration_profiles.getGet a configuration profile for a Neki branchread
  • planetscale.configuration_profiles.listList configuration profiles for a Neki branchread
  • planetscale.configuration_profiles.run_maintenanceRun maintenance for a Neki configuration profilewrite
  • planetscale.configuration_profiles.run_maintenance_allRun maintenance for selected Neki configuration profileswrite
  • planetscale.configuration_profiles.set_defaultSet the default configuration profile for a Neki branchwrite
  • planetscale.configuration_profiles.updateUpdate a configuration profile for a Neki branchwrite
Configuration profile shards8
  • planetscale.configuration_profile_shards.assignAssign shards to a Neki configuration profilewrite
  • planetscale.configuration_profile_shards.bulk_createAdd shards to a Neki configuration profilewrite
  • planetscale.configuration_profile_shards.createAdd a shard to a Neki configuration profilewrite
  • planetscale.configuration_profile_shards.deleteRemove a shard from a Neki configuration profiledestructive
  • planetscale.configuration_profile_shards.delete_manyRemove shards from a Neki configuration profiledestructive
  • planetscale.configuration_profile_shards.getGet a shard in a Neki configuration profileread
  • planetscale.configuration_profile_shards.listList shards for a Neki configuration profileread
  • planetscale.configuration_profile_shards.updateUpdate a shard in a Neki configuration profilewrite
Keyspaces8
  • planetscale.keyspaces.createCreate a keyspacewrite
  • planetscale.keyspaces.deleteDelete a keyspacedestructive
  • planetscale.keyspaces.getGet a keyspaceread
  • planetscale.keyspaces.get_rollout_statusGet keyspace rollout statusread
  • planetscale.keyspaces.get_vschemaGet the VSchema for the keyspaceread
  • planetscale.keyspaces.listGet keyspacesread
  • planetscale.keyspaces.updateConfigure keyspace settingswrite
  • planetscale.keyspaces.update_vschemaUpdate the VSchema for the keyspacewrite
Metrics8
  • planetscale.metrics.get_branchGet time-series metricsread
  • planetscale.metrics.get_branch_instantGet current metric valuesread
  • planetscale.metrics.get_keyspace_tablesGet table storage metrics by keyspaceread
  • planetscale.metrics.get_queryGet time-series metrics for SQL queriesread
  • planetscale.metrics.get_tablesGet table storage metricsread
  • planetscale.metrics.get_tabletsGet time-series tablet metricsread
  • planetscale.metrics.get_tablets_instantGet current tablet metricsread
  • planetscale.metrics.get_tagGet time-series metrics grouped by query tagsread
Databases7
  • planetscale.databases.createCreate a databasewrite
  • planetscale.databases.deleteDelete a databasedestructive
  • planetscale.databases.getGet a databaseread
  • planetscale.databases.get_throttlerGet database throttler configurationsread
  • planetscale.databases.listList databasesread
  • planetscale.databases.updateUpdate database settingswrite
  • planetscale.databases.update_throttlerUpdate database throttler configurationswrite
Passwords6
  • planetscale.passwords.createCreate a passwordwrite
  • planetscale.passwords.deleteDelete a passworddestructive
  • planetscale.passwords.getGet a passwordread
  • planetscale.passwords.listList passwordsread
  • planetscale.passwords.renewRenew a passwordwrite
  • planetscale.passwords.updateUpdate a passwordwrite
Webhooks6
  • planetscale.webhooks.createCreate a webhookwrite
  • planetscale.webhooks.deleteDelete a webhookdestructive
  • planetscale.webhooks.getGet a webhookread
  • planetscale.webhooks.listList webhooksread
  • planetscale.webhooks.testTest a webhookwrite
  • planetscale.webhooks.updateUpdate a webhookwrite
Backup policies5
  • planetscale.backup_policies.createCreate a backup policywrite
  • planetscale.backup_policies.deleteDelete a backup policydestructive
  • planetscale.backup_policies.getGet a backup policyread
  • planetscale.backup_policies.listList backup policiesread
  • planetscale.backup_policies.updateUpdate a backup policywrite
Backups5
  • planetscale.backups.createCreate a backupwrite
  • planetscale.backups.deleteDelete a backupdestructive
  • planetscale.backups.getGet a backupread
  • planetscale.backups.listList backupsread
  • planetscale.backups.updateUpdate a backupwrite
Branch config changes5
  • planetscale.branch_config_changes.cancelCancel a draft or pending branch config change requestdestructive
  • planetscale.branch_config_changes.createCreate a branch config change requestwrite
  • planetscale.branch_config_changes.getGet a branch config change requestread
  • planetscale.branch_config_changes.listList branch config change requestsread
  • planetscale.branch_config_changes.submitSubmit draft config change requestswrite
Cidrs5
  • planetscale.cidrs.createCreate an IP restriction entrywrite
  • planetscale.cidrs.deleteDelete an IP restriction entrydestructive
  • planetscale.cidrs.getGet an IP restriction entryread
  • planetscale.cidrs.listList IP restriction entriesread
  • planetscale.cidrs.updateUpdate an IP restriction entrywrite
Dedicated read replicas5
  • planetscale.dedicated_read_replicas.createCreate a dedicated read replicawrite
  • planetscale.dedicated_read_replicas.deleteDelete a dedicated read replicadestructive
  • planetscale.dedicated_read_replicas.getGet a dedicated read replicaread
  • planetscale.dedicated_read_replicas.listList dedicated read replicasread
  • planetscale.dedicated_read_replicas.updateUpdate a dedicated read replicawrite
Insights queries5
  • planetscale.insights_queries.getRetrieve a branch queryread
  • planetscale.insights_queries.get_statisticsRetrieve query statisticsread
  • planetscale.insights_queries.get_summaryRetrieve a summary of query statisticsread
  • planetscale.insights_queries.listList branch queriesread
  • planetscale.insights_queries.list_traffic_budgetsList traffic budgets affecting a query fingerprintread
Routers5
  • planetscale.routers.createCreate a router for a Neki branchwrite
  • planetscale.routers.deleteDelete a router from a Neki branchdestructive
  • planetscale.routers.getGet a router for a Neki branchread
  • planetscale.routers.listList routers for a Neki branchread
  • planetscale.routers.updateUpdate a router for a Neki branchwrite
Teams5
  • planetscale.teams.createCreate an organization teamwrite
  • planetscale.teams.deleteDelete an organization teamdestructive
  • planetscale.teams.getGet an organization teamread
  • planetscale.teams.listList teams in an organizationread
  • planetscale.teams.updateUpdate an organization teamwrite
Traffic budgets5
  • planetscale.traffic_budgets.createCreate a traffic budgetwrite
  • planetscale.traffic_budgets.deleteDelete a traffic budgetdestructive
  • planetscale.traffic_budgets.getGet a traffic budgetread
  • planetscale.traffic_budgets.listList traffic budgetsread
  • planetscale.traffic_budgets.updateUpdate a traffic budgetwrite
Bouncers4
  • planetscale.bouncers.createCreate a bouncerwrite
  • planetscale.bouncers.deleteDelete a bouncerdestructive
  • planetscale.bouncers.getGet a bouncerread
  • planetscale.bouncers.listList bouncersread
Branch resizes4
  • planetscale.branch_resizes.cancelCancel a change requestdestructive
  • planetscale.branch_resizes.getGet a branch resize requestread
  • planetscale.branch_resizes.listGet branch resize requestsread
  • planetscale.branch_resizes.updateUpsert a resize requestwrite
Keyspace config changes4
  • planetscale.keyspace_config_changes.cancelCancel a draft or pending keyspace config change requestdestructive
  • planetscale.keyspace_config_changes.createCreate a keyspace config change requestwrite
  • planetscale.keyspace_config_changes.getGet a keyspace config change requestread
  • planetscale.keyspace_config_changes.listList keyspace config change requestsread
Keyspace resizes4
  • planetscale.keyspace_resizes.cancelCancel a resize requestdestructive
  • planetscale.keyspace_resizes.getGet a keyspace resize requestread
  • planetscale.keyspace_resizes.listGet keyspace resize requestsread
  • planetscale.keyspace_resizes.updateUpsert a resize requestwrite
Members4
  • planetscale.members.getGet an organization memberread
  • planetscale.members.listList organization membersread
  • planetscale.members.removeRemove a member from an organizationdestructive
  • planetscale.members.updateUpdate organization member rolewrite
Oauth application tokens4
  • planetscale.oauth_application_tokens.createCreate or renew an OAuth tokenwrite
  • planetscale.oauth_application_tokens.deleteDelete an OAuth tokendestructive
  • planetscale.oauth_application_tokens.getGet an OAuth tokenread
  • planetscale.oauth_application_tokens.listList OAuth tokensread
Query patterns4
  • planetscale.query_patterns.createCreate a new query patterns reportwrite
  • planetscale.query_patterns.deleteDelete a query patterns reportdestructive
  • planetscale.query_patterns.getShow the status of a query patterns reportread
  • planetscale.query_patterns.listList generated query patterns reportsread
Service tokens4
  • planetscale.service_tokens.createCreate a service tokenwrite
  • planetscale.service_tokens.deleteDelete a service tokendestructive
  • planetscale.service_tokens.getGet a service tokenread
  • planetscale.service_tokens.listList service tokensread
SSO4
  • planetscale.sso.configureOpen the SSO configuration portalwrite
  • planetscale.sso.disableDisable organization SSOdestructive
  • planetscale.sso.enableEnable organization SSOwrite
  • planetscale.sso.getGet organization SSO statusread
SSO domains4
  • planetscale.sso_domains.createStart SSO domain verificationwrite
  • planetscale.sso_domains.deleteDelete an SSO domaindestructive
  • planetscale.sso_domains.getGet an SSO domainread
  • planetscale.sso_domains.listList organization SSO domainsread
Team members4
  • planetscale.team_members.addAdd a member to a teamwrite
  • planetscale.team_members.getGet a team memberread
  • planetscale.team_members.listList team membersread
  • planetscale.team_members.removeRemove a member from a teamdestructive
Bouncer resizes3
  • planetscale.bouncer_resizes.cancelCancel a resize requestdestructive
  • planetscale.bouncer_resizes.listGet bouncer resize requestsread
  • planetscale.bouncer_resizes.updateUpsert a bouncer resize requestwrite
Branch changes3
  • planetscale.branch_changes.getGet a branch change requestread
  • planetscale.branch_changes.listGet branch change requestsread
  • planetscale.branch_changes.updateUpsert a change request for cluster size, replicas, storage, or parameterswrite
Insights tags3
  • planetscale.insights_tags.getRetrieve a query tagread
  • planetscale.insights_tags.listList query tagsread
  • planetscale.insights_tags.list_summariesList query statistics grouped by tagread
Invitations3
  • planetscale.invitations.cancelCancel an invitationdestructive
  • planetscale.invitations.createSend an invitationwrite
  • planetscale.invitations.listList pending invitationsread
Neki changes3
  • planetscale.neki_changes.cancelCancel a change request for a Neki branchdestructive
  • planetscale.neki_changes.getGet a change request for a Neki branchread
  • planetscale.neki_changes.listList change requests for a Neki branchread
Organizations3
  • planetscale.organizations.getGet an organizationread
  • planetscale.organizations.listList organizationsread
  • planetscale.organizations.updateUpdate an organizationwrite
Safe migrations3
  • planetscale.safe_migrations.disableDisable safe migrations for a branchdestructive
  • planetscale.safe_migrations.enableEnable safe migrations for a branchwrite
  • planetscale.safe_migrations.updateUpdate safe migrations for a branchwrite
Schema recommendations3
  • planetscale.schema_recommendations.dismissDismiss a schema recommendationwrite
  • planetscale.schema_recommendations.getGet a schema recommendationread
  • planetscale.schema_recommendations.listList schema recommendationsread
Switchovers3
  • planetscale.switchovers.createCreate a switchoverwrite
  • planetscale.switchovers.getGet a switchoverread
  • planetscale.switchovers.listList switchoversread
Admin2
  • planetscale.admin.getGet the admin for a Neki branchread
  • planetscale.admin.updateUpdate the admin for a Neki branchwrite
Branch shards2
  • planetscale.branch_shards.getGet a shard for a Neki branchread
  • planetscale.branch_shards.listList shards for a Neki branchread
Data topology2
  • planetscale.data_topology.getGet the data topology for a Neki branchread
  • planetscale.data_topology.updateSet the data topology for a Neki branchwrite
Deploy request reviews2
  • planetscale.deploy_request_reviews.createReview a deploy requestwrite
  • planetscale.deploy_request_reviews.listList deploy request reviewsread
Insights anomalies2
  • planetscale.insights_anomalies.getRetrieve a branch anomalyread
  • planetscale.insights_anomalies.listList branch anomaliesread
Insights errors2
  • planetscale.insights_errors.getList queries for an error fingerprintread
  • planetscale.insights_errors.listList branch query errorsread
Invoices2
  • planetscale.invoices.getGet an invoiceread
  • planetscale.invoices.listGet invoicesread
Maintenance schedules2
  • planetscale.maintenance_schedules.getGet a maintenance scheduleread
  • planetscale.maintenance_schedules.listList maintenance schedulesread
Oauth applications2
  • planetscale.oauth_applications.getGet an OAuth applicationread
  • planetscale.oauth_applications.listList OAuth applicationsread
Payment method2
  • planetscale.payment_method.deleteDelete the current billing payment methoddestructive
  • planetscale.payment_method.getGet the current billing payment methodread
Payment method setups2
  • planetscale.payment_method_setups.createCreate a billing payment method setupwrite
  • planetscale.payment_method_setups.getGet a billing payment method setupread
SSO directory2
  • planetscale.sso_directory.disableDisable directory syncdestructive
  • planetscale.sso_directory.enableOpen the directory sync portalwrite
Traffic rules2
  • planetscale.traffic_rules.createCreate a traffic rulewrite
  • planetscale.traffic_rules.deleteDelete a traffic ruledestructive
Admin parameters1
  • planetscale.admin_parameters.listList parameters for a Neki adminread
Admin size skus1
  • planetscale.admin_size_skus.listList admin size SKUs for a Neki branchread
Audit log1
  • planetscale.audit_log.listList audit logsread
Branch bouncer resizes1
  • planetscale.branch_bouncer_resizes.listGet bouncer resize requestsread
Branch extensions1
  • planetscale.branch_extensions.listList cluster extensionsread
Branch parameters1
  • planetscale.branch_parameters.listList cluster parametersread
Cluster size skus1
  • planetscale.cluster_size_skus.listList available cluster sizesread
Configuration profile extensions1
  • planetscale.configuration_profile_extensions.listList extensions for a Neki configuration profileread
Configuration profile parameters1
  • planetscale.configuration_profile_parameters.listList parameters for a Neki configuration profileread
Current user1
  • planetscale.current_user.getGet current userread
Database regions1
  • planetscale.database_regions.listList database regionsread
Dedicated read replica changes1
  • planetscale.dedicated_read_replica_changes.listGet dedicated read replica change requestsread
Deploy queue1
  • planetscale.deploy_queue.listGet the deploy queueread
Deploy request operations1
  • planetscale.deploy_request_operations.listList deploy operationsread
Invoice line items1
  • planetscale.invoice_line_items.listGet invoice line itemsread
Log signatures1
  • planetscale.log_signatures.createCreate a log signaturewrite
Maintenance schedule windows1
  • planetscale.maintenance_schedule_windows.listList maintenance windowsread
Organization regions1
  • planetscale.organization_regions.listList regions for an organizationread
Postgres versions1
  • planetscale.postgres_versions.listList available Postgres versionsread
Public regions1
  • planetscale.public_regions.listList public regionsread
Read only regions1
  • planetscale.read_only_regions.listList read-only regionsread
Router parameters1
  • planetscale.router_parameters.listList parameters for a Neki routerread
Router size skus1
  • planetscale.router_size_skus.listList router size SKUs for a Neki branchread
Vitess parameters1
  • planetscale.vitess_parameters.listList Vitess parametersread
Vtctld operations1
  • planetscale.vtctld_operations.getGet a vtctld operationread

Questions

The PlanetScale MCP server, answered.

Is there a PlanetScale MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 268 PlanetScale actions across deploy requests, branches, move tables workflows and roles, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by PlanetScale.

What do I need to connect PlanetScale?

PlanetScale service token ID and PlanetScale service token secret (shown once when the token is created). The free call account { op: "connections.requirements", service: "planetscale" } lists exactly what to paste.

Can an AI agent delete or change things in PlanetScale?

Only if its key allows it, and only with an explicit confirmation. 39 PlanetScale actions are destructive, including delete an organization team, remove a member from an organization and remove a member from a team. 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 PlanetScale API limit?

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

What does a PlanetScale action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (268 PlanetScale actions page). Cache hits, searches, dry runs and calls PlanetScale 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 PlanetScale API does it cover?

The PlanetScale API v1 (Swagger 2.0, 282 operations) at api.planetscale.com/v1. It is built from PlanetScale's documentation as read on 23 October 2026. 268 actions in 78 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my PlanetScale 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 PlanetScale 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.

Give your agent PlanetScale today.

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