Nonanti

Nonanti / narwhal

Public

TUI database client with a built-in MCP server. Five databases (postgres, mysql, sqlite, duckdb, clickhouse), vim editing, Lua plugins.

11
0
100% credibility
Found May 29, 2026 at 20 stars -- GitGems finds repos before they trend. Get early access to the next one.
Sign Up Free
AI Analysis
Rust
AI Summary

Narwhal is a terminal-based database client that lets you connect to Postgres, MySQL, SQLite, DuckDB, or ClickHouse databases, write SQL queries with smart auto-completion, and view results in a split-screen interface—all without leaving your command line.

How It Works

1
💬 Hear about Narwhal

A friend tells you about Narwhal, a terminal app that lets you browse databases without leaving your command line.

2
⬇️ Install it quickly

You install Narwhal using a simple command or package manager, and it appears in your terminal ready to use.

3
🚀 Launch and see the interface

You type 'narwhal' and a clean split-screen appears with an editor on top and a results area below, ready for your queries.

4
🔌 Connect your first database

You type ':add' to open a simple form, enter your database details, and save the connection for future use.

5
✍️ Write SQL queries with help

As you type, suggestions pop up showing table and column names from your database, making queries faster to write.

6
Run your query
Stream large results

For big queries, press F7 to see rows appear one by one as they arrive

📊
Get instant results

For smaller queries, results appear immediately in the bottom pane

🎉 Browse, edit, and export

You can click through results, edit cells directly, copy data to your clipboard, or export everything to a file with one command.

Sign up to see the full architecture

5 more

Sign Up Free

Star Growth

See how this repo grew from 20 to 11 stars Sign Up Free
Repurpose This Repo

Repurpose is a Pro feature

Generate ready-to-use prompts for X threads, LinkedIn posts, blog posts, YouTube scripts, and more -- with full repo context baked in.

Unlock Repurpose
AI-Generated Review

What is narwhal?

A terminal-based database client written in Rust. Think DataGrip or TablePlus but running entirely in your terminal. It connects to five different databases (Postgres, MySQL, SQLite, DuckDB, ClickHouse) through one unified interface. The TUI includes vim-style editing with modal input, schema-aware autocomplete, and a built-in MCP server so AI coding assistants like Claude Desktop or Cursor can query your databases directly.

Why is it gaining traction?

Two things set it apart: the MCP integration and the plugin system. The MCP server means your AI agent can explore schemas and run read-only queries through a secure workspace ACL without you manually sharing credentials. The Lua plugin runtime lets you extend the client with custom commands and result transforms that live in your config directory. Plus, it respects your existing workflow: pgpass files, SSH tunnels, and OS keyring integration work out of the box.

Who should use this?

Backend engineers who live in the terminal and want one tool for all their databases. Database admins who need a lightweight way to inspect schemas and run queries without spinning up a full IDE. Developers using AI coding assistants who want their agent to safely query databases as part of the development workflow.

Verdict

With only 11 stars and a credibility score of 1.0%, narwhal is young and unproven. The Rust foundation and feature completeness look solid, but limited community adoption means you might hit rough edges or sparse documentation. That said, the MCP integration fills a genuine gap for AI-assisted database work, and the Lua plugin system adds flexibility without requiring core changes. If you want one portable client that works across five database engines and plays nice with AI tools, it is worth evaluating now as an early adopter rather than waiting for broader validation.

Sign up to read the full AI review Sign Up Free

Similar repos coming soon.