Run your Firestore database locally, with its real documents

dbplex is a Mac app that copies the Firestore database of your Firebase project into the Firestore emulator on your Mac, every document included, and gives you a local address 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 Firestore emulator 1.22
Download
About 137 MB, plus Java 21
Needs
A service account key, no Docker
Production
Only read. Google bills the reads

What comes with a Firebase copy

Copied to your Mac

  • Your documentsEvery collection and subcollection of the project's default database.Needs the Cloud Datastore Viewer role
  • Security rulesCopied when the key may read them. Without them the emulator lets every request through.Needs the Firebase Rules Viewer role

Left behind, and why

  • Firebase Auth usersOnly Firestore is copied.
  • Cloud Storage filesOnly Firestore is copied.
  • Other named databasesOnly the default database is copied.
  • Composite indexes and TTL policiesNothing expires here.
  • Cloud Functions and triggersNothing runs here when a document changes.

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

What you paste

One JSON file. Give its service account the read-only Cloud Datastore Viewer role and nothing more.

Service Account KeyRequired
my-project-firebase-adminsdk.jsonIn the Firebase console open Project settings, then Service accounts, then Generate new private key. dbplex keeps it in your Keychain.

Read only. Nothing is ever written to production.

A pull reads every document in the default database once, so Google bills those reads to the project.

Then point your app at the copy

FIRESTORE_EMULATOR_HOST=127.0.0.1:15000
http://127.0.0.1:15000/v1/projects/your-project/databases/(default)/documents

The port is the first free one from 15000, so yours may differ. The Connect tab shows the exact values.

Why not the Firebase Emulator Suite alone?

The emulator is what dbplex runs. The difference is what is in it.

The emulator alonedbplex
DataStarts empty, unless you export production to a bucket and import it.Every document of the default database, from one key.
Security rulesYou point it at your rules file.Copied from the project when the key may read them.
Going backExport again before each experiment.Save a state and restore it.
Where it runsA terminal you keep open.One window with every copy, running or stopped.
Fresh dataExport and import again.One Refresh button.

What you can do with a Firebase copy

  • Browse collections and run queriesEvery collection and document, and Firestore structured queries in JSON.
  • 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 the copyDaily or weekly, to a folder you choose. Each backup opens as a new copy.
  • Refresh from productionOne button reads every document again. Google bills those reads to the project.
  • Read the logsThe server log of the copy, in the Logs tab.

There is no schema graph or Changes tab for Firestore, since its collections have no fixed schema. Masking is not available for Firestore yet, so a pull copies every document as it is.

A Firebase 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 Firebase 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. Cloud Functions and triggers are not copied, so nothing runs here when a document changes.

  • Query real documentsFirestore queries over MCP only read. Your app can still write to the emulator.
  • 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.
  • 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 Firebase in dbplex

Can dbplex change my Firebase 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.

Which role does the service account need?

Cloud Datastore Viewer, which only reads. Add Firebase Rules Viewer if you want the security rules copied too; without them the emulator lets every request through.

Does Google bill the pull?

Yes. A pull reads every document in the default database once, and so does each refresh, so Google bills those reads to the project.

Are Firebase Auth users and Storage files copied?

No. Only Firestore is copied, from the default database. Auth users, Storage files and other named databases stay behind.

Do I need Docker for Firebase?

No. The Firestore emulator runs on Java 21, which dbplex downloads for you the first time.

Can my AI agent use the Firebase copy?

Yes. Add dbplex's MCP server to Claude Code, Cursor, Codex or Windsurf from the app's Settings. It can list collections, read documents and run Firestore queries, which only read, and save, restore and branch the copy. 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 Firebase database for 7 days. No card and no account.