NestDaddy

Warehouse Mcp

io.github.kalehdoo/warehouse-mcp · v0.4.2

Production MCP server for Postgres, Oracle, Snowflake, BigQuery, Redshift, DuckDB, MotherDuck.

Connect Runs on your machine

Terminal
claude mcp add warehouse-mcp -e MCP_TRANSPORT=<MCP_TRANSPORT> -e WAREHOUSE_TYPE=<WAREHOUSE_TYPE> -e MCP_API_KEYS=<MCP_API_KEYS> -e DUCKDB_PATH=<DUCKDB_PATH> -e MOTHERDUCK_TOKEN=<MOTHERDUCK_TOKEN> -e PG_HOST=<PG_HOST> -e PG_DATABASE=<PG_DATABASE> -e PG_USER=<PG_USER> -e PG_PASSWORD=<PG_PASSWORD> -e ORACLE_USER=<ORACLE_USER> -e ORACLE_PASSWORD=<ORACLE_PASSWORD> -e ORACLE_CONNECT_STRING=<ORACLE_CONNECT_STRING> -e SNOWFLAKE_ACCOUNT=<SNOWFLAKE_ACCOUNT> -e SNOWFLAKE_USER=<SNOWFLAKE_USER> -e SNOWFLAKE_PRIVATE_KEY_PATH=<SNOWFLAKE_PRIVATE_KEY_PATH> -e BIGQUERY_PROJECT=<BIGQUERY_PROJECT> -e GOOGLE_APPLICATION_CREDENTIALS=<GOOGLE_APPLICATION_CREDENTIALS> -e GUARDRAIL_PII_MASK=<GUARDRAIL_PII_MASK> -e MCP_RATE_LIMIT_RPM=<MCP_RATE_LIMIT_RPM> -- npx -y [email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "warehouse-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "MCP_TRANSPORT": "<MCP_TRANSPORT>",
        "WAREHOUSE_TYPE": "<WAREHOUSE_TYPE>",
        "MCP_API_KEYS": "<MCP_API_KEYS>",
        "DUCKDB_PATH": "<DUCKDB_PATH>",
        "MOTHERDUCK_TOKEN": "<MOTHERDUCK_TOKEN>",
        "PG_HOST": "<PG_HOST>",
        "PG_DATABASE": "<PG_DATABASE>",
        "PG_USER": "<PG_USER>",
        "PG_PASSWORD": "<PG_PASSWORD>",
        "ORACLE_USER": "<ORACLE_USER>",
        "ORACLE_PASSWORD": "<ORACLE_PASSWORD>",
        "ORACLE_CONNECT_STRING": "<ORACLE_CONNECT_STRING>",
        "SNOWFLAKE_ACCOUNT": "<SNOWFLAKE_ACCOUNT>",
        "SNOWFLAKE_USER": "<SNOWFLAKE_USER>",
        "SNOWFLAKE_PRIVATE_KEY_PATH": "<SNOWFLAKE_PRIVATE_KEY_PATH>",
        "BIGQUERY_PROJECT": "<BIGQUERY_PROJECT>",
        "GOOGLE_APPLICATION_CREDENTIALS": "<GOOGLE_APPLICATION_CREDENTIALS>",
        "GUARDRAIL_PII_MASK": "<GUARDRAIL_PII_MASK>",
        "MCP_RATE_LIMIT_RPM": "<MCP_RATE_LIMIT_RPM>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "warehouse-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "MCP_TRANSPORT": "<MCP_TRANSPORT>",
        "WAREHOUSE_TYPE": "<WAREHOUSE_TYPE>",
        "MCP_API_KEYS": "<MCP_API_KEYS>",
        "DUCKDB_PATH": "<DUCKDB_PATH>",
        "MOTHERDUCK_TOKEN": "<MOTHERDUCK_TOKEN>",
        "PG_HOST": "<PG_HOST>",
        "PG_DATABASE": "<PG_DATABASE>",
        "PG_USER": "<PG_USER>",
        "PG_PASSWORD": "<PG_PASSWORD>",
        "ORACLE_USER": "<ORACLE_USER>",
        "ORACLE_PASSWORD": "<ORACLE_PASSWORD>",
        "ORACLE_CONNECT_STRING": "<ORACLE_CONNECT_STRING>",
        "SNOWFLAKE_ACCOUNT": "<SNOWFLAKE_ACCOUNT>",
        "SNOWFLAKE_USER": "<SNOWFLAKE_USER>",
        "SNOWFLAKE_PRIVATE_KEY_PATH": "<SNOWFLAKE_PRIVATE_KEY_PATH>",
        "BIGQUERY_PROJECT": "<BIGQUERY_PROJECT>",
        "GOOGLE_APPLICATION_CREDENTIALS": "<GOOGLE_APPLICATION_CREDENTIALS>",
        "GUARDRAIL_PII_MASK": "<GUARDRAIL_PII_MASK>",
        "MCP_RATE_LIMIT_RPM": "<MCP_RATE_LIMIT_RPM>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "warehouse-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "MCP_TRANSPORT": "<MCP_TRANSPORT>",
        "WAREHOUSE_TYPE": "<WAREHOUSE_TYPE>",
        "MCP_API_KEYS": "<MCP_API_KEYS>",
        "DUCKDB_PATH": "<DUCKDB_PATH>",
        "MOTHERDUCK_TOKEN": "<MOTHERDUCK_TOKEN>",
        "PG_HOST": "<PG_HOST>",
        "PG_DATABASE": "<PG_DATABASE>",
        "PG_USER": "<PG_USER>",
        "PG_PASSWORD": "<PG_PASSWORD>",
        "ORACLE_USER": "<ORACLE_USER>",
        "ORACLE_PASSWORD": "<ORACLE_PASSWORD>",
        "ORACLE_CONNECT_STRING": "<ORACLE_CONNECT_STRING>",
        "SNOWFLAKE_ACCOUNT": "<SNOWFLAKE_ACCOUNT>",
        "SNOWFLAKE_USER": "<SNOWFLAKE_USER>",
        "SNOWFLAKE_PRIVATE_KEY_PATH": "<SNOWFLAKE_PRIVATE_KEY_PATH>",
        "BIGQUERY_PROJECT": "<BIGQUERY_PROJECT>",
        "GOOGLE_APPLICATION_CREDENTIALS": "<GOOGLE_APPLICATION_CREDENTIALS>",
        "GUARDRAIL_PII_MASK": "<GUARDRAIL_PII_MASK>",
        "MCP_RATE_LIMIT_RPM": "<MCP_RATE_LIMIT_RPM>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
MCP_TRANSPORT
Optional
Set to 'stdio' for desktop AI clients (Claude Desktop, Cursor). Defaults to 'http'.
WAREHOUSE_TYPE
Required
Which warehouse to connect to. One of: postgres, oracle, redshift, snowflake, bigquery, duckdb. (DuckDB also handles MotherDuck via DUCKDB_PATH=md:<db>.)
MCP_API_KEYS
Optional, secret
Comma-separated bearer keys with role and optional warehouse-role impersonation: 'key1:reader,key2:admin', 'key3:reader:set_role=alice'. Leave empty for stdio (OS process boundary is the trust boundary). Required for HTTP.
DUCKDB_PATH
Optional
DuckDB file path, ':memory:', or 'md:<database>' for MotherDuck. Required when WAREHOUSE_TYPE=duckdb.
MOTHERDUCK_TOKEN
Optional, secret
MotherDuck service token. Required when DUCKDB_PATH starts with 'md:'.
PG_HOST
Optional
Postgres host. Required when WAREHOUSE_TYPE=postgres. (Use REDSHIFT_HOST for Redshift.)
PG_DATABASE
Optional
Postgres database name.
PG_USER
Optional
Postgres user.
PG_PASSWORD
Optional, secret
Postgres password.
ORACLE_USER
Optional
Oracle user. Required when WAREHOUSE_TYPE=oracle.
ORACLE_PASSWORD
Optional, secret
Oracle password.
ORACLE_CONNECT_STRING
Optional
Oracle Easy Connect (e.g. host:1521/SERVICE), TNS descriptor, or alias.
SNOWFLAKE_ACCOUNT
Optional
Snowflake account identifier (e.g. xy12345.us-east-1). Required when WAREHOUSE_TYPE=snowflake.
SNOWFLAKE_USER
Optional
Snowflake username.
SNOWFLAKE_PRIVATE_KEY_PATH
Optional
Path to PKCS8 private key (.p8). Snowflake auth is key-pair only; password auth is not supported.
BIGQUERY_PROJECT
Optional
GCP project id. Required when WAREHOUSE_TYPE=bigquery.
GOOGLE_APPLICATION_CREDENTIALS
Optional
Path to BigQuery service-account JSON. Omit on GKE / Cloud Run with workload identity.
GUARDRAIL_PII_MASK
Optional
Set to 'on' to enable role-aware PII masking on result rows (emails, SSNs, phones, IPs, Luhn-validated CCs). Off by default.
MCP_RATE_LIMIT_RPM
Optional
Per-principal token-bucket rate limit on tool invocations. 0 = disabled. Recommend 60 for production.

Details

Package[email protected] (NPM, stdio)
First published6 May 2026
Last updated6 May 2026
Registry nameio.github.kalehdoo/warehouse-mcp

More databases servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.