- Category
- Mac Apps
- Platform
- macOS 13+
- Version
- 0.1.0
- Size
- 22 MB
- License
- MIT
- Languages
- EN · 中文
A fast, open-source database client for macOS, built for people who live in MySQL all day. Streams million-row results without freezing; Go + native WebView, no Electron, no account, no telemetry.
Try it in your browser
The window below is a browser replica of Tacivan’s main window. Queries really run, on SQLite compiled to WebAssembly, against a fictional bookstore database generated in your browser. local-mysql and cache-redis are mock connections you can browse but not query. Nothing is sent anywhere.
Looks for the value in every column of every table, one query per table. % _ and \ are escaped for SQLite LIKE.
Streaming results with a Stop that works
In Tacivan a result set is a cursor, not an array. Rows arrive through a chunked cache with a process-wide memory budget; chunks you are not looking at spill to disk, so several million-row tabs can stay open at once. A slow fetch in one tab does not hold up another. Every long operation shows its stage and elapsed time, and Stop cancels the driver context, which interrupts the blocked network read rather than just hiding the spinner.
The demo imitates the visible part: rows are fetched in time slices, the grid only renders the rows on screen, and Stop ends the fetch between slices. It keeps everything in memory and stops at 500,000 rows; the app has no such cap because it spills to disk.
Made for big, old MySQL
All metadata goes through SHOW … statements and never through
information_schema, which is a temporary-table scan on MySQL 5.7. An instance with
3,165 databases lists in one round trip, and a connection can be told to show only a hand-picked
set of databases.
Plugins and MCP servers as connections
A plugin is a separate process in any language that speaks line-delimited JSON-RPC 2.0 over stdio.
Each plugin becomes a new connection type with its own form fields, object tree and context-menu
actions; the SQL editor, grid, filters, whole-database search and export work as usual. The host
enforces the plugin’s rules (selectOnly, singleStatement,
forceLimit, denyPatterns) before any SQL reaches it, and a read-only
plugin has no write path at all. Plugins are installed from Settings and never ship in a release
build.
MCP servers (stdio or Streamable HTTP) are connections too: the tree lists their tools and resources, a tool is called from a form generated from its JSON Schema, and table-shaped results land in the same grid. No language model is involved; every call is one you press.
Privacy
No telemetry, no crash reporting, no update checks, no account. The app talks only to the database
hosts, plugin processes and MCP servers you configure. Passwords live in the macOS Keychain;
everything else is plain JSON under ~/Library/Application Support/Tacivan/.
MIT licensed, macOS 13 or later, universal binary.