The BigQuery Remote MCP Server is Google’s managed option for connecting AI assistants to BigQuery. It runs on Google’s infrastructure — no servers or binaries to manage. Enable it, configure an MCP client, and queries run through natural language.
Trade-off: the Remote Server offers five tools and requires manual token management with Claude Code. For anything beyond basic exploration in Claude Desktop, the self-hosted Toolbox is the practical choice.
What It Provides
The Remote Server exposes BigQuery through a single endpoint: https://bigquery.googleapis.com/mcp. Five tools come built in:
list_dataset_ids— discover datasets in your projectget_dataset_info— metadata about a specific datasetlist_table_ids— list tables in a datasetget_table_info— schema and metadata for a specific tableexecute_sql— run arbitrary SQL queries
These cover the basics of exploration: the AI assistant can discover your datasets, examine table schemas, and run SQL. There are no advanced tools for forecasting, catalog search, or parameterized queries — those come with the Toolbox.
Enabling the Service
Enable the MCP service for your Google Cloud project:
gcloud beta services mcp enable bigquery.googleapis.com \ --project=PROJECT_IDReplace PROJECT_ID with your actual project ID.
Required IAM Roles
The user or service account needs two roles:
roles/bigquery.user— to run queries and list datasetsroles/bigquery.dataViewer— to read table data
For production with a service account:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SA_EMAIL" \ --role="roles/bigquery.user"
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SA_EMAIL" \ --role="roles/bigquery.dataViewer"The BigQuery IAM Patterns note covers the deeper reasoning behind these role choices — particularly why bigquery.user (which bundles job execution with dataset listing) is used here instead of the more granular bigquery.jobUser.
Claude Desktop Configuration
Add the Remote Server to your Claude Desktop config at ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{ "mcpServers": { "bigquery-remote": { "url": "https://bigquery.googleapis.com/mcp", "env": { "GOOGLE_CLOUD_PROJECT": "your-project-id" } } }}Claude Desktop handles OAuth automatically with this configuration — no token management or expiration handling required.
Claude Code Configuration (With Caveats)
Claude Code requires manual token management for the Remote Server. The configuration differs from Claude Desktop. Add to your .mcp.json:
{ "mcpServers": { "bigquery": { "type": "http", "url": "https://bigquery.googleapis.com/mcp", "headers": { "Authorization": "Bearer <ACCESS_TOKEN>", "x-goog-user-project": "your-project-id" } } }}Get your access token:
gcloud auth print-access-tokenThe token expires in about an hour. When it does, a new token must be retrieved, the configuration updated, and Claude Code restarted. There is no automatic refresh. For regular use, this is impractical.
The Toolbox addresses this by using Application Default Credentials, which handle refresh automatically.
When the Remote Server Makes Sense
The Remote Server is appropriate when all of the following apply:
- Using Claude Desktop (not Claude Code)
- Only basic BigQuery exploration is needed — listing datasets, checking schemas, running ad-hoc queries
- Custom parameterized queries and multi-database support are not required
- No infrastructure to manage
If any condition does not apply, use the Toolbox. See Choosing Between BigQuery MCP Options for the full decision framework.