DBHub
Token-efficient database MCP server for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite
What can you do with DBHub?
- 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
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
@bytebase/dbhubclaude mcp add dbhub -e 'DSN=<your dsn>' -e 'DB_TYPE=<DB_TYPE>' -e 'DB_HOST=<DB_HOST>' -e 'DB_PORT=<DB_PORT>' -e 'DB_USER=<DB_USER>' -e 'DB_PASSWORD=<your db_password>' -e 'DB_NAME=<DB_NAME>' -e 'TRANSPORT=<TRANSPORT>' -e 'PORT=<PORT>' -e 'ID=<ID>' -e 'SSH_HOST=<SSH_HOST>' -e 'SSH_PORT=<SSH_PORT>' -e 'SSH_USER=<SSH_USER>' -e 'SSH_PASSWORD=<your ssh_password>' -e 'SSH_KEY=<SSH_KEY>' -e 'SSH_PASSPHRASE=<your ssh_passphrase>' -e 'SSH_AUTH_SOCK=<SSH_AUTH_SOCK>' -- npx -y @bytebase/dbhub@1.5.0
{
"mcpServers": {
"dbhub": {
"command": "npx",
"args": [
"-y",
"@bytebase/dbhub@1.5.0"
],
"env": {
"DSN": "<your dsn>",
"DB_TYPE": "<DB_TYPE>",
"DB_HOST": "<DB_HOST>",
"DB_PORT": "<DB_PORT>",
"DB_USER": "<DB_USER>",
"DB_PASSWORD": "<your db_password>",
"DB_NAME": "<DB_NAME>",
"TRANSPORT": "<TRANSPORT>",
"PORT": "<PORT>",
"ID": "<ID>",
"SSH_HOST": "<SSH_HOST>",
"SSH_PORT": "<SSH_PORT>",
"SSH_USER": "<SSH_USER>",
"SSH_PASSWORD": "<your ssh_password>",
"SSH_KEY": "<SSH_KEY>",
"SSH_PASSPHRASE": "<your ssh_passphrase>",
"SSH_AUTH_SOCK": "<SSH_AUTH_SOCK>"
}
}
}
}
Environment variables
DSNsecret Database connection string (e.g., postgres://user:pass@host:5432/db)DB_TYPEDatabase type: postgres, mysql, mariadb, sqlserver, oracle, sqliteDB_HOSTDatabase hostnameDB_PORTDatabase portDB_USERDatabase usernameDB_PASSWORDsecret Database passwordDB_NAMEDatabase name or SQLite file pathTRANSPORTTransport mode: stdio or httpPORTHTTP server port (default: 8080)IDInstance identifier for tool namesSSH_HOSTSSH server hostnameSSH_PORTSSH server port (default: 22)SSH_USERSSH usernameSSH_PASSWORDsecret SSH passwordSSH_KEYPath to SSH private keySSH_PASSPHRASEsecret SSH key passphraseSSH_AUTH_SOCKPath to SSH agent socket
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
[!NOTE]
If you need an enterprise-level database MCP server with built-in guardrails like approval flow, access control, data masking, and audit logging beyond what DBHub offers, check out Bytebase.
+------------------+ +--------------+ +------------------+
| | | | | |
| Claude Desktop +--->+ +--->+ PostgreSQL |
| | | | | |
| Claude Code +--->+ +--->+ SQL Server |
| | | | | |
| Cursor +--->+ DBHub +--->+ Oracle |
| | | | | |
| VS Code +--->+ +--->+ SQLite |
| | | | | |
| Copilot CLI +--->+ +--->+ MySQL |
| | | | | |
| | | +--->+ 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, Oracle, 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, Oracle, 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.tomlconfiguration 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.
Installation
npx @bytebase/dbhub@latest --transport http --port 8080 --dsn "postgres://user:password@localhost:5432/dbname?sslmode=disable"
Also available as:
- Docker image
- MCP Bundle (one-click install, read-only)
- Claude Code plugin
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"
Contributors
Star History
Frequently asked questions
What is DBHub?
Token-efficient database MCP server for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite
How do I install DBHub?
It runs on your machine. In Claude Code: claude mcp add dbhub -e 'DSN=<your dsn>' -e 'DB_TYPE=<DB_TYPE>' -e 'DB_HOST=<DB_HOST>' -e 'DB_PORT=<DB_PORT>' -e 'DB_USER=<DB_USER>' -e 'DB_PASSWORD=<your db_password>' -e 'DB_NAME=<DB_NAME>' -e 'TRANSPORT=<TRANSPORT>' -e 'PORT=<PORT>' -e 'ID=<ID>' -e 'SSH_HOST=<SSH_HOST>' -e 'SSH_PORT=<SSH_PORT>' -e 'SSH_USER=<SSH_USER>' -e 'SSH_PASSWORD=<your ssh_password>' -e 'SSH_KEY=<SSH_KEY>' -e 'SSH_PASSPHRASE=<your ssh_passphrase>' -e 'SSH_AUTH_SOCK=<SSH_AUTH_SOCK>' -- npx -y @bytebase/dbhub@1.5.0. For other clients, paste the JSON configuration from this page into their MCP settings.
Does DBHub need an API key?
Yes. It expects DSN, DB_PASSWORD, SSH_PASSWORD, SSH_PASSPHRASE, which you set in its configuration.
Is DBHub open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains DBHub?
It is published by bytebase. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.