A small, fast database client for MariaDB, MySQL, SQL Server and MongoDB, with workspaces that bring their own tunnels and an AI assistant that writes queries but never runs them.
2 pending changesapplied in one transactionDiscardApply
MariaDB · shoprows 1–50 of 1,284
Assistantllama3.1 · local
shop.orders
Top customers by spend this month?
I checked the schema of orders and customers. Here is a query:
SELECT c.name, SUM(o.total) AS spent
FROM orders o
JOIN customers c ON c.id = o.customer_id
WHERE o.created_at >= '2026-10-01'GROUP BY c.name
ORDER BY spent DESCLIMIT10;
InsertNew tab
Not executed. You run it.
Ask about this schema…
A MariaDB table open in the grid, with pending edits and a query drafted by the assistant.
MongoDB documents: a preview of the upcoming document view (List / JSON / Table) and shell-syntax query bar.coming
Fosta Studio
Workspaces
Shop
Billing
Prod
Lab
Shopstaging
Search
shop-stagingMARIADB
shop
categories
customers
order_items
orders
products
billing-legacyMSSQL
eventsMONGO
port-forward shop-dbrunning
orders
shop diagram
Query 1
Auto layoutExport SVGExport PNG100%
MariaDB · shop5 tables · 4 relations
Assistantllama3.1 · local
shop
How do orders connect to products?
Read schema overviewOpened diagram
Through order_items: each row points to one order and one product. I opened the diagram with orders selected.
Ask about this schema…
The ER diagram of a shop schema, laid out automatically, with one table selected.
Illustration of the app's layout. Screenshots will follow with the first release.
Why Fosta Studio
A database client that stays out of your way
Built for developers who hop between projects, customers and environments all day, on a machine that has better things to do with its memory.
Small
A Tauri 2 app with a Rust core and a plain TypeScript UI. The release executable is about 10 MB, portable, with no installer required.
Fast
No UI framework, a virtualised grid and native drivers. It uses far less memory than clients built on Electron or Java.
Free & open
GPL-3.0, no account, no telemetry. Read the code, build it yourself, and send a pull request when something bugs you.
Safe AI
Bring your own model. The assistant reads schema metadata and writes queries, but it has no tool that runs them. You do.
Features
Everything you reach for, nothing you trip over
Workspaces and startup tasks
Group connections, startup tasks and open tabs per project, customer or environment, then switch from the rail on the left or with Ctrl+1…9. Tabs of other workspaces stay open.
Run kubectl port-forward or any command when a workspace opens
Automatic restart with backoff when a tunnel drops, and live logs
Each workspace brings its own connections, tasks and tabs.
A data grid made for editing
A virtualised grid that pages through large tables, with type badges under each column name so you always know what you are looking at.
Inline editing, inserts and deletes collected in a pending-changes bar
Apply everything in one transaction, or discard it
WHERE filters and per-column filters, sorting
A record panel that follows foreign keys to related rows
skuabc
nameabc
price123
stock123
LK-%
> 20
LK-102
Desk lamp
39.00
120
LK-118
Floor lamp
84.00
35
LK-121
Wall light
27.50
64
LK-130
Pendant (old)
45.00
0
2 pending changesDiscardApply
Edits wait in the pending bar until you apply them.
Interactive ER diagrams
See how a database fits together. The diagram lays itself out automatically; drag tables around, zoom in, and export the result.
Automatic layout, drag and zoom
Export to SVG or PNG
Inferred links between MongoDB collections
Tables and their foreign keys, laid out for you.
An AI assistant that never executes
Ask in plain words. The assistant reads table and column metadata, writes the query, and can open a diagram, a table or a new query tab for you. Every code block has Insert and New tab buttons.
It has no tool that runs queries or changes data. You read what it wrote, and you decide whether to run it.
Bring your own model: Fosta, OpenAI, Gemini, Claude, or any OpenAI-compatible endpoint such as a local Ollama
Your key is stored in Windows Credential Manager and requests go straight from your machine to the provider
No row data is read; it only sees metadata and what you choose to share
Disclosure: Fosta, the default provider, is a separate AI API service run by the author of Fosta Studio. It is listed first for convenience only; nothing in Fosta Studio requires a Fosta account, and requests only go to the provider you configure.
Assistantyour model
Show me how orders relate to payments.
Read schema overviewOpened diagram
payments.order_id points to orders.id. To find unpaid orders:
SELECT o.id, o.total
FROM orders o
LEFT JOIN payments p ON p.order_id = o.id
WHERE p.order_id IS NULL;
InsertNew tab
Suggestions land in your editor, never on your server.
Import & export
Import CSV, TSV or JSON with column mapping. Export to CSV, CSV for Excel, JSON, SQL INSERT statements or Markdown.
MariaDB vector tools
For MariaDB 11.7+: embedding search, column and index health checks, and recall of the vector index measured against exact search.
Connection strings
Paste a connection string for any engine, including MongoDB Atlas URIs. A password inside it is moved to Credential Manager.
Query editor
Syntax highlighting, table-name completion, several statements per run, and one session per tab so BEGIN…COMMIT can span runs.
Engines
One client for the databases you actually run
Each engine is a native Rust driver behind one shared interface, so the grid, diagram and assistant work the same everywhere.
MariaDB
Including vector tools on 11.7+
Supported
MySQL
Stop a running query from the editor
Supported
SQL Server
Schemas, TLS on by default
Supported
MongoDB
JSON filters, Atlas URIs, inferred diagram links
Supported
PostgreSQL
On the roadmap
Coming
SQLite
On the roadmap
Coming
Privacy & safety
Your data stays yours
Fosta Studio talks to your databases and to the AI provider you configure. Nothing else.
Local, portable config
Workspaces, connections and tasks live in fosta-studio.json next to the executable. No secrets are written to it.
Windows Credential Manager
Database passwords and AI keys are stored in the operating system's credential store, never in the config file.
No telemetry, no account
The app does not phone home and does not need a sign-up. It is fully usable offline with local databases.
Assistant boundaries
The model sees table and column metadata plus the editor text, errors and logs you choose to share. It reads no rows and cannot run statements.
Statement gatewaycoming
Every statement will pass through one gateway with rules per workspace: Open, Guarded, Read-only or Custom. A workspace marked Production defaults to Read-only, and relaxing a rule always comes with a loud warning.
Roadmap
Where it is heading
Planned work, roughly in order. Plans change; open an issue to discuss any of it.
Statement gateway & transactions
Rules per workspace, auto-commit switch, Begin / Commit / Rollback, open-transaction warnings.
Data profiling & generation
Column statistics and histograms; rule-based test data with preview before insert.
Backup & restore
Logical dumps built by the app, no external tools required.
MongoDB beyond Compass
A query bar with autocomplete, document views and an aggregation builder.
Local database servers
Create and run development servers without Docker or admin rights.
Web edition & encrypted sync
A Docker image to use Fosta Studio in a browser, and end-to-end encrypted sync between machines.
Contributions are welcome. On your first pull request you are asked to sign the Contributor License Agreement: you keep the copyright in your work, and the maintainer may also offer commercial licenses while the project itself stays GPL.
Release builds are coming. Meanwhile you can build the portable executable yourself with Node 20+, Rust 1.88+ and the MSVC or GNU toolchain (toolchain details).
> git clone https://github.com/caothanhphatit/fosta-dbclient.git
> cd fosta-dbclient
> npm install
> npm run tauri build -- --no-bundle
The result is src-tauri\target\release\fosta-studio.exe. Want to try the UI first? npm run dev previews it in a browser with sample data.