# ClickHouse MCP Server vs DBHub (slim)

> DBHub scores 70.4 (BB) to ClickHouse's 68.8 (B) for sql databases. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/clickhouse-mcp-server-vs-dbhub.md (~4,950 tokens) · this version ~3,080 tokens · JSON https://www.anchorterminal.com/compare/clickhouse-mcp-server-vs-dbhub.json · canonical https://www.anchorterminal.com/compare/clickhouse-mcp-server-vs-dbhub
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-07
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

DBHub scores 70.4 (BB) on agent readiness against ClickHouse MCP Server's 68.8 (B), and leads in 3 of 7 scored categories. ClickHouse MCP Server leads on schema & documentation, security & auth and transparency & trust. Both do sql databases.

- ClickHouse MCP Server: B 68.8, rank #266 of 1486 · https://www.anchorterminal.com/tools/clickhouse-mcp-server.min.md
- DBHub: BB 70.4, rank #200 of 1486 · https://www.anchorterminal.com/tools/dbhub.min.md
- ClickHouse MCP Server, good for Teams with a ClickHouse database, self-managed or Cloud, that want an agent to explore schemas and run analytical SQL, read-only unless told otherwise. Ahead on Schema & documentation, 79 against 73; Security & auth, 66 against 43; Transparency & trust, 82 against 61.
- DBHub, good for Coding agents exploring and querying a local or staging database across several engines. postgres-mcp-pro, mongodb-mcp, clickhouse-mcp-server and supabase-mcp are the nearest listings; MCP Toolbox for Databases covers more sources with more tools. Ahead on Reliability, 80 against 74; Agent ergonomics, 85 against 65; Maintenance & community, 95 against 84. Also Agent-ready, a grade of BB or better; No key needed to call it; No incidents deducted, where ClickHouse MCP Server loses 3 points for them.

| Category | ClickHouse MCP Server | DBHub |
| --- | --- | --- |
| Reliability (16%) | 74 | 80 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 79 | 73 |
| Agent ergonomics (13%) | 65 | 85 |
| Security & auth (14%) | 66 | 43 |
| Payments & pricing (10%) | 60 | 60 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 84 | 95 |
| Transparency & trust (7%) | 82 | 61 |

| Fact (where they differ) | ClickHouse MCP Server | DBHub |
| --- | --- | --- |
| Vendor | ClickHouse | Bytebase |
| Transports | stdio, Streamable HTTP, SSE (legacy) | stdio, Streamable HTTP |
| Auth | OAuth or key | None |
| Licence | Apache-2.0 | MIT |
| Tools exposed | 3 | 2 |
| MCP registry | `io.github.ClickHouse/mcp-clickhouse` | `io.github.bytebase/dbhub` |
| Last release | 2026-09-21 | 2026-11-03 |
| Popularity | 883 stars, 47k PyPI/wk | 3.8k stars, 51k npm/wk |
| Agent reviews | 3.3/5 (4) | none |

Why the edge:
- Security & auth, ClickHouse MCP Server +23: ClickHouse MCP Server 66 (The server holds one ClickHouse user and password, or an X.509 client certificate since 0.7.0, which ClickHouse grants and roles can scope and an admin can revoke. HTTP and SSE require a bearer token or a FastMCP OAuth or OIDC provider by default, and no secret travels in a URL. Every caller shares the one database user unless middleware is written (24 of 30). Queries run with `readonly=1` by default, writes and destructive statements need two separate flags, the server warns when the user's direct grants exceed the flags, and the README tells operators to use a dedicated least-privilege user. The destructive gate is a keyword check the README calls best-effort, and nothing asks for confirmation (17 of 20). Query results reach the model as stored. No injection guidance was found in the README or the docs pages read, and the server's own instructions ask agents to install a skills package (2 of 15). Each query's SQL is logged at INFO, ClickHouse's `system.query_log` records it under the client name `mcp_clickhouse`, and a middleware hook can log tool calls. No per-caller identity reaches ClickHouse (9 of 15). ClickHouse has a valid security.txt (expires 28 July 2027, re-read on 2 November), a Bugcrowd bounty programme, and SOC 2 Type 2 and ISO 27001 on its trust centre. This repository has no SECURITY.md and no published advisories, though 0.3.0 and 0.5.0 carried security fixes (14 of 20). 24+17+2+9+14 = 66.); DBHub 43 (The server holds database credentials, and the MCP side has no credential over stdio. Over HTTP a bearer token is optional and off by default while the default bind is 0.0.0.0, so an exposed port answers anyone the host allow-list admits (12). Read-only mode classifies statements and adds engine-level read-only transactions on PostgreSQL, with row limits and timeouts; there is no confirmation step for writes when read-only is off (16). Rows reach the model unmarked, and no guidance on treating results as untrusted was found beyond a blog post on the lethal trifecta (4). The workbench shows request traces (8). No SECURITY.md, disclosure policy or security.txt found (3). 12 + 16 + 4 + 8 + 3 = 43.)
- Transparency & trust, ClickHouse MCP Server +21: ClickHouse MCP Server 82 (Apache-2.0 (30). Local software that connects only to the configured ClickHouse. The README states where parameter values and SQL text appear in logs, and no telemetry code was found in the 0.7.0 source. Nothing in the README states the absence of telemetry, and the ClickHouse Privacy Policy does not address this software (22 of 30). No deprecation policy. The SSE transport is marked deprecated in 0.6.0 with no removal date, and `run_select_query` was removed in 0.3.0 with no prior notice found (8 of 20). No usage statistics to opt out of on the evidence of the source, though the project does not say so in writing (16 of 20).); DBHub 61 (MIT (30). A local server that sends data only to the configured database; no privacy statement, but nothing to state for hosted processing (15). Removed flags fail loudly with a message pointing at the TOML replacement (--readonly, READONLY, MAX_ROWS), but there is no written deprecation policy (10). No telemetry found in the source, though the README doesn't say so (12). 30 + 15 + 10 + 12 = 67.)
- Agent ergonomics, DBHub +20: ClickHouse MCP Server 65 (Three tools by default and four with chDB, one of them with a long description (25). `list_tables` pages with single-use tokens, filters with `like` and `not_like`, and drops column detail with `include_detailed_columns`. `run_query` has no row or byte limit, and issue #223 reports a 231 MiB result from one query (11 of 20). ClickHouse error codes and messages pass through, timeouts return 'Query timed out after N seconds', and the README shows sample analysis errors. No documented error list (13 of 20). No tool declares `readOnlyHint`, `destructiveHint` or `idempotentHint`, and pull request #184 adding them has been open since 22 May 2026. The metadata tools retry once on connection errors and `run_query` is not retried because a write may have succeeded (6 of 20). `run_query` and `list_tables` each need one argument and defaults are stated. The server is a Python package only (10 of 15).); DBHub 85 (Two tools by default, about 1.4k tokens by the README's count, with opt-in extras (25). max_rows caps results and flags truncation, search_objects has names, summary and full detail levels and a limit (18). Errors return as tool errors with the database's message (12). readOnlyHint and destructiveHint follow the access policy, though idempotentHint is always false (18). Few required settings, one DSN, and no SDK is needed for a local server (12). 25 + 18 + 12 + 18 + 12 = 85.)
- Maintenance & community, DBHub +11: ClickHouse MCP Server 84 (v0.7.0, tagged and released on 21 September 2026, is still the newest release on 2 November, 42 days on (20, was 30, cause time). Three tagged releases since 4 August, 0.5.0 on 1 September, 0.6.0 on 3 September and 0.7.0 (20). Three open issues against a dozen closed between July and October 2026, most with a maintainer reply and a fix version, per the 9 October check. Issue #223 had had no reply in six weeks and pull request #184 has been open since May (20 of 25). Listed in the official MCP registry as `io.github.ClickHouse/mcp-clickhouse`, a GitHub-verified namespace, with 0.7.0 published on 21 September 2026 and marked latest (re-read on 2 November) (15). Dependabot updates merged on 1, 20, 21 and 26 October 2026, a lock file, and a CI matrix that tests the minimum supported driver. `server.json` on main still says 0.6.0 (9 of 10). 20+20+20+15+9 = 84.); DBHub 95 (v1.5.1 on 3 November 2026, 3 days before this check (30). Eleven tags from v1.2.0 (1 August) to v1.5.1 in the 90 days (20). Issues and pull requests are closed quickly, most within days, and only 7 are open (22). Listed in the official MCP registry as io.github.bytebase/dbhub at the current version (15). CI on push and pull request, a Docker publish workflow and pinned pnpm (8). 30 + 20 + 22 + 15 + 8 = 95.)
- Reliability, DBHub +6: ClickHouse MCP Server 74 (Scored as local software, since the owner runs it over stdio or its own HTTP listener. Official PyPI package `mcp-clickhouse` and a Docker image on GitHub Container Registry, with Python 3.10 to 3.14 stated (20). The CI workflow concluded in success on main on 6 October 2026, on a five-version Python matrix against ClickHouse 26.3, per the 9 October check, not re-read on 2 November since GitHub's pages and API answer 403; main has since taken only dependency bumps and documentation (25). Three open issues and five open pull requests per the 9 October check. Issue #223 on unbounded `run_query` results had been open since 23 August 2026 with no reply, and #155 on per-user access has ten comments; the clone shows no fix for #223 and no annotations from #184 by 26 October (20 of 25). A changelog with a labelled breaking change in 0.5.0 and Compatibility sections in 0.6.0 and 0.7.0, but the changelog file dates only from 14 April 2026, 0.3.0 renamed `run_select_query` to `run_query` without a note, and its entry names environment variables the code does not read (9 of 15). Version 0.7.0, with no stability declaration found (0). 20+25+20+9+0 = 74.); DBHub 80 (Scored as a local stdio and HTTP package. Official npm package @bytebase/dbhub with Node.js 22.5 or later stated (20). A run-tests workflow runs unit and container-based integration suites on push and pull request; the pass state wasn't read (15). Of the latest 25 issues, 22 are closed, most crash and regression reports fixed within days, such as the dropped-connection crash closed 21 October and duplicate column names closed 3 November (22). Semver tags for every release but no changelog file, and release notes weren't read (8). 1.0.0 since 28 July 2026 (15). 20 + 15 + 22 + 8 + 15 = 80.)
- Schema & documentation, ClickHouse MCP Server +6: ClickHouse MCP Server 79 (Each tool is built from a typed Python signature, so inputs carry JSON Schema, read from the source since we do not run vendor software. `params` on `run_query` is a free-form object and tools return JSON-encoded strings with no output schema (21 of 25). clickhouse.com serves llms.txt, a docs llms.txt and a Markdown form of each docs page, and the README is Markdown (10). The `run_query` description runs to about 1,500 characters and says what the tool does, how to bind parameters and when to use `DESCRIBE` and `EXPLAIN ESTIMATE`. `list_tables` documents every argument and the response shape. `list_databases` has one line (16 of 20). `page_size` must be greater than 0 and `database` is required, but there are no enums and SQL arrives as one string (9 of 15). The README has worked examples for parameters, pre-run checks with sample error text, and client configuration. No catalogue of error responses was found (10 of 15). Semantic version numbers, tagged releases and a dated changelog, though ClickHouse's Remote MCP docs page still names the removed `run_select_query` tool (13 of 15).); DBHub 73 (Both default tools take zod schemas, so inputs are typed JSON Schema (25). dbhub.ai serves llms.txt (10). Descriptions are short and generated per source ("Execute SQL queries on the postgres database [READ-ONLY MODE]"), with the row cap stated, and say little about when not to use a tool (10). search_objects has enums for object type and detail level and a result limit; SQL is free text by nature (12). Docs pages per tool with examples; error formats aren't documented (9). Semver tags without a changelog (7). 25 + 10 + 10 + 12 + 9 + 7 = 73.)
