Skip to content
VS Code

BigQuery Data Platform for VS Code

io.github.debilla/data-platform-mcp

Read-only BigQuery tools for plain-language data questions, with a cost gate on every query

client:VS Code transport:stdio runtime:pypi

Install BigQuery Data Platform in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "bq-mcp-environments",
      "description": "BQ_MCP_ENVIRONMENTS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bq-mcp-default-environment",
      "description": "BQ_MCP_DEFAULT_ENVIRONMENT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bq-mcp-config",
      "description": "BQ_MCP_CONFIG",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bq-impersonate-service-account",
      "description": "BQ_IMPERSONATE_SERVICE_ACCOUNT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bq-project",
      "description": "BQ_PROJECT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bq-location",
      "description": "BQ_LOCATION",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bq-code-asset-location",
      "description": "BQ_CODE_ASSET_LOCATION",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bq-dataset-allowlist",
      "description": "BQ_DATASET_ALLOWLIST",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bq-warn-bytes",
      "description": "BQ_WARN_BYTES",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bq-max-bytes-billed",
      "description": "BQ_MAX_BYTES_BILLED",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bq-mcp-audit-log",
      "description": "BQ_MCP_AUDIT_LOG",
      "password": true
    }
  ],
  "servers": {
    "data-platform-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "data-platform-mcp"
      ],
      "env": {
        "BQ_MCP_ENVIRONMENTS": "${input:bq-mcp-environments}",
        "BQ_MCP_DEFAULT_ENVIRONMENT": "${input:bq-mcp-default-environment}",
        "BQ_MCP_CONFIG": "${input:bq-mcp-config}",
        "BQ_IMPERSONATE_SERVICE_ACCOUNT": "${input:bq-impersonate-service-account}",
        "BQ_PROJECT": "${input:bq-project}",
        "BQ_LOCATION": "${input:bq-location}",
        "BQ_CODE_ASSET_LOCATION": "${input:bq-code-asset-location}",
        "BQ_DATASET_ALLOWLIST": "${input:bq-dataset-allowlist}",
        "BQ_WARN_BYTES": "${input:bq-warn-bytes}",
        "BQ_MAX_BYTES_BILLED": "${input:bq-max-bytes-billed}",
        "BQ_MCP_AUDIT_LOG": "${input:bq-mcp-audit-log}"
      }
    }
  }
}

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

BigQuery Data Platform in other clients