← Index

io.github.kalehdoo/warehouse-mcp

io.github.kalehdoo/warehouse-mcp·v0.3.4·Databases
Quality Score
85
/100

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

§01  Install
Claude Desktop (claude_desktop_config.json)
{
  "mcpServers": {
    "warehouse-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "warehouse-mcp"
      ],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "WAREHOUSE_TYPE": "<warehouse_type>",
        "MCP_API_KEYS": "<your-mcp_api_keys>",
        "DUCKDB_PATH": "<duckdb_path>",
        "MOTHERDUCK_TOKEN": "<your-motherduck_token>",
        "PG_HOST": "<pg_host>",
        "PG_DATABASE": "<pg_database>",
        "PG_USER": "<pg_user>",
        "PG_PASSWORD": "<your-pg_password>",
        "ORACLE_USER": "<oracle_user>",
        "ORACLE_PASSWORD": "<your-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": "off",
        "MCP_RATE_LIMIT_RPM": "0"
      }
    }
  }
}
Cursor (.cursor/mcp.json)
{
  "mcpServers": {
    "warehouse-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "warehouse-mcp"
      ],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "WAREHOUSE_TYPE": "<warehouse_type>",
        "MCP_API_KEYS": "<your-mcp_api_keys>",
        "DUCKDB_PATH": "<duckdb_path>",
        "MOTHERDUCK_TOKEN": "<your-motherduck_token>",
        "PG_HOST": "<pg_host>",
        "PG_DATABASE": "<pg_database>",
        "PG_USER": "<pg_user>",
        "PG_PASSWORD": "<your-pg_password>",
        "ORACLE_USER": "<oracle_user>",
        "ORACLE_PASSWORD": "<your-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": "off",
        "MCP_RATE_LIMIT_RPM": "0"
      }
    }
  }
}
Cline (cline_mcp_settings.json)
npx -y warehouse-mcp
§02  Environment variables
MCP_TRANSPORT

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
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

DuckDB file path, ':memory:', or 'md:<database>' for MotherDuck. Required when WAREHOUSE_TYPE=duckdb.

MOTHERDUCK_TOKEN
secret

MotherDuck service token. Required when DUCKDB_PATH starts with 'md:'.

PG_HOST

Postgres host. Required when WAREHOUSE_TYPE=postgres. (Use REDSHIFT_HOST for Redshift.)

PG_DATABASE

Postgres database name.

PG_USER

Postgres user.

PG_PASSWORD
secret

Postgres password.

ORACLE_USER

Oracle user. Required when WAREHOUSE_TYPE=oracle.

ORACLE_PASSWORD
secret

Oracle password.

ORACLE_CONNECT_STRING

Oracle Easy Connect (e.g. host:1521/SERVICE), TNS descriptor, or alias.

SNOWFLAKE_ACCOUNT

Snowflake account identifier (e.g. xy12345.us-east-1). Required when WAREHOUSE_TYPE=snowflake.

SNOWFLAKE_USER

Snowflake username.

SNOWFLAKE_PRIVATE_KEY_PATH

Path to PKCS8 private key (.p8). Snowflake auth is key-pair only; password auth is not supported.

BIGQUERY_PROJECT

GCP project id. Required when WAREHOUSE_TYPE=bigquery.

GOOGLE_APPLICATION_CREDENTIALS

Path to BigQuery service-account JSON. Omit on GKE / Cloud Run with workload identity.

GUARDRAIL_PII_MASK

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

Per-principal token-bucket rate limit on tool invocations. 0 = disabled. Recommend 60 for production.

§03  MCP Quality Score  ·  methodology
freshness
25
completeness
15
installability
25
documentation
15
stability
5
§04  Alternatives in Databases