Skip to content
VS Code

dbt for VS Code

io.github.us-all/dbt

dbt MCP — manifest/run_results/sources/catalog parsing + DQ result tables (BigQuery/Postgres)

client:VS Code transport:stdio runtime:npm

Install dbt in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "dbt-project-dir",
      "description": "DBT_PROJECT_DIR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dbt-target-dir",
      "description": "DBT_TARGET_DIR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dbt-run-history-dir",
      "description": "DBT_RUN_HISTORY_DIR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-backend",
      "description": "DQ_BACKEND",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-results-table",
      "description": "DQ_RESULTS_TABLE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-score-table",
      "description": "DQ_SCORE_TABLE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "google-application-credentials",
      "description": "GOOGLE_APPLICATION_CREDENTIALS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bq-project-id",
      "description": "BQ_PROJECT_ID",
      "password": true
    },
    {
      "type": "promptString",
      "id": "pg-connection-string",
      "description": "PG_CONNECTION_STRING",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dbt-allow-write",
      "description": "DBT_ALLOW_WRITE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-schema",
      "description": "DQ_SCHEMA",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-col-run-at",
      "description": "DQ_COL_RUN_AT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-col-check-type",
      "description": "DQ_COL_CHECK_TYPE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-col-status",
      "description": "DQ_COL_STATUS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-col-dataset",
      "description": "DQ_COL_DATASET",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-col-table-name",
      "description": "DQ_COL_TABLE_NAME",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-col-severity",
      "description": "DQ_COL_SEVERITY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-col-failure-count",
      "description": "DQ_COL_FAILURE_COUNT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-col-message",
      "description": "DQ_COL_MESSAGE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-col-check-name",
      "description": "DQ_COL_CHECK_NAME",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-col-score-date",
      "description": "DQ_COL_SCORE_DATE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-col-scope",
      "description": "DQ_COL_SCOPE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-col-tier",
      "description": "DQ_COL_TIER",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dq-tier1-target-pct",
      "description": "DQ_TIER1_TARGET_PCT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dbt-sla-config-path",
      "description": "DBT_SLA_CONFIG_PATH",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dbt-tools",
      "description": "DBT_TOOLS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dbt-disable",
      "description": "DBT_DISABLE",
      "password": true
    }
  ],
  "servers": {
    "dbt": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@us-all/dbt-mcp"
      ],
      "env": {
        "DBT_PROJECT_DIR": "${input:dbt-project-dir}",
        "DBT_TARGET_DIR": "${input:dbt-target-dir}",
        "DBT_RUN_HISTORY_DIR": "${input:dbt-run-history-dir}",
        "DQ_BACKEND": "${input:dq-backend}",
        "DQ_RESULTS_TABLE": "${input:dq-results-table}",
        "DQ_SCORE_TABLE": "${input:dq-score-table}",
        "GOOGLE_APPLICATION_CREDENTIALS": "${input:google-application-credentials}",
        "BQ_PROJECT_ID": "${input:bq-project-id}",
        "PG_CONNECTION_STRING": "${input:pg-connection-string}",
        "DBT_ALLOW_WRITE": "${input:dbt-allow-write}",
        "DQ_SCHEMA": "${input:dq-schema}",
        "DQ_COL_RUN_AT": "${input:dq-col-run-at}",
        "DQ_COL_CHECK_TYPE": "${input:dq-col-check-type}",
        "DQ_COL_STATUS": "${input:dq-col-status}",
        "DQ_COL_DATASET": "${input:dq-col-dataset}",
        "DQ_COL_TABLE_NAME": "${input:dq-col-table-name}",
        "DQ_COL_SEVERITY": "${input:dq-col-severity}",
        "DQ_COL_FAILURE_COUNT": "${input:dq-col-failure-count}",
        "DQ_COL_MESSAGE": "${input:dq-col-message}",
        "DQ_COL_CHECK_NAME": "${input:dq-col-check-name}",
        "DQ_COL_SCORE_DATE": "${input:dq-col-score-date}",
        "DQ_COL_SCOPE": "${input:dq-col-scope}",
        "DQ_COL_TIER": "${input:dq-col-tier}",
        "DQ_TIER1_TARGET_PCT": "${input:dq-tier1-target-pct}",
        "DBT_SLA_CONFIG_PATH": "${input:dbt-sla-config-path}",
        "DBT_TOOLS": "${input:dbt-tools}",
        "DBT_DISABLE": "${input:dbt-disable}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

dbt in other clients