Labsco
MCP SERVER

DBHub

by bytebase

One gateway to PostgreSQL, MySQL, MariaDB, SQL Server and SQLite — two tools by default, with read-only mode, row limits and SSH tunnelling.

Relational SQL Databases
Summary
Two tools at 1.4k tokens is the pitch, and the guardrails are per source.

The measured comparison in the README puts its default configuration at 1.4k tokens against 19.0k for MCP Toolbox — 13-14x fewer, self-reported but checkable. What makes it usable in production is that restrictions are per database source: production can expose `search_objects` only, with SQL execution simply absent, while analytics keeps full access in the same process.

What it is

A deliberately minimal database gateway. It connects to five database engines through one interface, supports several connections at once via TOML configuration, and exposes just two tools unless you opt into more — the design goal is to leave the context window for your actual work.

What you get
  • SQL executed with transaction support, single or multiple statements separated by semicolons — `execute_sql`
  • Schemas, tables, columns, indexes and procedures searched with pattern matching and progressive disclosure — `search_objects`
  • Opt-in extras: a query's execution plan without running it, and connection pool state plus buffer cache hit ratio on PostgreSQL, MySQL, MariaDB and SQL Server — `explain_sql`, `health_check`
  • Custom tools defined in `dbhub.toml` as named, parameterised SQL statements, so you can hand out specific safe operations instead of open SQL
  • Per-source tool control: list only `search_objects` on production for read-only schema exploration, and full access on analytics
  • Per-tool settings including `readonly`, which allows only SELECT, SHOW, DESCRIBE and EXPLAIN, and `max_rows` to cap results
  • Multi-database naming that keeps tools distinct — `execute_sql_prod` for a single database with an id, `execute_sql_prod_pg` and `execute_sql_staging_mysql` across several
  • A built-in web workbench for running queries and viewing request traces without an MCP client
Requirements

A database connection string. Run it with `npx @bytebase/dbhub@latest` plus `--transport` and `--dsn`, or from the Docker image, the MCP Bundle for one-click read-only install, or the Claude Code plugin. Connection settings can come from `DSN`, or from `DB_TYPE`, `DB_HOST`, `DB_PORT`, `DB_USER` and `DB_PASSWORD` separately. Node.js >= 22.5.0 if you build from source, since it uses the built-in `node:sqlite` module. SSH tunnelling and SSL/TLS are supported. The published package is `@bytebase/dbhub` 1.2.1.

Setup effort

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