BQ Agent Gateway
Provides read-only access to Google BigQuery, enabling listing datasets and tables, describing table schemas, estimating query costs, and running SELECT queries with safety guardrails against expensive or destructive operations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BQ Agent GatewayWhat tables are in the analytics dataset?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
BQ Agent Gateway
A read-only MCP server that connects Claude to BigQuery with layered guardrails against dangerous and expensive SQL.
What it blocks
Static AST validation (parsed with sqlglot, not regex):
Anything that isn't a
SELECT(noINSERT/UPDATE/DELETE/MERGE/DDL)SELECT *andtable.*(butCOUNT(*)is fine)CROSS JOINand implicit cartesian products (comma joins with noON)Multiple statements in one call (blocks
SELECT 1; DROP TABLE ...)Queries referencing datasets outside an allowlist
Missing
LIMIT(auto-injected by default) and over-largeLIMITs
BigQuery cost gate:
A dry-run estimates bytes scanned before running; over-threshold queries are rejected
Execution sets
maximum_bytes_billedas a hard server-side cap, so even a mis-estimate can't overspend — BigQuery kills the job insteadRow count and wall-clock timeout are capped
Related MCP server: BigQuery MCP Server
Tools exposed
list_datasets, list_tables, describe_table, estimate_query_cost, run_query.
Setup
pip install -r requirements.txt # or: uv pip install -r requirements.txt
cp .env.example .env # then edit values
# Auth: either set GOOGLE_APPLICATION_CREDENTIALS to a service-account key,
# or run:
gcloud auth application-default loginGive the service account only what it needs:
roles/bigquery.dataViewer + roles/bigquery.jobUser. The dataViewer role
cannot mutate data, so the read-only guarantee is enforced at the IAM layer too,
not just in code.
Run
# stdio (for Claude Desktop)
python server.py
# or HTTP
fastmcp run server.py --transport http --port 8000Register with Claude Desktop
Edit claude_desktop_config.json
(macOS: ~/Library/Application Support/Claude/,
Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"bq-agent-gateway": {
"command": "python",
"args": ["/absolute/path/to/bq-agent-gateway/server.py"],
"env": {
"BQ_PROJECT": "my-gcp-project",
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/key.json",
"BQ_ALLOWED_DATASETS": "analytics,prod_reporting",
"BQ_MAX_BYTES_SCANNED_GIB": "5"
}
}
}
}Restart Claude Desktop; the BigQuery tools appear in the tools menu.
Design notes / defense in depth
The guardrails are structured as independent layers so a bypass of one doesn't defeat the rest:
IAM — read-only service account can't write regardless of SQL.
AST validation — shape checks that regex can't do reliably.
Dry-run cost gate — the real budget protection for BigQuery.
maximum_bytes_billed— hard cap enforced by BigQuery itself.Row/time caps — bound the response size and latency.
Toggle any static rule via env vars (see .env.example) without touching code.
This server cannot be deployed
Maintenance
Related MCP Connectors
Query 40 databases from Claude, ChatGPT, or Cursor — on any device. Read-only, encrypted, audited.
GA4, Google Ads and Search Console in Claude. Read-only OAuth, multi-account for agencies.
Query your warehouse or a CSV with Claude/ChatGPT over MCP, governed by table-level ACL + audit.
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables natural language exploration and querying of Google BigQuery datasets through four tools: listing datasets, inspecting table schemas, generating SQL queries with LLM assistance, and executing approved queries.1MIT
- FlicenseNot gradedqualityDmaintenanceEnables read-only interaction with Google BigQuery, including SQL queries, dataset/table listing, schema retrieval, table preview, and metadata access via service account authentication.-
- FlicenseNot gradedqualityCmaintenanceEnables natural language interaction with BigQuery, providing tools to list tables, fetch schemas, and generate/execute queries via MCP.-
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to analyze BigQuery datasets through MCP, using tools to inspect datasets and execute read-only SQL queries.-