A server to provide AI access to BigQuery for query execution, table listing, and schema description.
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 dialectlist-tables: Lists all tables in the BigQuery databasedescribe-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.
Quickstart
Install
Installing via Smithery
To install BigQuery Server for Claude Desktop automatically via Smithery :
npx -y @smithery/cli install mcp-server-bigquery --client claudeClaude 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:
- Sync dependencies and update lockfile:
uv sync- Build package distributions:
uv buildThis will create source and wheel distributions in the dist/ directory.
- Publish to PyPI:
uv publishNote: You’ll need to set PyPI credentials via environment variables or command flags:
- Token:
--tokenorUV_PUBLISH_TOKEN - Or username/password:
--username/UV_PUBLISH_USERNAMEand--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-bigqueryUpon launching, the Inspector will display a URL that you can access in your browser to begin debugging.