A local copy of your Turso database, every row or a sample

dbplex is a Mac app that copies your Turso database to a local libSQL server on your Mac, every row or a sample of each table, and gives you a localhost URL for your app, your tests and your AI agent. Production is only read.

For Apple Silicon Macs. 7 days free with every feature. No card and no account.

Runs on
The libSQL server, sqld
Download
About 9 MB
Needs
The database URL and a token, no Docker
Production
Only read, never written to

What comes with a Turso copy

Copied to your Mac

  • Every row, or a sampleUp to the number of rows you pick from each table, the newest first, plus every row they point to, so each link still holds.
  • The schemaTables, indexes, views and triggers.

Left behind, and why

  • Search indexes, on a sampleA search index holds copies of the values it indexes, so a sample starts with it empty.
  • Your production tokenThe copy does not check tokens, so keep the real one out of your local setup.

After each pull the Connect tab lists what was left out.

What you paste

The database URL and a token, both from the Turso CLI or dashboard.

Database URLRequired
libsql://my-db-myorg.turso.ioturso db show my-db prints it.
Auth TokenRequired
turso db tokens create my-dbRun that command and paste what it prints.

Read only. Nothing is ever written to production.

Then pick every row, or a sample of 1 to 1,000,000 rows per table. Turso counts each row read toward your plan.

Then point your app at the copy

http://localhost:15000
TURSO_AUTH_TOKEN=local

The copy does not check tokens, so any value works. The port is the first free one from 15000, so yours may differ. The Connect tab shows the exact values.

Why not turso dev?

turso dev runs the same kind of local server. dbplex fills it from production.

turso devdbplex
DataStarts empty, or from a file you dump first.Your rows, from one URL and token.
A big databaseAll of it, or nothing.A sample per table, with every row it points to.
Back to productionYou write the migration by hand.The Changes tab writes it, and you can rehearse it on a throwaway copy.
Going backCopy the file before each experiment.Save a state and restore it.
Fresh dataDump and load again.One Refresh button.

What you can do with a Turso copy

  • Browse tables and run SQLOn real rows, in the app or with any libSQL client.
  • See the schema graphEvery table and the keys between them, drawn from the copy.
  • Get the migration scriptThe Changes tab compares the copy with production and writes the script in the order it must run. In beta.
  • Rehearse the migrationRun the script on a throwaway copy of the data and see what each statement did.
  • Mask personal columnsEmails, names and other personal columns are masked as the copy is pulled. You confirm each one.
  • Save and restore statesSave before a risky change and go back to it.
  • Branch the copyWork on a second copy, from now or from the last pull, and keep the first as it is.
  • Back up productionDaily or weekly, read-only, to a folder you choose. Each backup opens as a new copy.
  • Refresh from productionOne button reads production again. Turso counts those rows toward your plan.
  • Read the logsThe server log of the copy, in the Logs tab.

A Turso sandbox for your AI agent

Give Claude Code, Cursor, Codex or Windsurf a copy of production to test on, and let it break things. dbplex's built-in MCP server hands the agent your local Turso copy, never production: it never sees your production credentials, and every tool it gets acts on local copies only.

Add it from the app's Settings. A libSQL database has no jobs or webhooks, so the copy does nothing until something calls it.

  • Run SQL on real rowsReads, writes and schema changes, on the copy only.
  • Save a state before it tries somethingAnd restore it when the attempt goes wrong.
  • A branch for each agentEach agent clones the copy and works alone. A clone holds no credentials and can never reach production. It can get the script of the schema changes it made there.
  • Get the migration scriptIt compares the copy with production, read-only, and gets the SQL for what changed. Nothing in dbplex runs it.
  • Rehearse it firstIt runs the script on a throwaway server and reads what each statement did.
  • Personal columns maskedMasked as the copy is pulled, where you choose, before the agent reads a row.
  • Start over with today's dataIt can refresh the copy from production, and never sees the credentials.
  • Read the logsThe newest lines of the server log.

Questions about Turso in dbplex

Can dbplex change my Turso production database?

No. It only reads production to make your copy, and it has no push, sync or way to write anything back. The credentials stay in your Mac's Keychain.

Can I copy only part of a big Turso database?

Yes. Pick a sample of 1 to 1,000,000 rows per table. dbplex takes the newest rows first, plus every row they point to, so each link still holds.

Does a pull count toward my Turso plan?

Yes. Turso counts each row read, so a full pull reads every row of every table once. A sample reads fewer.

Which token does my app use locally?

Any value: the copy does not check tokens. Set TURSO_AUTH_TOKEN=local and keep your production token out of your local setup.

Do I need Docker for Turso?

No. The libSQL server is a 9 MB download that dbplex runs itself.

Can my AI agent use the Turso copy?

Yes. Add dbplex's MCP server to Claude Code, Cursor, Codex or Windsurf from the app's Settings. It can run SQL, branch its own copy, save and restore states, get the migration script for its changes and rehearse it on a throwaway server. Every tool acts on local copies only, and the agent never sees your production credentials.

Other databases dbplex copies

Break prod. Locally.

Try it on your own Turso database for 7 days. No card and no account.