Rowbase

Safe, read-only-by-default MySQL, PostgreSQL & SQLite access for AI agents. TOON output.

DatabasesSwiftv0.2.5

Why Rowbase?

  • Safe by default. Every connection is read-only until you say otherwise — enforced at four independent layers (driver-level single statement, SQL guard, READ ONLY transaction, timeouts). Production connections get a red accent.
  • Made for AI assistants too. A built-in MCP server lets Claude, Cursor, Codex & co. explore your schema and query data — read-only unless you allow writes, with a token-efficient output format (TOON) and a built-in guide so the assistant knows how to use it. One copy-paste prompt sets everything up.
  • One file, no installer. Download a single binary for macOS, Linux or Windows and run it — no admin rights, no Python, no drivers to install. Or use the native macOS app.
  • Nice to use. Foreign-key navigation (also for UUID references without FKs, e.g. 1C-style schemas), "referenced by", transpose, column picker, schema-aware autocomplete, EXPLAIN highlighting, query cancel, inline editing with SQL preview, export to CSV/JSON/Markdown/SQL, SSH tunnels.
  • Open source under Apache-2.0. Passwords live in your OS keychain, never in config files.
SQL editor with autocomplete and resultsInline editing with pending changes
SQL editor: autocomplete, ⌘↩ runs the statement under the caret, EXPLAIN, cancelEdit rows safely: pending changes, SQL preview, one atomic save

Download

Grab the latest from Releases:

PlatformFileHow to run
macOS (native app)Rowbase-x.y.z.dmgopen, drag to Applications
macOS (one file)rowbase-macos-arm64chmod +x rowbase-macos-arm64 && ./rowbase-macos-arm64
Linux x64 / arm64rowbase-linux-x64 / -arm64chmod +x rowbase-linux-* && ./rowbase-linux-x64 (Ubuntu 20.04+, Debian 10+, RHEL 8+)
Windows 10 / 11rowbase-windows-x64.exedouble-click

Started without arguments, the one-file app opens the web UI in your browser. Builds are not code-signed yet: macOS → System Settings → Privacy & Security → Open Anyway; Windows → More info → Run anyway.

Updates. The Mac app: Rowbase → Check for Updates… (from 0.3.0). One-file binaries: rowbase update, or the Update button in the web UI. PyPI installs: pipx upgrade rowbase-db. The only request is an anonymous check of GitHub Releases, at most once a day — no telemetry; turn it off with ROWBASE_NO_UPDATE_CHECK=1.

Connect your AI assistant (MCP)

Open AI / MCP in the app, click Copy prompt, paste it into your assistant — it registers the server, reads the built-in guide and creates a reusable skill. Or register manually:

claude mcp add rowbase -- /path/to/rowbase mcp          # one-file binary or app
claude mcp add rowbase -- uvx --from rowbase-db rowbase mcp   # straight from PyPI, nothing to download

Listed in the official MCP Registry as io.github.djstreet11/rowbase.

Results come back as compact TOON tables (~40% fewer tokens than JSON):

rows[2]{id,customer,total}:
  1,"Smith, Bob",9.50
  2,ann,null
truncated: false

Tools: guide, connections, databases, tables, describe, search_schema, sample, count, query, explain, find_ref (+ apply_changes only when you allow writes). Details: docs/MCP.md.

CLI

Install from PyPI (pipx install rowbase-db / uv tool install rowbase-db) or use a one-file download.

rowbase add shop 'postgres://me@db.example.com/shop?ssh=deploy@bastion'   # read-only unless --rw
rowbase tables -c shop
rowbase q "SELECT * FROM orders WHERE status = 'new'" -c shop --format json
rowbase ui        # web UI on http://127.0.0.1:8765
rowbase mcp       # MCP server (stdio)
rowbase doctor    # environment report
rowbase update    # update a one-file binary in place (--check: only check)
Dark modeDark mode

Build from source

  • Python track: python3 -m venv .venv && .venv/bin/pip install -e . && .venv/bin/rowbase ui
  • One-file binaries: docs/BUILDING.md · Native macOS app: cd native && swift build · releases: docs/RELEASING.md
  • Architecture & roadmap: SPEC.md

Contributing

Issues, ideas and pull requests are welcome — see CONTRIBUTING.md and the Code of Conduct. If Rowbase is useful to you, a ⭐ helps others find it.

License

Apache-2.0 — see NOTICE and THIRD_PARTY_LICENSES.md.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx rowbase-db

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-djstreet11-rowbase": {
      "command": "uvx",
      "args": [
        "rowbase-db"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

rowbase-dbpypi

Compatible MCP Clients

Rowbase works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More