Point Claude at your database.

Try free
Back to blog

Blog article

BigQuery MCP Server: Connect Claude to BigQuery Without a Surprise Bill (2026)

Google's own BigQuery MCP server and Claude's BigQuery connector, the open-source alternatives and which of them can cap what a query costs, the two IAM roles Claude needs, and how to stop a careless SELECT * from scanning a whole table.

Fastero Dev TeamFastero Dev Team
2026-10-16
mcpclaudebigqueryai-agents

Connecting Claude to BigQuery is easier than for any other database: Google runs an official MCP server, and Claude's connector directory lists it. The part that needs thought is cost. BigQuery's on-demand pricing charges for the data a query reads, so an AI that writes SELECT * on a multi-terabyte table can spend real money answering a simple question.

The short answer: on claude.ai, add the Google Cloud BigQuery connector from Claude's directory — it is made by Google and runs Google's hosted BigQuery MCP server, with results capped at 3,000 rows and queries stopped after three minutes. Give the account it uses BigQuery Data Viewer on the datasets Claude should see and BigQuery Job User on the project, and set a custom daily quota on bytes processed, because the hosted server has no per-query cost cap. If you run a server yourself, Google's MCP Toolbox and the open-source mcp-bigquery-server can refuse a query that would read more than a set number of bytes.

Which BigQuery MCP server to use

Server Who makes it Where it runs Writes How to cap what a query costs
Google BigQuery MCP Google Hosted by Google; in Claude's directory as Google Cloud BigQuery A separate execute_sql_readonly tool; write tools can be blocked with an IAM deny policy A daily quota on the project
MCP Toolbox for Databases Google, open source Your machine or a server BIGQUERY_WRITE_MODE=blocked allows only SELECT BIGQUERY_MAXIMUM_BYTES_BILLED per query
mcp-bigquery-server (ergut) Open source Your machine Read-only by design; each query is checked with a dry run 1 GB per query by default
mcp-server-bigquery (LucasHild) Open source Your machine Not enforced in its code A daily quota on the project
Claude Dashboards Anthropic Inside Claude (beta on paid plans) Builds charts from queries A daily quota on the project
Fastero Fastero Hosted: a claude.ai connector, or a key for Claude Code Refused before they reach BigQuery A daily quota on the project

Google's BigQuery MCP server

Google announced managed MCP servers in December 2025, with BigQuery among the first. The server lives at https://bigquery.googleapis.com/mcp and is switched on with the BigQuery API. It gives Claude six tools: list datasets, list tables, read a dataset's and a table's details, and run SQL — either execute_sql or execute_sql_readonly, which refuses inserts, updates, deletes and DDL. Every query is cancelled after three minutes, and a result returns at most 3,000 rows.

On claude.ai, add it from the connector directory, where it is listed as Google Cloud BigQuery, made by Google, and sign in with your Google account. To use it as a custom connector instead, you need your own Google OAuth client with https://claude.ai/api/mcp/auth_callback as its redirect URI. A Google Cloud administrator can block the write tools for the whole organisation with an IAM deny policy on tools that aren't marked read-only.

Fastero

Point Claude at your database.

Add Fastero to claude.ai or Claude Code. Claude builds the dashboard, deploys the app or publishes a live page, and your team opens it in Fastero.

Try free →

Step 1: Give Claude the smallest access that works

Two BigQuery roles are enough to read data and run queries:

  • BigQuery Data Viewer (roles/bigquery.dataViewer) reads tables. Grant it on the datasets Claude should see, not on the whole project — it can be granted per dataset or even per table.
  • BigQuery Job User (roles/bigquery.jobUser) runs queries. It can only be granted on a project, folder or organisation; grant it on the project that pays for the queries.
  • Google's hosted server also needs MCP Tool User (roles/mcp.toolUser).

Use a separate service account, or a person's account with only these roles, rather than an owner's.

Step 2: Cap what a query can cost

BigQuery estimates how much data a query will read before it runs, and three controls act on that estimate:

  1. Maximum bytes billed, per query. If a query would read more, it fails without a charge. Set it in the console (Query settings → Advanced options), with bq query --maximum_bytes_billed, or in the server's settings: Toolbox's BIGQUERY_MAXIMUM_BYTES_BILLED, or mcp-bigquery-server's --maximum-bytes-billed.
  2. Custom daily quotas, per project or per user. Once the bytes processed in a day reach the quota, no more queries run that day. This is the backstop for Google's hosted server, which documents no per-query limit.
  3. Dry runs, which return the estimate without running the query — useful to show Claude before it runs something big.

Two habits cut the bill further. Ask for the columns you need: BigQuery reads whole columns, so SELECT * reads every one of them. And remember that LIMIT doesn't reduce what a query reads — SELECT * … LIMIT 10 scans the same data as without it. Partitioned tables, filtered on their partition column, read only the partitions they need.

Step 3: Connect a server you run yourself

Google's MCP Toolbox, in Claude Code's .mcp.json or Claude Desktop's claude_desktop_config.json, from Google's documentation:

{
  "mcpServers": {
    "bigquery": {
      "command": "./PATH/TO/toolbox",
      "args": ["--prebuilt", "bigquery", "--stdio"],
      "env": {
        "BIGQUERY_PROJECT": "PROJECT_ID"
      }
    }
  }
}

Add "BIGQUERY_WRITE_MODE": "blocked" and "BIGQUERY_MAXIMUM_BYTES_BILLED": "10000000000" (10 GB) to env to make it read-only and cap each query.

mcp-bigquery-server, read-only with a 1 GB cap out of the box:

{
  "mcpServers": {
    "bigquery": {
      "command": "npx",
      "args": ["-y", "@ergut/mcp-bigquery-server", "--project-id", "your-project-id"]
    }
  }
}

Both sign in with your Google credentials on the machine, such as gcloud auth application-default login or a service account key.

Through Fastero: BigQuery for the whole team

Fastero connects to BigQuery with a Google sign-in or a service account key, set up once in Fastero by whoever owns the data. Claude then reaches it through Fastero's connector: on claude.ai, add https://api.fastero.com/api/v1/mcp as a custom connector and sign in; in Claude Code, use a key from Settings → AI Agent Access:

claude mcp add --scope user --transport http fastero https://api.fastero.com/api/v1/mcp --header "Authorization: Bearer fst_pat_..."

Claude's SQL tool runs one SELECT, WITH, EXPLAIN or SHOW statement in BigQuery's own SQL and refuses anything that could change data. Claude reads at most 500 rows or about 100 KB of a result. The difference from a direct connection comes after the answer: a chart Claude draws can go onto a dashboard in Fastero that colleagues open with their own login — without a Claude account and without access to BigQuery — and the dashboard can be emailed as a PDF on a schedule.

A revenue-by-channel bar chart drawn inside a Claude conversation by the Fastero connector, with a Save to Sales overview button

A chart Claude drew from a warehouse through Fastero, ready to save to a dashboard. Sample data.

Whichever route you take, set a custom daily quota on the project Claude's queries run in.

Claude Dashboards and BigQuery

Since 8 October 2026, Claude has a Dashboards feature in beta on Pro, Max, Team and Enterprise plans. Connect a data platform such as BigQuery, ask for a dashboard, and Claude writes one SQL query per chart, showing each chart's query and when it last refreshed. It suits people who live in Claude; for colleagues who don't, see how to build a dashboard with Claude.

Keep it safe: a checklist

  • Data Viewer on datasets, Job User on the project — nothing broader.
  • A daily quota on bytes processed, and a per-query cap wherever the server supports one.
  • The read-only tool, or write tools blocked with an IAM deny policy.
  • Keep sensitive datasets out of the Data Viewer grant.
  • Watch for instructions hidden in data. Text in a table — a support ticket, a review — can carry instructions an agent may follow. Don't give one agent both your warehouse and a tool that sends data out.

FAQ

Is there an official BigQuery MCP server?

Yes. Google runs a managed BigQuery MCP server at https://bigquery.googleapis.com/mcp, switched on with the BigQuery API, and lists it in Claude's connector directory as Google Cloud BigQuery. Google's open-source MCP Toolbox for Databases also has a BigQuery mode you run yourself.

How do I connect Claude to BigQuery?

On claude.ai, add the Google Cloud BigQuery connector from the connector directory and sign in with a Google account that has BigQuery Data Viewer and Job User roles. In Claude Code or Claude Desktop, run MCP Toolbox or another BigQuery MCP server locally, or connect through a hosted connector such as Fastero's.

How much does it cost to let Claude query BigQuery?

The queries Claude runs are billed as normal BigQuery queries: on demand by the bytes they read, or against your reserved capacity. Cap it with maximum bytes billed per query and a custom daily quota on bytes processed.

Can a BigQuery MCP server modify my data?

It can if the account it uses has write permissions and the server allows writes. Use Google's execute_sql_readonly tool, MCP Toolbox's blocked write mode, or a read-only server, and give the account only BigQuery Data Viewer and Job User.

What's the difference between Claude Dashboards and a BigQuery MCP server?

A BigQuery MCP server lets Claude query BigQuery in any conversation. Claude Dashboards is a feature, in beta on paid plans, that uses a data connection to build a dashboard of charts inside Claude for people with access to it.


Related reading:

Sources: Google BigQuery MCP server, Google's announcement of managed MCP servers (10 December 2025), Controlling MCP use in an organisation, Claude directory: Google Cloud BigQuery, MCP Toolbox with BigQuery, mcp-bigquery-server, mcp-server-bigquery, BigQuery access control, BigQuery cost best practices, Claude Dashboards. Checked 16 October 2026.


Try Fastero free — connect BigQuery once, then point Claude at it with read-only SQL, charts and dashboards your team can open. No credit card required.

Point Claude at your database. Get a dashboard your team can open.

Sign in from claude.ai, or add one line to Claude Code, and ask for the dashboard. No credit card required.