In-depth architectural comparison of the ClickHouse and Microsoft SQL Server 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
Microsoft SQL Server
Databases · Local stdio
Quality: 43/100 (Fair) | Auth: No auth required
Verdict Summary: Choose ClickHouse if you need specialized Databases tools running via a local process. Choose Microsoft SQL Server 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 connection profiles. Call first when picking a non-default profile.
run_query
Execute read-only `SELECT` (CTEs allowed), one statement per call. Returns rows inline as CSV, or a `chx://snapshots/{id}` URI when `snapshot=true`. Inline limit: 500 rows (hard ceiling 1 000). Snapshot limit: 10 000 rows (hard ceiling 50 000).
run_show
Execute one `SHOW` statement — chiefly `SHOW CREATE TABLE`/`VIEW`/`DICTIONARY` for DDL a listing cannot give you: codecs, TTLs, the full column list. No `INTO OUTFILE`.
analyze_query
EXPLAIN` a read-only `SELECT`; returns plan, pipeline or syntax, no result rows.
Microsoft SQL Server Tools (5)
list_profiles
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, Microsoft SQL Server belongs to Databases using local stdio subprocess. Select ClickHouse when you need capabilities focused on databases and Microsoft SQL Server when you require tools for databases.
List configured connection profiles. Call first when picking a non-default profile. Returns `name`, `description` and `allow_write` per profile.
get_object
Get metadata for one relation (columns, indexes, constraints, relationships) or routine (definition). `name` accepts `Users`, `dbo.Users` or `[dbo].[Users]`. `includes` omitted → `columns`. Relations also carry an approximate `row_count`.
run_query
Execute read-only T-SQL SELECT; only SELECT allowed (no DML/DDL). Returns results as CSV in the `data` field (inline) or a snapshot resource URI when `snapshot=true`. Inline limit: 500 rows (hard ceiling 1000). Snapshot limit: 10 000 rows (hard ceiling 50 000). Prefer `analyze_query` for plan tunin…
analyze_query
Analyze execution plan for a read-only SELECT. Returns compact JSON summary (cost, operators, cardinality, warnings, `missing_indexes`, waits, stats); no result rows, full XML at `plan_uri`.
run_command
Execute write T-SQL (DDL/DML). Advertised only when some profile sets `AllowWrite=true` (off by default); still rejected at call time when the target `profile` is locked. Caller manages transactions. Returns `rows_affected` (−1 for DDL) and server `messages`. Marked destructive; intended for human-…