MCP server enabling read-only, natural language querying of Google BigQuery with field-level data protections.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by MCP Bigquery Server.
This is a server that lets your LLMs (like Claude) talk directly to your BigQuery data โ read-only, with no ability to mutate your warehouse. Think of it as a friendly translator that sits between your AI assistant and your database, making sure they can chat securely and efficiently.
No more writing SQL queries by hand - just chat naturally with your data!
This server uses the Model Context Protocol (MCP), which is like a universal translator for AI-database communication. MCP is supported by Claude Desktop, Claude Code, and a growing number of other AI clients.
Here's all you need to do:
SELECT statements are allowed. Every query is validated by BigQuery's own dry-run planner before execution, so INSERT, UPDATE, DELETE, DROP, TRUNCATE, EXPORT DATA, and MERGE are all rejected. The AI agent cannot mutate your warehouse, period.config.json or --maximum-bytes-billed)EXCEPT clauses, so it remains useful without exposing individual records.config.json. Add your own detection patterns to match your organization's naming conventions (e.g., %guardian_name%, %beneficiary%), adjust scan frequency, set billing limits, and define per-table field restrictions. The scanner picks up your custom patterns on the next run and automatically protects any matching columns across all datasets.| Simple Mode | Protected Mode | |
|---|---|---|
| Use when | Personal projects, non-sensitive data | PHI, PII, financial data, HIPAA-regulated environments |
| Install | npx โ no local setup needed | npx or local build with a config.json |
| Field restrictions | None | Define preventedFields to block sensitive columns |
| Auto-scanner | Not available | Discovers sensitive columns across all datasets automatically |
| Setup | Quick Setup below | Protected Mode Setup below |
Why local deployment matters for sensitive data: LLM inference happens in the cloud. When an AI agent queries BigQuery, the results are sent to the LLM provider's servers (Anthropic, OpenAI, etc.) for processing โ they leave your network. BigQuery IAM controls who can reach your data; field restrictions control what the AI agent surfaces into LLM responses. These are different protection boundaries. Configuring preventedFields ensures PHI and PII never enter the LLM conversation context, regardless of how many queries the agent runs autonomously.
Authenticate with Google Cloud:
Add to your MCP client's config (e.g., claude_desktop_config.json for Claude Desktop, .mcp.json for Claude Code):
Start chatting! Open your MCP client and ask questions about your data.
For sensitive data with field-level restrictions:
Authenticate with Google Cloud (choose one method):
Add to your MCP client's config (e.g., claude_desktop_config.json for Claude Desktop, .mcp.json for Claude Code):
With Application Default Credentials:
With a service account key file:
Start chatting! Open your MCP client and start asking questions about your data.
The server supports an optional config.json file for advanced configuration. Without a config file (i.e., no --config-file flag), the server runs in Simple Mode with safe defaults (1GB query limit, no field restrictions). To enable protection, pass --config-file /path/to/config.json when starting the server.
| Setting | Default | Description |
|---|---|---|
maximumBytesBilled | "1000000000" (1GB) | Maximum bytes billed per query |
preventedFields | {} | Table-to-columns mapping of restricted fields |
sensitiveFieldPatterns | Built-in set | SQL LIKE patterns for auto-discovery |
sensitiveFieldScanFrequencyDays | 1 | Days between auto-scans (0 to disable) |
--project-id: (Required) Your Google Cloud project ID--location: (Optional) BigQuery location, defaults to 'US'--key-file: (Optional) Path to service account key JSON file--config-file: (Optional) Path to a configuration file. If omitted, the server runs in Simple Mode with no protection โ there is no implicit default of ./config.json--maximum-bytes-billed: (Optional) Override maximum bytes billed for queries, overrides config.json valueExample using service account:
Data warehouses often contain highly sensitive information โ patient records, social security numbers, financial data, personal contact details, and authentication secrets. When an AI agent has direct access to query your warehouse, there is no human in the loop to prevent it from reading sensitive columns. A SELECT * FROM patients could expose thousands of PII/PHI records, and the results are then sent to the LLM provider for processing โ they leave your network.
This server gives administrators fine-grained control over which columns an AI agent can access. You define preventedFields in config.json and the server blocks queries that would surface those columns into LLM responses. An automated scanner discovers sensitive columns across all your datasets, so coverage stays current as your warehouse grows.
Honest caveat: Field restrictions are cooperative guardrails for AI agents โ not a hard SQL firewall against adversarial attackers. See PROTECTION.md for the full threat model.
The server supports three protection modes, set via protectionMode in config.json:
| Mode | Description |
|---|---|
off | No protection โ all tables and fields accessible (default when no config file is provided) |
allowedTables | Table allowlist โ only listed tables can be queried, with optional field restrictions within them |
autoProtect | Auto-scans your datasets for sensitive columns and enforces preventedFields |
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/ergut-mcp-bigquery-server)<a href="https://allmcps.com/mcp/ergut-mcp-bigquery-server"><img src="https://allmcps.com/api/badge/ergut-mcp-bigquery-server?style=directory" alt="MCP Bigquery Server on AllMCPs" /></a>