
How to add BigQuery MCP server to Windsurf
Inspect BigQuery schemas and run SQL queries from your LLM client. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 14, 2026 · 127★ · stdio · no auth
Windsurf config for BigQuery MCP server
npx -y @smithery/cli install mcp-server-bigquery --client claude{
"mcpServers": {
"bigquery-mcp-server": {
"command": "uvx",
"args": [
"mcp-server-bigquery"
],
"env": {
"BIGQUERY_PROJECT": "{{GCP_PROJECT_ID}}",
"BIGQUERY_LOCATION": "{{GCP_LOCATION}}"
}
}
}
}Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.
Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the BigQuery MCP server config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5BigQuery MCP server's tools become available to Cascade.
Before you start
- A Google Cloud project with BigQuery enabled
- GCP credentials: a service account key file or default application credentials
- uvx (uv) available to run the server, or Smithery CLI to install
What BigQuery MCP server can do in Windsurf
execute-queryExecutes a SQL query using the BigQuery dialect.
list-tablesLists all tables in the BigQuery database.
describe-tableDescribes the schema of a specific table.
Security
Authenticates to BigQuery using a service account key file (--key-file / BIGQUERY_KEY_FILE) or the environment's default GCP credentials. Use --dataset / BIGQUERY_DATASETS to restrict which datasets are exposed to the LLM.
BigQuery MCP server + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the BigQuery MCP server config there under the "mcpServers" key and restart the client.
Is BigQuery MCP server safe to use with Windsurf?
Authenticates to BigQuery using a service account key file (--key-file / BIGQUERY_KEY_FILE) or the environment's default GCP credentials. Use --dataset / BIGQUERY_DATASETS to restrict which datasets are exposed to the LLM.
How do I authenticate to BigQuery?
Provide a service account key file via the --key-file argument or BIGQUERY_KEY_FILE environment variable. If not provided, the server uses the environment's default GCP credentials.
Can I limit which datasets the server can access?
Yes. Use the --dataset argument (repeatable) or the BIGQUERY_DATASETS environment variable (comma-separated) to restrict the server to specific datasets. If omitted, all datasets in the project are considered.
Which configuration values are required?
The GCP project ID (--project / BIGQUERY_PROJECT) and the GCP location (--location / BIGQUERY_LOCATION) are required. Dataset filtering, key file, and timeout are optional.