D

DBHub

Lightweight database MCP server from Bytebase for Postgres, MySQL, SQL Server, MariaDB, Oracle and SQLite, built to keep token use low.

🗄️ Databases & vector storesGitHub stars3,673Updated 2026-10-13By BytebaseLicense: MITAuth: Not checked yetGitHub ↗

Test results

Last passed 2026-10-22
Claude CodePassed2026-10-21 · install, connect, tools, agent taskTested with Claude Code 2.1.296 · @bytebase/dbhub 1.5.0 · connected in 2.4s
CursorPassed2026-10-21 · install, connect, tools, agent taskTested with Cursor CLI 2026.10.19-6bbf2c4 · @bytebase/dbhub 1.5.0 · connected in 1.4s
Claude DesktopPassed2026-10-22 · install, connect, tools, agent taskTested with Claude Desktop 2.37337.1 (Linux beta, Electron 44.7.0) · @bytebase/dbhub 1.5.0 · connected in 8.3s
ChatGPT (Codex)Passed2026-10-22 · install, connect, tools, agent taskTested with Codex CLI 0.162.0-alpha.17.2 · @bytebase/dbhub 1.5.0 · connect time not recorded

Server package tested: @bytebase/dbhub 1.5.0 (npm, Node v24.22.0; resolved 2026-10-22)

Direct and key dependencies as resolved: @iarna/toml 2.2.5 · @modelcontextprotocol/node 2.1.1 · @modelcontextprotocol/server 2.3.1 · dotenv 16.6.1 · express 4.22.3 · ssh-config 5.3.0 · ssh2 1.17.0 · zod 4.6.7

All 203 resolved dependencies
@aws-sdk/core==3.978.5
@aws-sdk/credential-provider-cognito-identity==3.972.75
@aws-sdk/credential-provider-env==3.972.76
@aws-sdk/credential-provider-http==3.972.78
@aws-sdk/credential-provider-ini==3.973.21
@aws-sdk/credential-provider-login==3.972.83
@aws-sdk/credential-provider-node==3.972.88
@aws-sdk/credential-provider-process==3.972.76
@aws-sdk/credential-provider-sso==3.973.20
@aws-sdk/credential-provider-web-identity==3.972.82
@aws-sdk/credential-providers==3.1156.0
@aws-sdk/nested-clients==3.997.50
@aws-sdk/rds-signer==3.1156.0
@aws-sdk/signature-v4-multi-region==3.996.49
@aws-sdk/token-providers==3.1155.0
@aws-sdk/types==3.975.0
@aws-sdk/xml-builder==3.972.41
@aws/lambda-invoke-store==0.3.0
@azure-rest/core-client==2.9.0
@azure/abort-controller==2.2.0
@azure/core-auth==1.11.0
@azure/core-client==1.11.1
@azure/core-lro==2.7.2
@azure/core-paging==1.7.0
@azure/core-process==1.0.0
@azure/core-rest-pipeline==1.25.0
@azure/core-tracing==1.4.0
@azure/core-util==1.14.0
@azure/identity==4.14.0
@azure/keyvault-common==2.1.0
@azure/keyvault-keys==4.10.2
@azure/logger==1.4.0
@azure/msal-browser==5.26.0
@azure/msal-common==16.14.1, 16.14.3
@azure/msal-node==6.0.1
@hono/node-server==1.19.17
@iarna/toml==2.2.5
@js-joda/core==5.7.0
@modelcontextprotocol/core==2.3.1
@modelcontextprotocol/node==2.1.1
@modelcontextprotocol/server==2.3.1
@smithy/core==3.36.2
@smithy/credential-provider-imds==4.5.2
@smithy/fetch-http-handler==5.8.0
@smithy/node-http-handler==4.12.1
@smithy/signature-v4==5.7.4
@smithy/types==4.19.0
@tediousjs/connection-string==0.5.0
@types/geojson==7946.0.16
@types/node==26.6.5
@types/readable-stream==4.0.25
@typespec/ts-http-runtime==0.3.9
abort-controller==3.0.0
accepts==1.3.8
agent-base==7.1.4
array-flatten==1.1.1
asn1==0.2.6
aws-ssl-profiles==1.1.2
base64-js==1.5.1
bcrypt-pbkdf==1.0.2
bl==6.1.6
body-parser==1.20.9
bowser==2.14.1
buffer==6.0.3
buffer-equal-constant-time==1.0.1
bundle-name==4.1.1
bytes==3.1.2
call-bind-apply-helpers==1.0.2
call-bound==1.0.4
commander==11.1.0
content-disposition==0.5.4
content-type==1.0.5
cookie==0.7.2
cookie-signature==1.0.7
debug==2.6.9, 4.4.3
default-browser==5.5.1
default-browser-id==5.0.1
define-lazy-prop==3.0.0
denque==2.1.0
depd==2.0.0
destroy==1.2.0
dotenv==16.6.1
dunder-proto==1.0.1
ecdsa-sig-formatter==1.0.11
ee-first==1.1.1
encodeurl==2.0.0
es-define-property==1.0.1
es-errors==1.3.0
es-object-atoms==1.1.2
escape-html==1.0.3
etag==1.8.1
event-target-shim==5.0.1
events==3.3.0
express==4.22.3
finalhandler==1.3.2
forwarded==0.2.0
fresh==0.5.2
function-bind==1.1.2
generate-function==2.3.1
get-intrinsic==1.3.0
get-proto==1.0.1
gopd==1.2.0
has-symbols==1.1.0
hasown==2.0.4
hono==4.13.13
http-errors==2.0.1
http-proxy-agent==7.0.2
https-proxy-agent==7.0.6
iconv-lite==0.4.24, 0.6.3, 0.7.3
ieee754==1.2.1
inherits==2.0.4
ipaddr.js==1.9.1
is-docker==3.0.0
is-in-ssh==1.0.0
is-inside-container==1.0.0
is-property==1.0.2
is-wsl==3.1.1
js-md4==0.3.2
jsonwebtoken==9.0.3
jwa==2.0.1
jws==4.0.1
lodash.includes==4.3.0
lodash.isboolean==3.0.3
lodash.isinteger==4.0.4
lodash.isnumber==3.0.3
lodash.isplainobject==4.0.6
lodash.isstring==4.0.1
lodash.once==4.1.1
long==5.3.2
lru-cache==11.5.3
lru.min==1.1.5
mariadb==3.5.4
math-intrinsics==1.1.0
media-typer==0.3.0
merge-descriptors==1.0.3
methods==1.1.2
mime==1.6.0
mime-db==1.52.0
mime-types==2.1.35
ms==2.0.0, 2.1.3
mssql==11.0.2
mysql2==3.24.6
named-placeholders==1.1.6
nan==2.30.0
native-duplexpair==1.0.0
negotiator==0.6.3
object-inspect==1.13.4
on-finished==2.4.2
open==11.0.4
oracledb==7.0.1
parseurl==1.3.3
path-to-regexp==0.1.13
pg==8.23.1
pg-cloudflare==1.4.1
pg-connection-string==2.14.1
pg-int8==1.0.1
pg-pool==3.14.0
pg-protocol==1.16.1
pg-types==2.2.0
pgpass==1.0.5
postgres-array==2.0.0
postgres-bytea==1.0.1
postgres-date==1.0.7
postgres-interval==1.2.0
powershell-utils==0.2.1
process==0.11.10
proxy-addr==2.0.8
qs==6.16.1
range-parser==1.2.1
raw-body==2.5.3
readable-stream==4.8.0
rfdc==1.4.1
run-applescript==7.1.0
safe-buffer==5.2.1
safer-buffer==2.1.2
semver==7.8.5
send==0.19.2
serve-static==1.16.3
setprototypeof==1.2.0
side-channel==1.1.1
side-channel-list==1.0.1
side-channel-map==1.0.1
side-channel-weakmap==1.0.2
split2==4.2.0
sprintf-js==1.1.3
sql-escaper==1.5.2
ssh-config==5.3.0
ssh2==1.17.0
statuses==2.0.2
string_decoder==1.3.0
tarn==3.1.2
tedious==18.6.2
toidentifier==1.0.1
tslib==2.8.1
tweetnacl==0.14.5
type-is==1.6.18
undici-types==8.9.0
unpipe==1.0.0
utils-merge==1.0.1
vary==1.1.2
wsl-utils==1.0.1
xtend==4.0.2
zod==4.6.7

Captured with: npm ls --all --json in the npx env.

Full result per app: Does it work with Claude Code? · Does it work with Cursor? · Does it work with Claude Desktop? · Does it work with ChatGPT (Codex)?

Protocol: starts, 2 tools listed · 2026-10-21 · connected in 0.9s
🧪 Test-box note: DBHub needs Node >= 22.5 (node:sqlite); the box runs it with the user-local Node 24.22.0 (~/opt/node24). Tested against a local SQLite file in the harness sandbox (no database server, no credentials).

Real test

Passed

One run from our records. When two runs share a date, we show a failure if there is one.

Client
Claude Desktop · Claude Desktop 2.37337.1 (Linux beta, Electron 44.7.0)
Date
Oct 22, 2026
The task we gave
Using only the dbhub MCP tools, store a record containing the text TP-BF3896 in the local test database, then query it back with the same tools and reply with the text you read back.
What it promised
details not recorded for this run
What happened

2 tool calls recorded. The names were not stored on this run.

Tool result

{"content": [{"type": "text", "text": "{\n  \"success\": true,\n  \"data\": {\n    \"object_type\": \"table\",\n    \"pattern\": \"%\",\n    \"detail_level\": \"names\",\n    \"count\": 1,\n    \"results\": [\n      {\n        \"name\": \"test_records\",\n        \"schema\": \"main\"\n      }\n    ],\n    \"truncated\": false\n  }\n}"}]}

Agent reply

TP-BF3896
Verdict
Passed

Install

claude mcp add dbhub -- npx -y @bytebase/dbhub@latest --transport stdio --dsn sqlite:///path/to/dir/db/dbhub.db

Run in your terminal. This exact command is what our harness runs in Claude Code; see the results above.

{
  "mcpServers": {
    "dbhub": {
      "command": "npx",
      "args": [
        "-y",
        "@bytebase/dbhub@latest",
        "--transport",
        "stdio",
        "--dsn",
        "sqlite:///path/to/dir/db/dbhub.db"
      ]
    }
  }
}

Save as .cursor/mcp.json. This exact config is what our harness runs in Cursor; see the results above.

{
  "mcpServers": {
    "dbhub": {
      "command": "npx",
      "args": [
        "-y",
        "@bytebase/dbhub@latest",
        "--transport",
        "stdio",
        "--dsn",
        "sqlite:///path/to/dir/db/dbhub.db"
      ]
    }
  }
}

Add to claude_desktop_config.json and restart Claude Desktop. Tested on the Linux beta; see the results above.

[mcp_servers.dbhub]
command = "npx"
args = ["-y", "@bytebase/dbhub@latest", "--transport", "stdio", "--dsn", "sqlite:///path/to/dir/db/dbhub.db"]

Add to ~/.codex/config.toml (shared by the ChatGPT (Codex) CLI and the ChatGPT desktop app; Codex runs inside the ChatGPT desktop app). Tested with the ChatGPT (Codex) CLI bundled in the ChatGPT desktop app; see the results above.

Not connecting? Troubleshooting: Claude Code · Cursor · Claude Desktop · ChatGPT (Codex)

Test history

DateCheckResultVersions tested
2026-10-22Claude DesktopPassed
install, connect, tools, agent task
Claude Desktop 2.37337.1 (Linux beta, Electron 44.7.0) · @bytebase/dbhub 1.5.0
2026-10-22ChatGPT (Codex)Passed
install, connect, tools, agent task
Codex CLI 0.162.0-alpha.17.2 · @bytebase/dbhub 1.5.0
2026-10-21Protocol (direct stdio)Protocol: starts, 2 tools listed@bytebase/dbhub 1.5.0 · server reported v1.5.0
2026-10-21Claude CodePassed
install, connect, tools, agent task
Claude Code 2.1.296 · @bytebase/dbhub 1.5.0
2026-10-21CursorPassed
install, connect, tools, agent task
Cursor CLI 2026.10.19-6bbf2c4 · @bytebase/dbhub 1.5.0

Tools seen by our harness (2)

execute_sqlsearch_objects
Sponsors