Analysis updated 2026-05-18
Manage connections to Postgres, MySQL, SQLite, DuckDB, and ClickHouse from one terminal tool
Use Vim-style keybindings and schema-aware completion to write SQL queries
Let AI tools like Claude Desktop or Cursor read schemas and run read-only queries via MCP
Connect to a private-network database through a built-in SSH tunnel
| nonanti/narwhal | reekta92/pinstar | xqnode/claude-code-helper | |
|---|---|---|---|
| Stars | 28 | 28 | 28 |
| Language | Rust | Rust | Rust |
| Setup difficulty | easy | easy | — |
| Complexity | 3/5 | 2/5 | — |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Install via Cargo, Homebrew, AUR, Nix, or a prebuilt binary.
Narwhal is a terminal-based database client written in Rust that lets you connect to and query five different types of databases from a single interface: PostgreSQL, MySQL, SQLite, DuckDB, and ClickHouse. Instead of switching between separate tools for each database, you manage all your connections in one place and use a consistent keyboard-driven interface regardless of which database you are talking to. The editor inside narwhal behaves like the Vim text editor, meaning it uses the same keyboard shortcuts and modes that Vim users already know: Normal mode for navigation, Insert mode for typing, and Visual mode for selecting text. It also offers schema-aware completion, so when you start typing a query the tool can suggest table and column names from the connected database. One notable feature is a built-in MCP server. MCP, short for Model Context Protocol, is a standard that AI tools like Claude Desktop and Cursor use to call external tools and read structured data. Running narwhal with the mcp flag exposes the database to those AI tools, letting them list connections, look up table schemas, and run read-only queries. The connection configuration includes safety controls for this: you can mark connections as read-only, require typed confirmation before any write statement runs, and color-code connections so production databases are visually distinct from development ones. Connections are stored in a plain text configuration file. You can also extend narwhal's behavior by writing Lua scripts and dropping them into a plugins directory. SSH tunnel support is built in, so connecting through a bastion host to a database on a private network works without setting up the tunnel manually. Installation is available through Cargo (Rust's package manager), Homebrew on macOS, the Arch Linux package manager via the AUR, and Nix, as well as prebuilt binary downloads. The project is licensed under MIT or Apache-2.0.
A Rust terminal database client with Vim-style editing that connects to five database types and exposes an MCP server for AI tools.
Mainly Rust. The stack also includes Rust, PostgreSQL, MySQL.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.