Production-ready MCP (Model Context Protocol) server for data warehouses. Supports Postgres, Oracle, Snowflake, BigQuery, Redshift, DuckDB, and MotherDuck with read-only enforcement, four-tier role-based access, optional warehouse-role impersonation (SET ROLE for native RLS/CLS), JSONL audit log, and optional output PII masking. Self-host via Docker or npx. Current version 0.4.2, released monthly. Differentiators: dialect-aware read-only validation, per-key RLS mapping, 13 tools including column profiling and time-series bucketing.
npm install warehouse-mcpNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Start warehouse-mcp server via Docker Compose and configure Claude Desktop to connect to it.
Replace any 'DATABASE_URL' with 'WAREHOUSE_*' variables as per docs.
Update MCP_API_KEYS entries to use 'set_role=' prefix for warehouse role instead of third colon-separated value.
Do not rely on 'query' tool to block multi-statement input; ensure client-side validation or use a restricted DB user.
Use the 'query' tool with full SQL statement instead of the removed 'table' convenience parameter.
Manually define all PII columns in the 'PII_COLUMNS' environment variable; test with sensitive data before production use.
Run via npx: npx @kalehdoo/warehouse-mcp (no install required).
Verify all WAREHOUSE_* environment variables are set correctly; ensure database is reachable; increase transport timeout in MCP client config.
Check MCP_API_KEYS variable and assign appropriate role (e.g., 'admin' for full access).
The tool enforces read-only; use only SELECT statements or check your application logic.