MCP Directory

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

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the BigQuery MCP server config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 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-query

Executes a SQL query using the BigQuery dialect.

list-tables

Lists all tables in the BigQuery database.

describe-table

Describes 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.

View repo Full BigQuery MCP server page