.mcpb) is a one-click installation path — no Node.js install, no JSON config editing, and no remote HTTP endpoint or OAuth setup. It is an open format governed by the Model Context Protocol project; clients that install it directly include Claude Desktop, Claude Code, and MCP for Windows. It is the recommended way to give non-technical users curated database access.
Install
- Download
dbhub-<version>.mcpbfrom the latest GitHub release. - Install it in your client — in Claude Desktop, double-click the file (or drag it into Settings → Extensions).
- Enter your database connection string when prompted, e.g.
postgres://user:password@host:5432/dbname. It is stored in the OS keychain, not in a config file.
Clients without native .mcpb support
Clients like Cursor and VS Code can still run the unpacked bundle as a plain stdio MCP server. An.mcpb is a zip archive; this path needs a local Node.js >= 22.5 (native .mcpb clients ship their own runtime):
.cursor/mcp.json or .vscode/mcp.json), using absolute paths:
npx @bytebase/dbhub) is usually simpler — the unpacked-bundle route only makes sense when you want the bundle’s pinned, read-only configuration distributed as a single vetted artifact.
Read-only by design
The bundled configuration setsreadonly = true and max_rows = 1000 on execute_sql: mutating statements are rejected, and the database session is additionally set to read-only at the engine level. Still, connect with a least-privilege, read-only database account — defense in depth beats configuration alone.
The machine running the MCP client connects directly to the database, so the database must be reachable from it (VPN or network allow-list). AWS IAM and Azure AD authentication are not included in the bundle; repackage with those drivers added if you need them.
Packaging your own bundle
To ship a different policy — multiple sources, custom tools, a baked-in DSN so users have nothing to configure — editmcpb/dbhub.toml (and mcpb/manifest.json if you change user_config) and rebuild:
[[sources]] or [[tools]] section of the TOML configuration works in the bundle, including ${ENV_VAR} interpolation — the stock bundle uses dsn = "${DBHUB_DSN}", with DBHUB_DSN supplied by the client from the user’s extension settings.