A side-by-side look at the Db Conn MCP and Warehouse MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Db Conn MCP for databases work as a local process; choose Warehouse MCP for databases as a local process. You can also run both side by side in one mcpServers block.
list_databases, list_tables, get_table_schema.WAREHOUSE_TYPE, MCP_API_KEYS.query, find_columns, get_foreign_keys.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Databases | Databases |
| Quality signal | 52/100 · Good | 51/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | WAREHOUSE_TYPEMCP_API_KEYS |
| Verified owner | Community listing | Community listing |
| GitHub stars | 2 | 0 |
| Directory activity | 4 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 23 | 9 |
| Full listing | View Db Conn MCP | View Warehouse MCP |
list_databasesConfigured databases (name, mode, yolo, and `active_port` when a fallback port is in use — **no DSN**).list_tablesTables and views in a database. Narrow it in the database rather than after the fact: `pattern` keeps only names containing it (fuzzy, case-insensitive) and `limit` caps the number of rows.get_table_schemaColumns, types, primary/foreign keys for a table. Pass `include_indexes=true` to also get its indexes (`name`, key `columns` in index order — an INCLUDE payload is not listed — `unique`, `method`); omitted by default.get_database_schemaThe whole database's schema in one deterministic call. `format="json"` (default) returns every table's columns/types/PK/FK; `format="sql"` returns a **self-contained, runnable DDL script** (tables, sequences, PK/FK/UNIQUE/CHECK, indexes, trigger functions, triggers) — no extra tools required. Pass…dump_schema_faithfulByte-faithful** schema dump via the database's own `pg_dump --schema-only` — the most complete/runnable export. Requires the `pg_dump` binary on the server host; if missing, returns `pg_dump_not_found` with install guidance (see the `faithful_schema_export` prompt).sample_table_rowsFirst N rows of a table (default 10).find_columnsFind columns by name across all tables (fuzzy, case-insensitive). `limit` caps the number of rows for a broad pattern.search_valueFind **where** a value appears across tables (fuzzy); returns table/column hits + samples. Pass `tables=[…]` to scope it.get_object_definitionFaithful SQL definition of a **view / function / trigger / sequence / index** by name (native `pg_get_*def`; overloads and all schemas returned).execute_read_queryRun a single read-only statement (`SELECT`/`WITH`/…) inside a read-only transaction. Optional `params` (**real bind parameters** via `$1`/`$2` — no quoting pitfalls) and `timeout_ms`.execute_write_queryRun a mutation — gated by the safety model above. **Defaults to `dry_run=true`**: execute in a transaction, report would-be `rows_affected`, always ROLL BACK — show the user real impact *before* consenting to the real write. Committing (`dry_run=false`) requires a prior preview of the identical sta…explain_queryEXPLAIN` (optionally `ANALYZE`) a validated read-only query — confirm index usage without any write access. Takes the same `params` (`$1`/`$2` bind parameters) as `execute_read_query`, so you explain the query you will actually run rather than a literal-substituted rewrite of it.queryExecute a SELECT (validator-enforced read-only, dialect-aware)find_columnsSearch column names across the warehouse with a LIKE patternget_foreign_keysDiscover declared FK relationships for safe joinsget_view_definitionRead the SQL body of a view (where business logic lives)time_seriesBucket by hour/day/week/month/quarter/year — dialect-correct everywheresearch_valueFind a literal across a table's text columnsglossary_lookupRead business-glossary terms from the semantic layer (in-memory, no warehouse I/O)schema_lookupRead schema-level docs — purpose, owner, refresh, table listtable_lookupRead full semantic doc for one table — description + column metadataPaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"db-conn-mcp": {
"command": "uvx",
"args": [
"db-conn-mcp"
]
}
}
}
{
"mcpServers": {
"warehouse-mcp": {
"command": "npx",
"args": [
"-y",
"warehouse-mcp@latest"
],
"env": {
"WAREHOUSE_TYPE": "YOUR_WAREHOUSE_TYPE_HERE",
"MCP_API_KEYS": "YOUR_MCP_API_KEYS_HERE"
}
}
}
}