TableIQ
Free · Open source · Built in Rust for macOS

The Mac database client your coding agent can safely use.

Browse, query and edit PostgreSQL, MySQL, SQL Server, SQLite and DuckDB in a fast native app. Let Claude Code query only the connections you choose, read-only by default, and see every call it makes.

Every engine, unlimited connections, free forever. Apache-2.0.

TableIQ showing the orders table of a storefront Postgres database, with the schema sidebar, a paged data grid and the table inspector

Connects to 43 databases and cloud services

Why TableIQ

Everything a database client should do. Nothing locked.

Free, every engine

Every engine, unlimited connections, SSH tunnels, staged edits and BYO-key AI. No engine or device paywall. Apache-2.0.

Agent-ready, read-only

A built-in MCP server lets your coding agent query only the connections you tick. Writes are refused by default.

Review before commit

Edits stage in the grid. You read the exact SQL, then commit it in one transaction. Production connections ask first.

Native and local

Credentials live in the macOS Keychain. It talks to your databases directly. No account, no required cloud service.

Performance

Built in Rust. Fast where it counts.

The database work happens in a native Rust core. The window is a thin layer on top, so big tables and slow servers don't lock up the window.

  • Rust
  • Tauri 2
  • macOS WebKit

Native Rust core

Drivers, paging, staged commits and the MCP safety guard all run in Rust, not JavaScript.

No bundled browser

Built on Tauri with the WebKit already in macOS. No Electron, no extra copy of Chromium.

Keyset paging

Pages load by key instead of OFFSET, the method that keeps deep pages practical. Exercised against a 20-million-row test table.

Stays responsive

Every page fetch is time-bounded and cancellable with ⌘.. Connecting shows progress instead of locking the window.

Query

Write SQL. Read the answer right there.

  • Multi-statement scripts, DDL and cancel with ⌘.
  • A ⌘F filter bar with stacked rules, any-column search and raw WHERE
  • Saved queries and run history per connection
  • A SQL log of every statement the app sends, passwords masked
SQL editor with a query joining orders and customers, and its result grid below
Edit

Change data without the “oops”.

  • Edits, inserts and deletes stage in the grid, tinted blue, green and red
  • Review the exact SQL before anything runs
  • Commit everything in one transaction, or discard it
  • Tag a connection as production and every commit asks for confirmation
Staged cell edits in the data grid with the pending SQL ready to review
Understand

See how your schema fits together.

  • An ERD with foreign-key-accurate connectors
  • Structure view with real columns, indexes and triggers per engine
  • A database lobby with table sizes, recent queries and pinned previews
Entity relationship diagram of the storefront database: customers, orders, order items, products and shipments
And the rest of the toolkit

Built for the whole day, not just one query.

Command palette

⌘K finds tables, databases, saved queries and every action.

Many connections

Keep several open. A rail switches between them without reconnecting.

SSH tunnels

Password, agent or key-file auth, with host-key verification.

Environment tags

Local to production. Production tints the title bar and guards commits.

Bring-your-own-key AI

Text to SQL, explain, optimize and fix with Anthropic, OpenAI, Gemini or local Ollama.

Backup and restore

pg_dump, mysqldump, SQL Server backups, SQLite and DuckDB files.

User management

Create roles and change access on Postgres, MySQL and SQL Server, with a SQL preview.

Metrics board

Read-only number, bar, line and table widgets that refresh on a timer.

CSV import

Load a CSV into a table from the database lobby.

For coding agents

Give your agent database access, not the keys.

TableIQ runs a local MCP server. Your agent queries only what you share, and you see every call it makes.

  1. Turn on the MCP serverSettings → MCP. It listens only on your Mac.
  2. Tick the connections to shareEverything else stays invisible to the agent. Writes stay off unless you allow them.
  3. Copy the config into Claude Code or Claude DesktopOne click copies a ready config with its access token.
  4. Watch every call in MCP ActivitySee the SQL your agent ran, and what came back or was refused.

Read-only is a starting point. Use a least-privilege database role. Read access can still expose sensitive data or run expensive queries, and results your agent receives may go to its model provider. How permissions work →

MCP Activity showing Claude Code listing connections, describing a table and running two SELECT queries, then an UPDATE that TableIQ refused

A real Claude Code session against a read-only connection: it listed tables, ran two queries, and its UPDATE was refused before it reached the database.

Engines

One client for your whole stack.

Native drivers for the big engines, plus the products that speak their wire protocol. Beta means it's in the app but not yet verified against the live product.

Full SQL client

Browse, query, edit, structure, ERD, backup and restore.

  • PostgreSQL
  • MySQL
  • SQL Server
  • SQLite
  • DuckDB
  • MariaDB

Postgres compatible

Runs on the PostgreSQL driver.

  • CockroachDB
  • YugabyteDB
  • TimescaleDB
  • openGauss
  • QuestDB
  • Materialize
  • RisingWave
  • Amazon Redshift Beta

MySQL compatible

Runs on the MySQL driver.

  • TiDB
  • OceanBase
  • StarRocks
  • PolarDB-X
  • GreatSQL
  • Dolt
  • Vitess
  • Apache Doris Beta
  • SelectDB Beta
  • Manticore Search Beta
  • PlanetScale Beta

Managed cloud

Your hosted Postgres and MySQL, on the same drivers.

  • Neon Beta
  • Supabase Beta
  • AlloyDB Beta
  • Amazon RDS / Aurora Beta
  • Azure Database Beta
  • Google Cloud SQL Beta

Document and key-value

Dedicated browsers with staged edits.

  • MongoDB
  • Redis

Search, analytics and vector

Read-only over HTTP.

  • ClickHouse
  • Turso / libSQL
  • Elasticsearch
  • OpenSearch
  • rqlite
  • Meilisearch
  • Qdrant
  • InfluxDB 3
  • Chroma
  • Weaviate
Guides

Start with a real task.

TableIQ for Mac

The signed and notarized build is in final release checks. It will be one universal app for Apple silicon and Intel Macs.

Download for Mac Coming soon Read the walkthrough

Questions

What is TableIQ?

TableIQ is a free, open-source database client for macOS, built in Rust. It browses, queries and edits PostgreSQL, MySQL, SQL Server, SQLite, DuckDB, MongoDB, Redis and 30+ compatible databases, and includes a local MCP server so coding agents such as Claude Code can query the connections you choose, read-only by default, with every call shown in an activity log.

Is TableIQ really free?

Yes. It is open source under Apache-2.0. Every database engine, the MCP server and its guard, BYO-key AI, staged edits, SSH tunnels, unlimited connections and every feature in the first public release stay free. There is no engine or device-count paywall.

Which Macs does it run on?

The release is a universal app for Apple silicon and Intel Macs. Windows and Linux builds come after the Mac release.

Does my data leave my Mac?

TableIQ connects straight to your databases, or through your SSH bastion. There is no account and no required cloud service, and credentials stay in the macOS Keychain. The built-in AI sends context only to the provider you configure, and only when you use it. External agents follow their own provider's rules.

Is it safe to point an agent at production?

Start with a read-only, least-privilege role on a replica or a sanitized copy. TableIQ refuses writes by default and logs every agent call, but read access can still expose sensitive data or run expensive queries.

Why Rust, and does it matter?

The work that touches your database runs in a compiled Rust core instead of JavaScript, and the app uses the WebKit already in macOS instead of shipping its own browser. In practice: big tables page by key, slow queries can be cancelled, and the window stays responsive.

Which agents can connect?

Claude Code and Claude Desktop get a one-click config. Other MCP clients that support HTTP with a bearer token can connect too, but we have not verified them yet.