Data & Analysis database-mcpsql-executionschema-explorationmulti-databasessh-tunnelingread-only-accessquery-guardrails

DBHub Database MCP Gateway

Connect MCP clients to multiple SQL databases without crowding their context windows.

FollowAgents review · FARS-2.1
Use with care
61/ 100 5-point scale 3.1 / 5
1 2 3 4 5 6
1Trust14 / 29 · 2.4/5

The evidence shows a two-tool default surface plus read-only mode, row limits, query timeouts, transactions, SSH tunneling, and TLS, providing substantive least-privilege, external-effect, and transport protections. No user-confirmation mechanism for dangerous SQL is described, however, and it is unclear whether read-only mode is enabled by default. The client–DBHub–database diagram and tool descriptions make the primary data path visible, but telemetry, logging, Workbench trace retention, and credential handling are not fully disclosed. The installation example embeds a password in a command-line DSN, risking exposure through shell history or process listings. Dependencies use version ranges, while no lockfile, dependency audit, vulnerability scan, or update policy appears in the supplied evidence. Transactions offer limited rollback, but recovery for committed writes or non-transactional DDL is unexplained. Bytebase, the repository, and MIT copyright are attributed, yet package.json has an empty author field and publisher identity is unverified, so attribution is not comprehensive.

2Reliability8 / 14 · 2.9/5

The README, package metadata, and publishing workflow generally agree on supported databases, Node requirements, naming, and distribution. The README's “zero-dependency” claim directly conflicts with the runtime and optional dependencies in package.json, reducing self-consistency. Node and pnpm versions, database drivers, and npm/Docker delivery routes provide a reasonable availability basis, but driver selection and missing-driver behavior are not explained. A health-check tool, Debug link, and test script names are present, but the supplied material contains no concrete error-message examples, diagnostic taxonomy, or recovery guidance, leaving failure messaging thin.

3Adaptability14 / 18 · 3.9/5

Audiences and scenarios are thoroughly described across local development, non-technical access, multi-database consolidation, and production read-only troubleshooting. Supported databases, default and opt-in tools, custom tools, transports, and multi-connection configuration establish useful capability boundaries, but write boundaries, database-specific differences, and security defaults remain incomplete. A small default tool set and explicit opt-ins support precise selection, though tool schemas, invocation conditions, and ambiguity handling are absent. Node >=22.5, stdio/HTTP, Docker, MCP Bundle, plugin delivery, and multi-architecture images support varied environments, but OS coverage, database-version compatibility, and deployment constraints are not documented here.

4Convention12 / 18 · 3.3/5

The README has a coherent progression through use cases, databases, tools, Workbench, installation, and development, with links to focused documentation; important details nevertheless depend on external pages not supplied. Installation and development commands, the Node requirement, and several packaging options are clear, but the use of latest and an inline credential is risky, and upgrade, uninstall, and production-hardening notes are absent. DBHub naming, package and MCP identifiers, and tool names are stable across the evidence, justifying full naming credit. Examples are limited to startup commands and use-case summaries, with no result walkthrough or FAQ. Node constraints, opt-in tools, and read-only use are mentioned, but there is no consolidated limitations section. MIT metadata exactly matches a complete LICENSE, earning full credit. Version 1.2.0, a synchronization script, and Docker version-tag automation show an update path, but no changelog, release notes, or compatibility policy is supplied. Bytebase attribution, a contributor route, and repository ownership indicate maintenance responsibility, while the empty author field, lack of named maintainers/support commitments, and unknown publisher identity prevent full credit.

5Effectiveness9 / 13 · 3.5/5

The two default tools, progressive object search, parameterized custom SQL, Workbench, and unified multi-database access indicate outputs intended for immediate use by MCP clients and humans. Actual response schemas, errors, pagination, and result examples are absent, limiting confidence in output usability. Consolidating several database backends behind a small tool surface offers clear marginal value, although feature tradeoffs versus alternatives are not developed. The README quantifies a 1.4k-token footprint and a 13–14x comparison, but provides no measurement method, version baseline, or reproducible artifact, and does not quantify operational or security costs; cost-benefit handling is therefore adequate rather than thorough.

6Verifiability4 / 8 · 2.5/5

Many basic claims trace to the README, package.json, LICENSE, and publishing workflow, including database coverage, tool count, Node requirements, versioning, and image publication. Token counts, competitor comparisons, the “official example” statement, and claimed safety effects lack supporting measurements or source artifacts in the provided files. Multiple files corroborate naming, version, licensing, runtime requirements, and delivery paths, but major performance and security claims are largely README-only. Factual descriptions, comparative conclusions, and promotional language are intermingled without clearly separating implementation evidence, recommended usage, and measured results, so fact–inference separation is weak.

Evidence confidence: Low Reviewed Aug 14, 2026 Reviewed revision ecf8c86f6e9f
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Safety controls not found in source: confirmation before acting
Before you use it
  • Do not connect production databases until the default read-only state, SQL write-confirmation behavior, and database-account privileges are verified.
  • Avoid passing password-bearing DSNs directly on the command line; use protected configuration or secret injection and determine whether logs or Workbench traces retain sensitive SQL or results.
  • The “zero-dependency” description conflicts with package.json; audit the full dependency tree, pin resolved versions, and check database drivers and optional cloud-identity packages for vulnerabilities before deployment.
  • Treat the 1.4k-token, 13–14x advantage, and safety-effect claims as independently unverified by this evidence; require fixed comparison versions and a measurement method before procurement or architecture decisions.
  • Transaction support is not a complete recovery strategy; establish database-native backup, audit, and rollback procedures before allowing writes, DDL, or cross-database operations.
Review evidence [1][2][3][4][5]
See the full review method →

What does this agent do, and when should you use it?

DBHub is a lightweight, self-hosted MCP server that presents one interface for PostgreSQL, MySQL, MariaDB, SQL Server, and SQLite. MCP clients including Claude Code, Claude Desktop, Cursor, VS Code, and Copilot CLI can use it to connect to and explore databases. Its default surface contains only two tools, execute_sql and search_objects, which the documentation measures at about 1.4k tokens; explain_sql and health_check are optional. The server runs SQL, discovers database objects, and can expose parameterized custom SQL operations, returning results to the requesting MCP client. It can be launched through npx, Docker, or an MCP Bundle, while its built-in Workbench provides a web interface for queries, custom tools, and request traces.

An MCP client sends a database operation to DBHub, which connects to one or more configured databases. execute_sql runs SQL with transaction support and safety controls such as read-only mode, row limits, and query timeouts. search_objects progressively discovers schemas, tables, columns, indexes, and procedures. The optional explain_sql tool returns an execution plan without running the query, while health_check reports connection-pool state and buffer-cache hit ratio. Operators can define reusable parameterized SQL operations as Custom Tools in dbhub.toml and configure several database connections in the same file. Connections may use SSH tunneling and SSL/TLS, and the Workbench can execute queries, invoke custom tools, and display request traces.

  1. A developer using Claude Code, VS Code, or Cursor explores schemas, validates queries, and debugs data during local development.
  2. A database administrator exposes curated read-only views to non-technical staff who query them through Claude Desktop or another documented MCP client.
  3. A team operating PostgreSQL, MySQL, MariaDB, SQL Server, or SQLite replaces separate database-specific MCP servers with one DBHub process.
  4. An operations team performs production diagnostics with read-only access, row limits, and query timeouts to reduce runaway-query risk.
  5. A team with recurring controlled SQL workflows defines parameterized Custom Tools in dbhub.toml and invokes them from an MCP client or the Workbench.

What are this agent's strengths and limitations?

Pros
  • The default surface is limited to execute_sql and search_objects and is documented at about 1.4k tokens, preserving more client context than larger default tool catalogs.
  • One interface covers PostgreSQL, MySQL, MariaDB, SQL Server, and SQLite, with TOML configuration for simultaneous connections.
  • Read-only mode, row limiting, and query timeouts provide concrete controls for database access.
  • SSH tunneling and SSL/TLS are supported, with delivery options including npx, Docker, an MCP Bundle, and a Claude Code plugin.
  • The built-in Workbench supports queries, custom-tool execution, and request-trace inspection without requiring an MCP client.
Limitations
  • Database coverage is limited to the five documented SQL systems; there is no evidence of support for Oracle, MongoDB, or other data platforms.
  • The intentionally small default tool set means execution plans and health reporting require opt-in tools.
  • Developing from source requires Node.js 22.5.0 or newer because DBHub uses the built-in node:sqlite module.
  • Operators must still provision and protect database credentials, network access, and any SSH or TLS configuration.
  • The source documents safety controls but does not state that read-only mode, row limits, and timeouts are enabled by default in every installation path, so production configuration must be reviewed.

How do you install or deploy this agent?

The quickest documented HTTP launch requires a reachable supported database and its DSN:

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

Replace the sample username, password, host, port, and database name with valid connection details. A Docker image, a one-click read-only MCP Bundle, and a Claude Code plugin are also available. Source development requires Node.js >= 22.5.0:

pnpm install
pnpm dev

To build and start the production version over stdio:

pnpm build && pnpm start --transport stdio --dsn "postgres://user:password@localhost:5432/dbname"

How do you use this agent?

Start DBHub with a target database DSN, then connect a compatible MCP client to its stdio or HTTP transport. Use search_objects first to discover schemas, tables, columns, indexes, or procedures, and use execute_sql to run a query. For production or shared access, configure read-only mode, row limits, and query timeouts as appropriate. Put multiple connections and parameterized Custom Tools in dbhub.toml. Enable explain_sql when an execution plan is needed without running the query, or health_check for connection-pool and buffer-cache information. The built-in Workbench is an alternative interface for executing queries, invoking custom tools, and inspecting request traces.

How does this agent compare with similar options?

The README's default-configuration comparison reports DBHub at 2 tools and about 1.4k tokens, MCP Toolbox at 28 tools and 19.0k tokens, and Supabase MCP with all tools at 19.3k tokens. This evidence compares only default tool count and context usage; it does not establish broader superiority in database coverage, permissions, or total functionality.

FAQ

Does DBHub modify the database by default?
execute_sql can run SQL, so effective access depends on the database account and DBHub configuration. For read-only use, combine restricted database credentials with DBHub's read-only mode, row limits, and query timeout.
Can one DBHub instance connect to multiple databases?
Yes. Multiple database connections can be configured together in dbhub.toml, including connections to different supported database types.
Is Claude required?
No. DBHub exposes an MCP server, and the source explicitly lists Claude Desktop, Claude Code, Cursor, VS Code, and Copilot CLI as clients.
How can expensive or runaway queries be controlled?
DBHub provides row limits, query timeouts, and read-only mode. The optional explain_sql tool can inspect an execution plan without executing the query.
Does DBHub require a paid service?
The repository is MIT-licensed, and the supplied material does not document a required DBHub subscription. Operators still need to provide the runtime environment, database, and associated network resources.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents