A side-by-side look at the Universal Db 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 Universal Db 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.
POSTGRES_URI, SQLITE_PATH, MYSQL_URI, DUCKDB_PATH, ALLOW_DESTRUCTIVE, MAX_RESULT_ROWS, QUERY_TIMEOUT, RATE_LIMIT_RPM.query, schema, explain.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 | 56/100 · Good | 51/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | POSTGRES_URISQLITE_PATHMYSQL_URIDUCKDB_PATHALLOW_DESTRUCTIVEMAX_RESULT_ROWSQUERY_TIMEOUTRATE_LIMIT_RPM | WAREHOUSE_TYPEMCP_API_KEYS |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1 | 0 |
| Directory activity | 6 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 8 | 9 |
| Full listing | View Universal Db MCP | View Warehouse MCP |
queryExecute a SQL query against the database.
Supports parameterized queries for injection safety. In read-only mode, destructive
operations (INSERT, UPDATE, DELETE, DROP, etc.) are blocked.schemaGet database schema information: tables, columns, types, and constraints.explainGet query execution plan without running the query.healthCheck database connection health and get server version info.query_historyGet recent query execution history (most recent first).snapshot_schemaTake a snapshot of the current database schema for later drift detection.schema_diffCompare the current schema against the last snapshot taken with snapshot_schema.list_databasesList all configured databases and their connection status.
Returns:
JSON with list of databases including key, type, database name, and connection status.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": {
"universal-db-mcp": {
"command": "uvx",
"args": [
"universal-db-mcp"
],
"env": {
"POSTGRES_URI": "YOUR_POSTGRES_URI_HERE",
"SQLITE_PATH": "YOUR_SQLITE_PATH_HERE",
"MYSQL_URI": "YOUR_MYSQL_URI_HERE",
"DUCKDB_PATH": "YOUR_DUCKDB_PATH_HERE",
"ALLOW_DESTRUCTIVE": "YOUR_ALLOW_DESTRUCTIVE_HERE",
"MAX_RESULT_ROWS": "YOUR_MAX_RESULT_ROWS_HERE",
"QUERY_TIMEOUT": "YOUR_QUERY_TIMEOUT_HERE",
"RATE_LIMIT_RPM": "YOUR_RATE_LIMIT_RPM_HERE"
}
}
}
}
{
"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"
}
}
}
}