BigQuery

BigQuery

Official

Google's own hosted BigQuery MCP server — explore datasets and run SQL under IAM, with a read-only tool by default.

Score 57(?)GoogleProprietaryVerified Top MCPs for Databases →

Quick answer

What it does

Exposes six tools over a Google-hosted HTTP endpoint: list_dataset_ids, get_dataset_info, list_table_ids, get_table_info, execute_sql_readonly (SELECT only), and execute_sql (any statement). Every query it runs carries the job label `goog-mcp-server: true` and is billed to the project you name in the call.

Best for

  • Schema and dataset exploration
  • Analytical query drafting
  • BigQuery ML evaluation and prediction from chat
  • IAM-governed agent access with audit logs

Not for

  • Result sets over 3,000 rows
  • Queries that run longer than three minutes

Source: top-mcps.com/mcp/bigquery — verified Sep 2026

Setup recipe

Pick your client, then follow the three steps.

  1. 1

    Install

    claude_desktop_config.json
    {
      "mcpServers": {
        "bigquery": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://bigquery.googleapis.com/mcp"
          ]
        }
      }
    }

    Claude Desktop launches stdio servers, so mcp-remote bridges to the hosted endpoint and opens the sign-in in your browser. On Pro, Max, Team and Enterprise you can skip the file: Settings → Connectors → Add custom connector → https://bigquery.googleapis.com/mcp. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    CLI or .mcp.json
    claude mcp add --transport http bigquery https://bigquery.googleapis.com/mcp

    Then run /mcp inside Claude Code to finish the sign-in. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    .cursor/mcp.json
    {
      "mcpServers": {
        "bigquery": {
          "url": "https://bigquery.googleapis.com/mcp"
        }
      }
    }

    Global path: ~/.cursor/mcp.json. Cursor shows "Needs login" once it connects — click it to authorize. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    .vscode/mcp.json
    {
      "servers": {
        "bigquery": {
          "type": "http",
          "url": "https://bigquery.googleapis.com/mcp"
        }
      }
    }

    VS Code uses the "servers" key. Run MCP: List Servers → Start Server and allow the sign-in. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    ~/.codeium/windsurf/mcp_config.json
    {
      "mcpServers": {
        "bigquery": {
          "serverUrl": "https://bigquery.googleapis.com/mcp"
        }
      }
    }

    Windsurf uses "serverUrl" for hosted servers. Open via Cascade → hammer icon → Configure. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    cline_mcp_settings.json
    {
      "mcpServers": {
        "bigquery": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://bigquery.googleapis.com/mcp"
          ]
        }
      }
    }

    Bridged through mcp-remote. Open via the Cline sidebar → MCP Servers → Edit. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    ~/.continue/config.json
    {
      "experimental": {
        "modelContextProtocolServers": [
          {
            "transport": {
              "type": "streamable-http",
              "url": "https://bigquery.googleapis.com/mcp"
            }
          }
        ]
      }
    }

    Continue takes the hosted URL directly in the transport block. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    CLI
    codex mcp add bigquery --url https://bigquery.googleapis.com/mcp

    Codex detects OAuth support and opens the browser to authorize. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    ~/.config/zed/settings.json
    {
      "context_servers": {
        "bigquery": {
          "command": {
            "path": "npx",
            "args": [
              "-y",
              "mcp-remote",
              "https://bigquery.googleapis.com/mcp"
            ]
          }
        }
      }
    }

    Bridged through mcp-remote under "context_servers". Settings live-reload on save. Authorization happens in the browser on first use (OAuth); no token goes in the config file.

    ChatGPT → Settings → Connectors (remote URL)
    {
      "name": "BigQuery",
      "transport": "http",
      "url": "https://bigquery.googleapis.com/mcp"
    }

    Paste this into Settings → Connectors → Add custom connector. Requires ChatGPT Pro / Team / Enterprise / Edu with Developer mode enabled.

  2. 2

    Set required secrets

    No credentials required — this MCP runs over stdio without authentication.

  3. 3

    Try a minimum working prompt

    Minimum working prompt pending verification. Try any prompt from the MCP’s README once installed.

Tools & permissions

ToolDescriptionArgsSide effects
list_dataset_idsList BigQuery dataset IDs in a Google Cloud project, with pagination.projectId: stringRead
get_dataset_infoGet metadata about a BigQuery dataset.projectId: string, datasetId: stringRead
list_table_idsList table IDs in a BigQuery dataset, with pagination.projectId: string, datasetId: stringRead
get_table_infoGet metadata about a BigQuery table.projectId: string, datasetId: string, tableId: stringRead
execute_sql_readonlyRun a read-only SQL query. Restricted to SELECT — INSERT, UPDATE, DELETE and stored procedures are rejected.projectId: string, query: stringRead
execute_sqlRun any SQL statement BigQuery supports, including DDL, DML and BigQuery ML functions.projectId: string, query: stringWrite

Security & scope

Access scope
Read + write
Sandbox
Hosted by Google at bigquery.googleapis.com/mcp. Authorisation is OAuth 2.0 with the https://www.googleapis.com/auth/bigquery scope resolving to a Google Cloud identity, so every call is evaluated against that principal's IAM roles and recorded in Cloud Audit Logs. No local process runs and no service-account key is stored on the client.
Gotchas
  • execute_sql can run DDL and DML — DROP TABLE and DELETE included. The read-only variant is a preference expressed to the model, not an enforcement boundary; bound the risk with IAM by granting only dataViewer.
  • BigQuery is billed per byte scanned and this server has no dry-run tool, so a broad SELECT the agent writes is charged in full.
  • Results are capped at 3,000 rows and queries at three minutes, so a wide query returns a silently partial answer rather than an error.
  • Queries are billed to the projectId passed in each call, which need not be the project the agent is nominally working in — check the project a tool call names before approving it.

Agent prompt pack

— copy into Claude, Cursor, or ChatGPT.
Paste into Claude, Cursor, or ChatGPT. Edit the [brackets] before sending.
Recommend the best MCP servers for [task: e.g. databases work] in [client: Claude].

Constraints:
- Prefer tools that are [official | open-source | read-only] — pick what matters for my use case.
- Exclude MCPs that require [e.g. a paid plan, OAuth-only flows, remote-only transport].
- Return at most 3 picks, ranked.

For each pick include:
1. One-sentence rationale.
2. The ready-to-paste install snippet for my client.
3. Any required secrets I need to create before installing.

Cross-check the top-mcps.com listing: https://top-mcps.com/top-mcps-for-databases
Compare BigQuery against a real alternative. Swap the second MCP in [brackets] if you want a different match.
Compare BigQuery MCP vs [Google MCP Toolbox MCP] for the following job: [describe the job, e.g. "let an agent create GitHub issues on bug triage"].

Judge them on:
- Setup time and complexity (what a new user hits first).
- Auth model (none / API key / OAuth 2.1) and credential risk.
- Transport (stdio / Streamable HTTP / SSE) and where the server runs.
- Required secrets and the blast radius if they leak.
- Operational risk in an unattended agent loop.
- Which one is "good enough" for a weekend prototype vs. production.

End with one sentence: which should I pick for my scenario, which is: [my scenario].

References:
- https://top-mcps.com/mcp/bigquery
- top-mcps.com listing for Google MCP Toolbox
Asks the agent to install and verify. Works inside Claude Code, Cursor Agent, Codex CLI.
Install the BigQuery MCP server for my [client: Claude] at the default config path for that client.

Use the exact install snippet published at https://top-mcps.com/mcp/bigquery (fetch https://top-mcps.com/mcp/bigquery.json for the canonical server.json if you can read URLs).

Before finishing:
1. Create the required secrets (no secrets) and put them in the appropriate env block — do not hard-code them.
2. Restart or reload the client so it picks up the new server.
3. Verify the server is connected (green / running state) and at least one tool is listed.
4. If anything fails, read the client's MCP logs and report the exact error — do not silently retry.

Confirm when done and list the tools the server now exposes.

Frequently asked questions

What changed

— 2 updates tracked.
  1. Refreshed install snippets and fact sheet; verified for 2026.

  2. Initial directory listing.

More Databases MCPs

Other tools in the same category worth evaluating.

Postgres MCP ProPRO

Production-grade Postgres MCP with index advice, EXPLAIN, and health checks.

database, sql, postgres, performance
5 minMedium
SQLite

Local SQLite database access with full read/write support.

database, sqlite, local, storage
2 minLow

Full Supabase access: database, auth, storage, and edge functions.

supabase, database, backend, postgres
5 minLow

Compared with BigQuery

Side-by-side breakdowns for the choices people most often weigh against this MCP.

Exploring Top MCPs for Databases? See all Databases MCPs →