ClickHouse vs Pgtuner MCP — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
ClickHouse vs Pgtuner MCP
In-depth architectural comparison of the ClickHouse and Pgtuner MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
ClickHouse
Databases · Local stdio
Quality: 53/100 (Good) | Auth: other
Pgtuner MCP
Databases · Local stdio
Quality: 52/100 (Good) | Auth: No auth required
Verdict Summary: Choose ClickHouse if you need specialized Databases tools running via a local process. Choose Pgtuner MCP if your workspace requires Databases integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose ClickHouse when:
You need dedicated capabilities in the Databases domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: other (Free / Open Source).
You have access to required keys: MCP_CLICKHOUSE_DSN.
You need dedicated capabilities in the Databases domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
You have access to required keys: DATABASE_URI, PGTUNER_EXCLUDE_USERIDS, PGTUNER_STATEMENT_TIMEOUT_MS, PGTUNER_IDLE_TXN_TIMEOUT_MS, PGTUNER_LOCK_TIMEOUT_MS, PGTUNER_CORS_ALLOW_ORIGINS, PGTUNER_LINT_DISABLED_RULES.
List configured profiles. Each entry includes name and optional description.
get_cluster_properties
Get cluster properties and execution limits. Returns ClickHouse server version plus enforced limits (max rows, timeouts) for the profile.
run_query
Execute read-only SELECT or WITH … SELECT. One statement; DML, DDL, SET, SYSTEM, and similar are rejected. Returns `{data, row_count}` where `data` is an RFC 4180 CSV string. Pass `snapshot=true` to persist the result to disk and receive `{snapshot_uri, row_count}` instead; fetch the CSV via the sn…
run_show
Execute SHOW introspection statement. One statement per call; INTO OUTFILE rejected. Interactive row limits apply (default 500, hard ceiling 1 000). Same timeout as run_query.
analyze_query
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
ClickHouse is categorized under Databases and uses a local stdio subprocess. In contrast, Pgtuner MCP belongs to Databases using local stdio subprocess. Select ClickHouse when you need capabilities focused on databases and Pgtuner MCP when you require tools for databases.
Explain read-only SELECT or WITH … SELECT. Returns plan, pipeline, and/or syntax text. Default types plan and pipeline. Uses query timeout and optional database; no max-rows cap unlike run_query.
list_databases
List databases. Rows from system.databases visible to the connection.
list_tables
List tables and views in a database. Rows from system.tables: name, engine, primary_key, sorting_key, partition_key, total_rows, total_bytes for query planning.
list_columns
List columns for a table or view. Rows from system.columns for the resolved database and table.
Pgtuner MCP Tools (16)
get_slow_queries
Retrieve slow queries from pg_stat_statements with detailed stats (total time, mean time, calls, cache hit ratio). Excludes system catalog queries.
analyze_query
Analyze a query's execution plan with EXPLAIN ANALYZE, including automated issue detection
get_table_stats
Get detailed table statistics including size, row counts, dead tuples, and access patterns
analyze_disk_io_patterns
Analyze disk I/O read/write patterns, identify hot tables, buffer cache efficiency, and I/O bottlenecks. Supports filtering by analysis type (all, buffer_pool, tables, indexes, temp_files, checkpoints).
get_index_recommendations
AI-powered index recommendations based on query workload analysis
explain_with_indexes
Run EXPLAIN with hypothetical indexes to test improvements without creating real indexes