Back to directory
bytebase avatar

dbhub

Token conscious database MCP server for Postgres, MySQL, SQL Server, MariaDB, SQLite.. Read more below about its uses, features, and usage.

Clone repository

git clone https://github.com/bytebase/dbhub.git

3,401

Stars

290

Forks

19

Watchers

MIT

License

[!NOTE]
Brought to you by Bytebase, open-source database governance platform.

GitHub Trending Repository of the Day

DBHub Logo

            +------------------+    +--------------+    +------------------+
            |                  |    |              |    |                  |
            |                  |    |              |    |                  |
            |  Claude Desktop  +--->+              +--->+    PostgreSQL    |
            |                  |    |              |    |                  |
            |  Claude Code     +--->+              +--->+    SQL Server    |
            |                  |    |              |    |                  |
            |  Cursor          +--->+    DBHub     +--->+    SQLite        |
            |                  |    |              |    |                  |
            |  VS Code         +--->+              +--->+    MySQL         |
            |                  |    |              |    |                  |
            |  Copilot CLI     +--->+              +--->+    MariaDB       |
            |                  |    |              |    |                  |
            |                  |    |              |    |                  |
            +------------------+    +--------------+    +------------------+
                 MCP Clients           MCP Server             Databases

DBHub is a minimal MCP server: token-efficient, zero-dependency, and just two tools by default with opt-in extras. This lightweight gateway allows MCP-compatible clients to connect to and explore different databases:

  • Minimal: Zero dependency, token efficient with a minimal set of MCP tools to maximize context window
  • Multi-Database: PostgreSQL, MySQL, MariaDB, SQL Server, and SQLite through a single interface
  • Multi-Connection: Connect to multiple databases simultaneously with TOML configuration
  • Guardrails: Read-only mode, row limiting, and query timeout to prevent runaway operations
  • Secure Access: SSH tunneling and SSL/TLS encryption

DBHub is the official example in the Claude Code docs for connecting to PostgreSQL via MCP.

Token Efficiency

DBHub loads just 2 tools by default at 1.4k tokens — 13-14x fewer than alternatives — keeping the context window open for your actual work.

MCP Server Default Config Default Tools
DBHub 1.4k 2 (execute_sql, search_objects)
MCP Toolbox 19.0k 28
Supabase MCP 19.3k all

Use Cases

  • Local Development: Schema exploration, query validation, and data debugging with Claude Code, VS Code, Cursor, etc.
  • Non-Technical Access: Expose curated, read-only views to non-technical staff via Claude Desktop, VS Code, Cursor, etc.
  • Multi-Database Consolidation: Replace separate MCP servers for each database with a single DBHub process
  • Production Troubleshooting: Read-only diagnostics with guardrails against runaway queries

Supported Databases

PostgreSQL, MySQL, SQL Server, MariaDB, and SQLite.

MCP Tools

DBHub implements MCP tools for database operations:

  • execute_sql: Execute SQL queries with transaction support and safety controls
  • search_objects: Search and explore database schemas, tables, columns, indexes, and procedures with progressive disclosure
  • explain_sql (opt-in): Show a query's execution plan without running it
  • health_check (opt-in): Report connection pool state and buffer cache hit ratio
  • Custom Tools: Define reusable, parameterized SQL operations in your dbhub.toml configuration file

Workbench

DBHub includes a built-in web interface for interacting with your database tools. It provides a visual way to execute queries, run custom tools, and view request traces without requiring an MCP client.

workbench

Installation

npx @bytebase/dbhub@latest --transport http --port 8080 --dsn "postgres://user:password@localhost:5432/dbname?sslmode=disable"

Also available as:

See the Installation Guide for all options, Command-Line Options for parameters, and Multi-Database Configuration for connecting several databases at once.

Development

Requires Node.js >= 22.5.0 (DBHub uses the built-in node:sqlite module).

# Install dependencies
pnpm install

# Run in development mode
pnpm dev

# Build and run for production
pnpm build && pnpm start --transport stdio --dsn "postgres://user:password@localhost:5432/dbname"

See Testing and Debug.

Contributors

image

Star History

Star History Chart

Releases

Aug 21, 2026

Download .zip

What's Changed

fix: split DSN credentials on the last @ of the authority by @DANze11 in #394 docs: replace deprecated --max-rows flag reference in execute_sql docs by @laserduor in #396 feat: support...

Jul 31, 2026

Download .zip

What's Changed

fix(mysql): kill server-side query on timeout instead of leaking it into the pool by @tianzhou in #386 Fix: SQL Server max_rows not enforced across UNION/INTERSECT/EXCEPT by @tianzhou...

Jul 31, 2026

Download .zip

What's Changed

fix: block SELECT-invocable escape-hatch functions in readonly mode (#377) by @tianzhou in #379 feat: add opt-in explain_sql tool by @tianzhou in #383 feat: add opt-in health_check too...

Jul 29, 2026

Download .zip

What's Changed

feat: support EXPLAIN ANALYZE on SQL Server for actual execution plans by @DANze11 in #361 fix: stop logging SQL statements and parameters on execution errors by @DANze11 in #375 Adopt...

What's Changed

fix: support TiDB in readonly mode for MySQL/MariaDB connectors by @tianzhou in #362 fix: close half-built connections when connect() fails by @tianzhou in #363 fix: scope view search...