About BigQuery MCP server
A MCP server that gives LLMs access to BigQuery for inspecting schemas and running queries. It suits users who want MCP clients to work with BigQuery data. Configuration covers project, location, dataset filters and credentials.
Key features
- 01Executes SQL queries using BigQuery dialect
- 02Lists tables in the BigQuery project
- 03Describes the schema of a given table
- 04Filters by dataset with optional query timeout
Use cases
- 01Letting an LLM write and run BigQuery queries against known schemas
- 02Exploring BigQuery datasets and table structures within a chat session
MCP support
This is an MCP server that exposes the execute-query, list-tables and describe-table tools to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEBigQuery MCP server
A Model Context Protocol server that provides access to BigQuery. This server enables LLMs to inspect database schemas and execute queries.
Components
Tools
The server implements one tool:
execute-query: Executes a SQL query using BigQuery dialectlist-tables: Lists all tables in the BigQuery databasedescribe-table: Describes the schema of a specific table
Configuration
The server can be configured either with command line arguments or environment variables.
| Argument | Environment Variable | Required | Description |
|---|---|---|---|
--project | BIGQUERY_PROJECT | Yes | The GCP project ID. |
--location | BIGQUERY_LOCATION | Yes | The GCP location (e.g. europe-west9). |
--dataset | BIGQUERY_DATASETS | No | Only take specific BigQuery datasets into consideration. Several datasets can be specified by repeating the argument (e.g. --dataset my_dataset_1 --dataset my_dataset_2) or by joining them with a comma in the environment variable (e.g. BIGQUERY_DATASETS=my_dataset_1,my_dataset_2). If not provided, all datasets in the project will be considered. |
--key-file | BIGQUERY_KEY_FILE | No | Path to a service account key file for BigQuery. If not provided, the server will use the default credentials. |
--timeout | BIGQUERY_TIMEOUT | No | Maximum time in seconds to wait for a query to complete. If not provided, queries will wait indefinitely. |
Installation
Installing via Smithery
To install BigQuery Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install mcp-server-bigquery --client claude
Claude Code
claude mcp add bigquery --scope user --transport stdio -- uvx mcp-server-bigquery --project {PROJECT_ID} --location {{LOCATION}}
Claude Desktop
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"bigquery": {
"command": "uvx",
"args": ["mcp-server-bigquery"],
"env": {
"BIGQUERY_PROJECT": "{{GCP_PROJECT_ID}}",
"BIGQUERY_LOCATION": "{{GCP_LOCATION}}"
}
}
}
}
Cursor
- Open Cursor Settings → MCP
- Click Add new global MCP server
- Add an entry for the BigQuery MCP, following the pattern below:
{
"mcpServers": {
"bigquery": {
"command": "uvx",
"args": ["mcp-server-bigquery"],
"env": {
"BIGQUERY_PROJECT": "{{GCP_PROJECT_ID}}",
"BIGQUERY_LOCATION": "{{GCP_LOCATION}}"
}
}
}
}
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.