BigQuery MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "--project=${--project}" -e "--location=${--location}" bigquery -- npx -y @smithery/cli install mcp-server-bigquery --client claude
Required:--project--location+ 2 optional
README.md

A Model Context Protocol server that provides access to BigQuery.

BigQuery 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 dialect
  • list-tables: Lists all tables in the BigQuery database
  • describe-table: Describes the schema of a specific table

Configuration

The server can be configured with the following arguments:

  • --project (required): The GCP project ID.
  • --location (required): The GCP location (e.g. europe-west9).
  • --dataset (optional): 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). If not provided, all datasets in the project will be considered.
  • --key-file (optional): Path to a service account key file for BigQuery. If not provided, the server will use the default credentials.

Quickstart

Install

Installing via Smithery

To install BigQuery Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install mcp-server-bigquery --client claude
Claude Desktop

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

Development/Unpublished Servers Configuration
"mcpServers": {
  "bigquery": {
    "command": "uv",
    "args": [
      "--directory",
      "{{PATH_TO_REPO}}",
      "run",
      "mcp-server-bigquery",
      "--project",
      "{{GCP_PROJECT_ID}}",
      "--location",
      "{{GCP_LOCATION}}"
    ]
  }
}
Published Servers Configuration
"mcpServers": {
  "bigquery": {
    "command": "uvx",
    "args": [
      "mcp-server-bigquery",
      "--project",
      "{{GCP_PROJECT_ID}}",
      "--location",
      "{{GCP_LOCATION}}"
    ]
  }
}

Replace {{PATH_TO_REPO}}, {{GCP_PROJECT_ID}}, and {{GCP_LOCATION}} with the appropriate values.

Development

Building and Publishing

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:
uv sync
  1. Build package distributions:
uv build

This will create source and wheel distributions in the dist/ directory.

  1. Publish to PyPI:
uv publish

Note: You'll need to set PyPI credentials via environment variables or command flags:

  • Token: --token or UV_PUBLISH_TOKEN
  • Or username/password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector via `npm` with this command:

npx @modelcontextprotocol/inspector uv --directory {{PATH_TO_REPO}} run mcp-server-bigquery

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

Tools (3)

execute-queryExecutes a SQL query using BigQuery dialect
list-tablesLists all tables in the BigQuery database
describe-tableDescribes the schema of a specific table

Environment Variables

--projectrequiredThe GCP project ID
--locationrequiredThe GCP location (e.g. europe-west9)
--datasetSpecific BigQuery datasets to consider
--key-filePath to a service account key file

Configuration

claude_desktop_config.json
{"mcpServers": {"bigquery": {"command": "uvx", "args": ["mcp-server-bigquery", "--project", "YOUR_PROJECT_ID", "--location", "YOUR_LOCATION"]}}}

Try it

List all the tables available in my BigQuery dataset.
Describe the schema for the 'users' table so I can write a query.
Execute a SQL query to count the number of rows in the 'orders' table.
Find the total revenue from the 'sales' table using BigQuery SQL.

Frequently Asked Questions

What are the key features of BigQuery?

Inspect BigQuery database schemas. List all tables within a project or dataset. Execute custom SQL queries using BigQuery dialect. Support for service account authentication. Filterable dataset access.

What can I use BigQuery for?

Performing ad-hoc data analysis on cloud-hosted datasets via natural language. Quickly exploring database schemas without leaving the Claude interface. Generating and running SQL queries for reporting directly from chat. Debugging data structures by inspecting table metadata.

How do I install BigQuery?

Install BigQuery by running: npx -y @smithery/cli install mcp-server-bigquery --client claude

What MCP clients work with BigQuery?

BigQuery works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep BigQuery docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare