FeatherDB is a native Postgres client for macOS with one MCP gateway your AI tools connect to. Live databases are read-only — enforced inside the transaction, not requested in a prompt. Sandboxes are real local clones with the personal data masked, so the agent can break something that costs nothing.
Version 1.2.0 · 66 MB · signed & notarized · 14-day trial, no account, no telemetry.
A write to a live database is refused before anything executes.
Every statement an AI sends to a live database runs inside
BEGIN READ ONLY and is rolled back afterwards. A write is not talked out of
it — Postgres refuses it, and the AI gets a message to relay to you. The capability is
decided by what kind of database it is, never by how the request was worded. And on a
sandbox, where writes are the point, every statement an AI proposes still stops at an
in-app approval — you read it, you click, then it runs.
{ "database": "production",
"sql": "DELETE FROM customers WHERE created_at < now() - interval '1 year'" }
featherdb gateway
REFUSED — `production` is a LIVE database and AI writes to live are disabled in this version of FeatherDB. Nothing was executed or changed. RELAY THIS TO YOUR USER: to change live data they can run the SQL themselves in FeatherDB's SQL editor, or clone a sandbox and iterate there first. A reviewed live-change flow (your SQL plus a mandatory rationale, in-app review and confirm, backup/rollback points, up/down migration files) is on the FeatherDB roadmap.
Staged conversation — but the refusal is the gateway's actual message, byte for byte.
A mark is a named scope — a table plus the related tables you picked — with an id you can say in any chat.
Save a selection as mark-7f3 in FeatherDB, then just say that id
to your AI: through the gateway it pulls the same DDL and PII-masked sample rows you
previewed — composed by the app and served byte-identical, with a picture of how the
tables connect. featherdb:// links open the mark straight back in the app,
and the AI can open it for you on request.
The map is not limited to declared foreign keys: schemas that never declare any — document stores, FK-less apps — get their joins inferred from naming, drawn dashed and labelled as guesses. One click confirms or corrects a guess, and your verdict is what the AI is taught from then on.
products — the link table marked, cascade deletes in red.One click clones a live database into an embedded Postgres on your Mac.
Emails, names and phone numbers are replaced before they land — fail-closed, so a column the classifier cannot vouch for is not copied at all. The AI gets full read and write there, and the mask report shows exactly what happened to every column. Anything the agent breaks costs nothing.
Sandbox changes worth keeping become an ordered, safety-linted plan.
Each step is graded — DANGER for the ones that rewrite a table,
WARN for the ones that lock it — and split into phases:
transactional first, CONCURRENTLY indexes outside. Dangerous plans require an
explicit confirmation, and a drift guard catches production changing underneath you.
The first four install themselves — one click, no token to copy. Everything else gets the standard MCP config to paste. One gateway serves every database you expose; the AI names which one it wants, and what it may do there is decided by the kind of database it is, not by the request.
Checkout by Polar.sh, the merchant of record — your receipt and any VAT come from them. Activation is immediate: open the app, type your purchase email, enter the 6-digit code it sends you. No key to wait for.
No. FeatherDB connects your Mac directly to your databases — rows, schemas, credentials, and query results never touch our servers. The app contacts a server in exactly three situations: buying, activating, and checking for updates, and the privacy policy lists precisely what each involves.
Your AI tools connect to one local MCP gateway. On a live
database they can read, and only read — every statement runs inside
BEGIN READ ONLY, so a write is refused by Postgres itself, not by a
prompt. On a sandbox they get full read and write, because a sandbox is a
disposable local clone with personal data already masked.
Postgres — connected directly over TLS (Supabase, Neon, RDS, and other managed hosts) or through an SSH tunnel to a box you own. Sandboxes run in an embedded Postgres 17 on your Mac; cloning from older servers works, and the diff planner flags version drift so you review those migrations by hand.
No account. Buy, open FeatherDB, type the email from your receipt, and enter the 6-digit code it sends you. One purchase covers two Macs — deactivate a machine in the app to free its seat. After activation the licence verifies offline; air-gapped Macs can paste a licence key instead.
Nothing. The version you have keeps working forever, offline. Renewing ($29/year) is optional and only buys continued updates — skip it and come back whenever a new version is worth it to you.
No — FeatherDB is a native macOS app, built for macOS 15 or later on Apple Silicon and Intel. Going deep on one platform is what keeps it fast and native-feeling.