Skip to content

planetscale/cli

Repository files navigation

PlanetScale CLI Build status

PlanetScale is more than a database and our CLI is more than a jumble of commands. The pscale command line tool brings branches, deploy requests, and other PlanetScale concepts to your fingertips.

PlanetScale CLI

Installation

macOS

pscale is available via a Homebrew Tap, and as downloadable binary from the releases page:

brew install planetscale/tap/pscale

Optional: pscale requires a MySQL 8 Client in your PATH for certain commands. You can install it by running:

brew install [email protected]

To upgrade to the latest version:

brew upgrade pscale

Linux

pscale is available as downloadable binaries from the releases page. Download the .deb or .rpm from the releases page and install with sudo dpkg -i and sudo rpm -i respectively.

Arch: pscale-cli-bin

Windows

pscale is available via scoop, and as a downloadable binary from the releases page:

scoop bucket add pscale https://github.com/planetscale/scoop-bucket.git
scoop install pscale mysql

To upgrade to the latest version:

scoop update pscale

Manually

Download the pre-compiled binaries from the releases page and copy to the desired location.

Alternatively, you can install bin which works on all macOS, Windows, and Linux platforms:

bin install https://github.com/planetscale/cli

To upgrade to the latest version

bin upgrade pscale

Container images

We provide ready to use Docker container images. To pull the latest image:

docker pull planetscale/pscale:latest

To pull a specific version:

docker pull planetscale/pscale:v0.63.0

If you like to have a shell alias that runs the latest version of pscale from docker whenever you type pscale:

mkdir -p $HOME/.config/planetscale
alias pscale="docker run -e HOME=/tmp -v $HOME/.config/planetscale:/tmp/.config/planetscale --user $(id -u):$(id -g) --rm -it -p 3306:3306/tcp planetscale/pscale:latest"

If you need a more advanced example that works with service tokens and differentiates between commands that need a pseudo terminal or non-interactive mode, have a look at this shell function.

MCP Server Integration

The PlanetScale CLI includes a Model Context Protocol (MCP) server that provides AI tools direct access to your PlanetScale databases. This allows AI assistants to list organizations, databases, branches, and run SQL queries with proper authentication.

Setting up MCP in AI tools

Claude Desktop

To enable the PlanetScale MCP server in Claude Desktop:

pscale mcp install --target claude

Cursor Editor

To enable the PlanetScale MCP server in Cursor:

pscale mcp install --target cursor

Manual Setup for Other AI Tools

For AI tools that support custom MCP servers but don't have automated installation through the CLI, you can manually configure them:

  1. Find your tool's MCP configuration file
  2. Add the following configuration:
{
  "mcpServers": {
    "planetscale": {
      "command": "pscale",
      "args": ["mcp", "server"]
    }
  }
}
  1. Restart your AI tool to apply the changes

Verify the tool recognizes the PlanetScale MCP server by asking it to list your databases or perform other PlanetScale operations.

Once configured, these AI tools will be able to use PlanetScale-specific context to help you work with your databases. The MCP server provides the following capabilities:

  • List organizations
  • List databases
  • List branches
  • List keyspaces
  • List tables
  • Get table schemas
  • Run read-only SQL queries

GitHub Actions Usage

Use the setup-pscale-action to install and use pscale in GitHub Actions.

- name: Setup pscale
  uses: planetscale/setup-pscale-action@v1
- name: Use pscale
  env:
    PLANETSCALE_SERVICE_TOKEN_ID: ${{ secrets.PLANETSCALE_SERVICE_TOKEN_ID }}
    PLANETSCALE_SERVICE_TOKEN: ${{ secrets.PLANETSCALE_SERVICE_TOKEN }}
  run: |
    pscale deploy-request list my-db --org my-org

Local Development

To run a command:

go run cmd/pscale/main.go <command>

Alternatively, you can build pscale:

go build cmd/pscale/main.go

And then use the pscale binary built in cmd/pscale/ for testing:

./cmd/pscale/pscale <command>

Documentation

Please checkout our Documentation page: planetscale.com/docs