What it does
This MCP server bridges Claude to BigQuery, enabling language models to execute queries, list tables, and inspect table schemas. It implements three tools: execute-query (runs BigQuery SQL), list-tables (enumerates tables across datasets), and describe-table (shows schema and column details). The server connects to BigQuery using either a service account key file or ambient GCP credentials on the host.
Who it's for
Data engineers and analysts who want Claude to interact directly with BigQuery from Claude Code, a Python script, or Claude Desktop. Useful when you need an LLM to explore schemas, draft queries, or answer ad-hoc analytical questions over live data.
Common use cases
- Query a BigQuery dataset directly from Claude Code to answer analytical questions
- Have Claude explore table schemas and suggest query optimizations
- Let an LLM generate and execute ad-hoc SQL against production data
- Scope Claude's access to specific datasets via
--datasetfilters
Setup pitfalls
- Both
BIGQUERY_PROJECTandBIGQUERY_LOCATIONenvironment variables are required; without them the server will not start. - GCP credentials must be available: either via a service account key file (set
BIGQUERY_KEY_FILE) or ambient credentials (e.g.,gcloud auth application-default loginon the host). Misconfigured credentials will fail silently at query time. - By default, all datasets in the project are exposed. To limit Claude's access, use
--dataset my_dataset_1 --dataset my_dataset_2or the comma-separatedBIGQUERY_DATASETSvariable. - Long-running queries hang by default; set
BIGQUERY_TIMEOUT(in seconds) to avoid blocking indefinitely.