In-depth architectural comparison of the ClickHouse and Simple Snowflake 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
Simple Snowflake MCP
Databases · Local stdio
Quality: 55/100 (Good) | Auth: API Key required
Verdict Summary: Choose ClickHouse if you need specialized Databases tools running via a local process. Choose Simple Snowflake 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.
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, Simple Snowflake MCP belongs to Databases using local stdio subprocess. Select ClickHouse when you need capabilities focused on databases and Simple Snowflake 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.
Simple Snowflake MCP Tools (15)
execute-snowflake-sql
Executes a SQL query on Snowflake and returns the result. Supports `json` (default), `markdown`, and `csv` output via the `format` argument.
execute-query
Executes a SQL query with server-enforced read-only protection. In read-only mode (the default) only `SELECT`, `SHOW`, `DESCRIBE`, `EXPLAIN`, and `WITH` statements (without DML) are allowed. Read-only mode is governed **solely by server configuration** and cannot be relaxed by the caller. Supports…
get-connection-info
Returns current Snowflake connection information and server status.
list-snowflake-warehouses
Lists available Data Warehouses (DWH) on Snowflake. Pass `include_details: false` for names only.
list-databases
Lists all accessible Snowflake databases. Supports a `pattern` filter (wildcards) and `include_details`.
list-schemas
Lists schemas in a `database`. Supports a `pattern` filter (wildcards) and `include_details`.
list-tables
Lists tables in a `database`/`schema`. Supports a `pattern` filter (wildcards) and `include_details`.
list-views
Lists views in a `database`/`schema`. Supports a `pattern` filter (wildcards) and `include_details`.
describe-table
Returns the columns and types of a `database`/`schema`/`table` (works for views too). Supports `json` (default)/`markdown`/`csv` via `format`.
query-view
Reads rows from a `database`/`schema`/`view` (or table) by name, with the same server-enforced read-only protection and row limiting as `execute-query`. Supports a `limit`, an `offset` for paging, and `markdown` (default)/`json`/`csv` via `format`.
export-schema
Exports hierarchical schema metadata (databases → schemas → tables/views → columns). Supports `json` (default), `yaml`, and `sql` via `format`, an optional `database` filter, and opt-in `include_data_samples` (table rows only, max 3 rows per table).
add-note
Adds or updates a note (`name`, `content`) kept in server memory for the session.