| FMRS | 79 / 100 · B | 74 / 100 · B | 74 / 100 · B |
| Reliability | 12 / 20 | 13 / 20 | 13 / 20 |
|---|
| Security and permissions | 18 / 20 | 13 / 20 | 13 / 20 |
|---|
| Maintenance | 17 / 20 | 17 / 20 | 16 / 20 |
|---|
| Documentation | 17 / 20 | 16 / 20 | 15 / 20 |
|---|
| Setup experience | 15 / 20 | 15 / 20 | 17 / 20 |
| Best for | - Teams already using ClickHouse who want AI assistants to access data directly.
- Scenarios requiring fast, read-only data queries and schema exploration.
| - Teams that want precise control over which database operations an AI can perform, rather than open arbitrary SQL execution
- Scenarios needing a unified MCP setup across multiple database engines
| - Scenarios wanting the smallest possible tool count and lowest context-window overhead for database access
- Cases needing to grant non-technical teammates safe, read-only database access
|
| Not for | - Scenarios requiring write access to the database without explicit opt-in.
- Production environments with stringent security requirements that avoid default permission settings.
| - Lightweight cases that just want to run a few ad-hoc SQL queries without maintaining a tools.yaml config (a simpler single-database MCP may be a better fit)
| - Scenarios needing database administration operations (creating indexes, altering schema) rather than just querying (DBHub is positioned as a query tool, not a DBA management tool)
|
| Required permissions | - Requires read-only access to ClickHouse database (default).
- Optional: write access via CLICKHOUSE_ALLOW_WRITE_ACCESS.
- Optional: destructive operations via CLICKHOUSE_ALLOW_DROP.
| - Database credentials (username/password/connection string) are supplied via env vars or config
- A tool's actual permission is whatever SQL statement is defined in tools.yaml — designed for least privilege, but misconfiguration can still over-expose access
| - Requires a database connection string (DSN), which may contain sensitive credentials
- execute_sql can run arbitrary SQL (including writes) by default — must be constrained via read-only mode or the underlying database account's own permissions
|
| Risks and side effects | - If write access is enabled, AI might make unintended modifications.
- If DROP access is enabled, data deletion could occur accidentally.
- Credentials may be exposed via environment variables.
| - If tools.yaml defines SQL statements that allow unconstrained writes or deletes, the AI could accidentally modify data
- The prebuilt toolsets (--prebuilt) favor convenience and may expose broader query capability than a specific business actually needs — use a custom tools.yaml in production
| - Under default settings, if the connected database account has write access, execute_sql could let the assistant perform an unintended write or delete — pair with a read-only database account in production
- The DSN contains a plaintext password — pay attention to the access permissions on wherever the config is stored
|
| Supported clients | Claude Desktop | Claude Code, Gemini CLI, Zed, Antigravity | Claude Desktop, Claude Code, VS Code, Cursor, Zed |
| Tools | 4 | 0 | 2 |