{
  "id": "06-google-bigquery",
  "slug": "google-bigquery",
  "normalized_name": "google bigquery",
  "name": "Google BigQuery",
  "vendor_url": "cloud.google.com/bigquery",
  "category": "revops-infra",
  "what_it_does": "Google Cloud's serverless data warehouse, where many RevOps teams land CRM, product and billing data for modelling and reporting; a first-party remote MCP server exposes dataset and table metadata and SQL execution to agents.",
  "ai_features": "The warehouse is infrastructure; Google's AI layer (Gemini in BigQuery, data insights) sits alongside it and was not assessed here. The MCP server is connectivity: execute_sql, execute_sql_readonly, list_dataset_ids, list_table_ids, get_dataset_info and get_table_info per the vendor docs.",
  "mcp_status": "official",
  "mcp_url": "https://bigquery.googleapis.com/mcp (docs: https://docs.cloud.google.com/bigquery/docs/use-bigquery-mcp)",
  "mcp_auth": "oauth. The docs state the server uses the \"OAuth 2.0 protocol with IAM for authentication and authorization\", supports \"all Google Cloud identities\" and requires the scope https://www.googleapis.com/auth/bigquery; the client sends a Google access token as a Bearer header.",
  "api_gate": "free - Google's free-tier list gives BigQuery \"1 TiB of querying per month\" and \"10 GiB of storage per month\" at no charge, and the MCP docs state \"The BigQuery MCP server doesn't have its own quotas\" and \"there is no limit on the number of calls\", with usage \"still subject to the quotas enforced by the APIs called by the MCP server tools\". Query and storage beyond the free tier are billed at standard BigQuery rates.",
  "revops_role": "The warehouse under a RevOps stack; the MCP lets an agent read schema and run SQL against the same tables dbt, Hightouch and Census operate on, with IAM deciding what it can see.",
  "tier": "RESEARCHED",
  "last_checked": "2026-09-07",
  "sources": "https://docs.cloud.google.com/bigquery/docs/use-bigquery-mcp, https://docs.cloud.google.com/free/docs/free-cloud-features, https://cloud.google.com/bigquery/pricing, https://bigquery.googleapis.com/mcp",
  "notes": "Verified 2026-09-07: POST of an MCP initialize to https://bigquery.googleapis.com/mcp with no token returned HTTP 200 with a JSON-RPC result, serverInfo name \"StatelessServer\" version \"ESF\" (protocolVersion 2025-03-26); the control POST to /zzz-not-a-route returned 404. Initialize is open and IAM is enforced per tool call. Google's cloud documentation moved from cloud.google.com to docs.cloud.google.com with 301 redirects on this date; the entry records the destination URLs. Snowflake, the other warehouse in this file, is the natural comparison: both now ship a first-party MCP, and BigQuery's is reachable on a free-tier project with no contract. 2026-09-07: https://bigquery.googleapis.com/mcp returned 200 with a JSON-RPC initialize result to an MCP initialize POST (https://bigquery.googleapis.com/mcp).",
  "mcp_status_bucket": "official",
  "api_gate_bucket": "free",
  "mcp_urls": [
    "https://bigquery.googleapis.com/mcp",
    "https://docs.cloud.google.com/bigquery/docs/use-bigquery-mcp"
  ],
  "source_urls": [
    "https://docs.cloud.google.com/bigquery/docs/use-bigquery-mcp",
    "https://docs.cloud.google.com/free/docs/free-cloud-features",
    "https://cloud.google.com/bigquery/pricing",
    "https://bigquery.googleapis.com/mcp"
  ],
  "source_annotations": [],
  "vendor_domain": "cloud.google.com",
  "display_name": "Google BigQuery",
  "docs_url": null,
  "jobs": [],
  "jobs_tagged_by": null,
  "jobs_tagged_on": null,
  "github_url": null,
  "github_stars": null,
  "github_last_commit": null,
  "github_archived": null,
  "github_fetched_on": null,
  "github_candidates": [],
  "docs_digest": null,
  "docs_last_crawled": null,
  "submission": null,
  "mcp_tools": [
    {
      "name": "cancel_job",
      "description": "Cancel a running BigQuery job.\n\nUse this tool to cancel a query job that is currently executing (i.e. returned `job_complete: false`\nwith a `job_id` from `execute_sql` or `execute_sql_readonly`). Specify the `job_id` to abort.\n",
      "required_params": [
        "jobId",
        "projectId"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "execute_sql",
      "description": "Run a SQL query in the project and return the result. Prefer the `execute_sql_readonly`\ntool if possible.\n\nThis tool can execute any query that bigquery supports including:\n\n* SQL Queries (`SELECT`, `INSERT`, `UPDATE`, `DELETE`, `CREATE`, e",
      "required_params": [
        "projectId",
        "query"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "execute_sql_readonly",
      "description": "Run a read-only SQL query in the project and return the result. Prefer this tool over\n`execute_sql` if possible.\n\nThis tool is restricted to only `SELECT` statements. `INSERT`, `UPDATE`, and `DELETE`\nstatements and stored procedures aren't ",
      "required_params": [
        "projectId",
        "query"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "get_dataset_info",
      "description": "Get metadata information about a BigQuery dataset or BigLake namespace.",
      "required_params": [
        "datasetId",
        "projectId"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "get_job",
      "description": "Get information and status about a BigQuery job.\n\nUse this tool to check the status, statistics, or configuration of a job using its `job_id`.\n",
      "required_params": [
        "jobId",
        "projectId"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "get_query_results",
      "description": "Get the results of a BigQuery SQL query job.\n\nUse this tool ONLY when:\n1. A previous `execute_sql` or `execute_sql_readonly` call returned `job_complete: false` with a `job_id`\n   (poll with this tool until `job_complete: true`), OR\n2. You ",
      "required_params": [
        "jobId",
        "projectId"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "get_table_info",
      "description": "Get metadata information about a BigQuery table or BigLake table.",
      "required_params": [
        "datasetId",
        "projectId",
        "tableId"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "list_dataset_ids",
      "description": "List BigQuery dataset IDs and BigLake namespaces in a Google Cloud project.\nSupports pagination. Use `page_size` to limit results and `page_token` to retrieve next page.\n",
      "required_params": [
        "projectId"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "list_table_ids",
      "description": "List table ids in a BigQuery dataset or BigLake namespace.\nSupports pagination. Use `page_size` to limit results and `page_token` to retrieve next page.\n",
      "required_params": [
        "datasetId",
        "projectId"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    }
  ],
  "mcp_tool_count": 9,
  "mcp_tools_evidence": "live-list",
  "mcp_tools_repo": null,
  "mcp_tools_repo_party": null,
  "mcp_catalog_shape": "fixed",
  "mcp_catalog_note": null,
  "mcp_tools_fetched_on": "2026-09-27",
  "cli_status": "none-found",
  "cli_party": null,
  "cli_binary": null,
  "cli_install": [],
  "cli_login": null,
  "cli_commands_seen": [],
  "cli_docs_url": null,
  "cli_repo": null,
  "cli_packages": [],
  "cli_evidence": null,
  "cli_checked_on": "2026-09-27",
  "github_org": "GoogleCloudPlatform",
  "github_org_status": "resolved",
  "github_org_url": "https://github.com/GoogleCloudPlatform",
  "github_org_evidence": {
    "rule": "rule 3",
    "url": "search q=cloud",
    "matched_domain": "google.com",
    "via": "website",
    "detail": "account website https://cloud.google.com has the vendor's domain",
    "confidence": "strong",
    "candidates_rejected": [
      {
        "login": "blockchain-etl",
        "from": "rule 3 (Google BigQuery)",
        "type": "Organization",
        "website": "https://t.me/BlockchainETL",
        "rejected": "website t.me does not match cloud.google.com"
      },
      {
        "login": "Google-BigQuery-Guidebook",
        "from": "rule 3 (Google BigQuery)",
        "type": "Organization",
        "website": "https://ridibooks.com/books/2773000081",
        "rejected": "website ridibooks.com does not match cloud.google.com"
      },
      {
        "login": "google-bigquery-samples",
        "from": "rule 3 (Google BigQuery)",
        "type": "Organization",
        "website": "https://facebook.com/groups/bigquery",
        "rejected": "website facebook.com does not match cloud.google.com"
      },
      {
        "login": "BigQuery-Documentation",
        "from": "rule 3 (Google BigQuery)",
        "type": "Organization",
        "website": null,
        "rejected": "website (none) does not match cloud.google.com"
      },
      {
        "login": "nameless-analytics",
        "from": "rule 3 (Google BigQuery)",
        "type": "Organization",
        "website": "https://namelessanalytics.com/",
        "rejected": "website namelessanalytics.com does not match cloud.google.com"
      },
      {
        "login": "cloudflare",
        "from": "rule 3 (cloud)",
        "type": "Organization",
        "website": "https://www.cloudflare.com",
        "rejected": "website cloudflare.com does not match cloud.google.com"
      },
      {
        "login": "cloudwego",
        "from": "rule 3 (cloud)",
        "type": "Organization",
        "website": "https://www.cloudwego.io/",
        "rejected": "website cloudwego.io does not match cloud.google.com"
      }
    ]
  },
  "github_org_repos": 150,
  "github_org_repos_mcp": 2,
  "github_org_repos_cli": 4,
  "github_org_latest_activity": "2026-09-08T16:54:00Z",
  "github_org_recent_repos": [
    {
      "name": "DataflowTemplates",
      "url": "https://github.com/GoogleCloudPlatform/DataflowTemplates",
      "kind": "other",
      "description": "Cloud Dataflow Google-provided templates for solving in-Cloud data tasks",
      "stars": 1311,
      "pushed_at": "2026-09-08",
      "latest_release": "2026-09-01-00_RC00"
    },
    {
      "name": "composer-airflow",
      "url": "https://github.com/GoogleCloudPlatform/composer-airflow",
      "kind": "other",
      "description": null,
      "stars": 38,
      "pushed_at": "2026-09-08",
      "latest_release": null
    },
    {
      "name": "spring-cloud-gcp",
      "url": "https://github.com/GoogleCloudPlatform/spring-cloud-gcp",
      "kind": "other",
      "description": "New home for Spring Cloud GCP development starting with version 2.0.",
      "stars": 551,
      "pushed_at": "2026-09-08",
      "latest_release": "v8.1.1"
    },
    {
      "name": "PerfKitBenchmarker",
      "url": "https://github.com/GoogleCloudPlatform/PerfKitBenchmarker",
      "kind": "other",
      "description": "PerfKit Benchmarker (PKB) contains a set of benchmarks to measure and compare cloud offerings. The benchmarks use default settings to reflect what most users wi",
      "stars": 2010,
      "pushed_at": "2026-09-08",
      "latest_release": "v1.15.1"
    },
    {
      "name": "opentelemetry-operations-collector",
      "url": "https://github.com/GoogleCloudPlatform/opentelemetry-operations-collector",
      "kind": "other",
      "description": null,
      "stars": 83,
      "pushed_at": "2026-09-08",
      "latest_release": "v0.159.0"
    }
  ],
  "github_org_checked_on": "2026-09-08",
  "mcp_endpoint": null,
  "mcp_docs_url": null,
  "endpoint_status": "not-probed",
  "endpoint_http_status": null,
  "endpoint_last_probed": null,
  "endpoint_wall_note": null,
  "canonical": true,
  "canonical_id": "06-google-bigquery",
  "also_listed_in": [],
  "source_file": "06-revops-infra.md",
  "source_line": 621,
  "file_index": 27,
  "category_num": "06",
  "category_slug": "revops-infra",
  "category_label": "RevOps Infra",
  "heading": "Google BigQuery",
  "missing_schema_fields": [],
  "extra_fields": {},
  "display_rank": 24
}
