# LucasHild/mcp-server-bigquery [Health: Active]

**Category:** 📊 Data Platforms  
**Repository:** https://github.com/LucasHild/mcp-server-bigquery  
**GitHub Stars:** 131  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/lucashild-mcp-server-bigquery

## Description
BigQuery database integration with schema inspection and query capabilities

## Tools
Capabilities this server exposes over MCP:

- **execute-query** — Executes a SQL query using BigQuery dialect
- **list-tables** — Lists all tables in the BigQuery database
- **describe-table** — Describes the schema of a specific table

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "mcp-server-bigquery": {
    "command": "uvx",
    "args": ["mcp-server-bigquery"],
    "env": {
      "BIGQUERY_PROJECT": "",
      "BIGQUERY_LOCATION": "",
      "BIGQUERY_DATASETS": "",
      "BIGQUERY_KEY_FILE": "",
      "BIGQUERY_TIMEOUT": ""
    }
  }
}
```

**Requires environment variables:** `BIGQUERY_PROJECT`, `BIGQUERY_LOCATION`, `BIGQUERY_DATASETS`, `BIGQUERY_KEY_FILE`, `BIGQUERY_TIMEOUT` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What LucasHild/mcp-server-bigquery does

LucasHild/mcp-server-bigquery MCP server gives an MCP client access to a BigQuery project. It supports database discovery and query execution through three tools:

- `execute-query` runs SQL using the BigQuery dialect.
- `list-tables` returns the tables available in the configured BigQuery database.
- `describe-table` returns the schema for a specified table.

These capabilities support workflows where an agent must first discover available tables, inspect columns, and then formulate a query. The server belongs in the 🗄️ Databases category and is intended for BigQuery projects rather than general-purpose SQL databases.

## How it works

The server runs as an MCP process and communicates with clients using the configuration patterns shown for Claude Desktop, Claude Code, and Cursor. The client starts the process with `uvx mcp-server-bigquery`, passing configuration through command-line arguments or environment variables.

A project ID and GCP location are required. Dataset selection is optional: without a dataset filter, the server considers all datasets in the project. You can limit the scope to particular datasets by repeating the `--dataset` argument or by supplying a comma-separated `BIGQUERY_DATASETS` value.

Queries can wait without a time limit when no timeout is configured. Setting a timeout adds a maximum number of seconds for a query to complete. Authentication can use a service-account key file, or the default credentials when no key-file path is supplied.

## Setup and configuration

LucasHild/mcp-server-bigquery can be configured with command-line flags or environment variables. The required settings are:

- `BIGQUERY_PROJECT`: the GCP project ID.
- `BIGQUERY_LOCATION`: the BigQuery location, such as `europe-west9`.

Optional settings include `BIGQUERY_DATASETS`, `BIGQUERY_KEY_FILE`, and `BIGQUERY_TIMEOUT`. The key-file variable points to a service-account key file. The timeout variable sets the maximum query wait in seconds.

For Claude Desktop, add a `bigquery` entry to the client configuration and provide the project and location through `env`. Claude Code can add the server with the `stdio` transport and the corresponding project and location arguments. Cursor adds the same `uvx` command and environment-based configuration through its MCP settings. Smithery also provides an installation command for Claude Desktop.

## Tools and capabilities

The tool set is focused on read-oriented discovery and SQL execution:

- Run BigQuery SQL with `execute-query`.
- Enumerate project tables with `list-tables`.
- Inspect a table schema with `describe-table`.
- Restrict table discovery to configured datasets.
- Set a query timeout or rely on indefinite waiting when no timeout is provided.

## Limitations and notes

LucasHild/mcp-server-bigquery only documents BigQuery access and BigQuery SQL dialect support. The provided configuration requires a GCP project and location, while dataset filtering is optional. The material does not specify write-operation behavior, result limits, pagination, or support for database systems other than BigQuery.

The server examples show `uvx`-based stdio setup. Credentials must be available either through the default credential mechanism or through the configured service-account key-file path. Keep the dataset setting in mind when an agent needs to inspect tables outside the selected datasets.

_Full upstream README: https://allmcps.com/mcp/lucashild-mcp-server-bigquery/readme_

