by LucasHild
Provides LLMs with the ability to inspect BigQuery schemas and execute SQL queries via the Model Context Protocol.
Enables language models to list tables, describe table schemas, and run SQL queries against a Google BigQuery project using a standardized MCP tool interface.
npx -y @smithery/cli install mcp-server-bigquery --client claude
) or by cloning the repository and using Python's uv
.BIGQUERY_PROJECT
, BIGQUERY_LOCATION
, BIGQUERY_DATASETS
, BIGQUERY_KEY_FILE
).uv run mcp-server-bigquery --project <PROJECT_ID> --location <LOCATION>
). The server communicates over stdio, allowing Claude Desktop or any MCP‑compatible client to invoke the tools.--key-file
or BIGQUERY_KEY_FILE
.--dataset
flag multiple times or set BIGQUERY_DATASETS
as a comma‑separated list.uv
package manager (or any compatible environment that can run the entry‑point mcp-server-bigquery
).npx @modelcontextprotocol/inspector uv --directory <repo> run mcp-server-bigquery
and follow the generated URL.uv build
you can publish using uv publish
.A Model Context Protocol server that provides access to BigQuery. This server enables LLMs to inspect database schemas and execute queries.
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 tableThe 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. |
To install BigQuery Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install mcp-server-bigquery --client claude
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.
To prepare the package for distribution:
Increase the version number in pyproject.toml
Sync dependencies and update lockfile:
uv sync
uv build
This will create source and wheel distributions in the dist/
directory.
uv publish
Note: You'll need to set PyPI credentials via environment variables or command flags:
--token
or UV_PUBLISH_TOKEN
--username
/UV_PUBLISH_USERNAME
and --password
/UV_PUBLISH_PASSWORD
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.
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "bigquery": { "command": "uv", "args": [ "run", "mcp-server-bigquery", "--project", "{{GCP_PROJECT_ID}}", "--location", "{{GCP_LOCATION}}" ], "env": {} } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by googleapis
An MCP server that streamlines database tool development by handling connection pooling, authentication, observability, and secure access, allowing agents to interact with databases via natural language.
by bytebase
Provides a universal gateway that lets MCP‑compatible clients explore and query MySQL, PostgreSQL, SQL Server, MariaDB, and SQLite databases through a single standardized interface.
by designcomputer
Enables secure interaction with MySQL databases via the Model Context Protocol, allowing AI applications to list tables, read contents, and execute queries safely.
by benborla
Provides read‑only access to MySQL databases for large language models, allowing schema inspection and safe execution of SQL queries.
by ClickHouse
Enables AI assistants to run read‑only ClickHouse queries, list databases and tables, and execute embedded chDB queries through an MCP interface.
by chroma-core
Offers an MCP server exposing Chroma's vector database capabilities for LLM applications, supporting collection and document management, multiple embedding functions, and flexible client types such as in‑memory, persistent, HTTP, and cloud.
by kiliczsh
Enables LLMs to interact with MongoDB databases via a standardized interface, offering schema inspection, query execution, aggregation, and write capabilities, with optional read‑only mode and smart ObjectId handling.
by domdomegg
Provides read and write access to Airtable bases for AI systems, enabling inspection of schemas and manipulation of records.
by XGenerationLab
A Model Context Protocol (MCP) server that enables natural language queries to databases