Back to Catalog

mcp-bigquery-server

ergut/mcp-bigquery-server
πŸ”— Latest commit:36cebb1
πŸ•’ Updated:Sep 9, 2025, 01:05 PM
JavaScript
AI Tools

A Model Context Protocol (MCP) server that provides secure, read-only access to BigQuery datasets. Enables Large Language Models (LLMs) to safely query and analyze data through a standardized interface.

MCP Trust Score
Based on our comprehensive evaluation criteria
πŸ€– Evaluated by gemini-2.5-flashFix
Trust Score68/100
GitHub Metrics
Repository statistics and activity
⭐ GitHub Stars:120
πŸ‘₯ Contributors:4
πŸ“‹ Total Issues:6
πŸ“¦ Has Releases:Yes
πŸ”§ Has CI/CD Pipeline:Yes
Configuration
Configuration example extracted from README.md for Claude Desktop and other clients.
πŸ€– Evaluated by gemini-2.5-flashFix
{
  "ergut-mcp-bigquery-server": {
    "command": "npx",
    "args": [
      "-y",
      "@ergut/mcp-bigquery-server",
      "--project-id",
      "your-project-id",
      "--location",
      "us-central1"
    ],
    "env": {}
  },
  "ergut-mcp-bigquery-server-with-config": {
    "command": "npx",
    "args": [
      "-y",
      "@ergut/mcp-bigquery-server",
      "--project-id",
      "your-project-id",
      "--location",
      "us-central1",
      "--key-file",
      "/path/to/service-account-key.json"
    ],
    "env": {}
  },
  "ergut-mcp-bigquery-server-cli-configured": {
    "command": "npx",
    "args": [
      "@ergut/mcp-bigquery-server",
      "--project-id",
      "your-project-id",
      "--location",
      "europe-west1",
      "--key-file",
      "/path/to/key.json"
    ],
    "env": {}
  },
  "ergut-mcp-bigquery-server-local-dev": {
    "command": "node",
    "args": [
      "/path/to/your/clone/mcp-bigquery-server/dist/index.js",
      "--project-id",
      "your-project-id",
      "--location",
      "us-central1",
      "--key-file",
      "/path/to/service-account-key.json"
    ],
    "env": {}
  }
}
MCP Protocol Support
Implemented MCP protocol features
πŸ€– Evaluated by gemini-2.5-flashFix
Tools:βœ“
Prompts:βœ—
Resources:βœ“
Sampling:βœ—
Roots:βœ—
Logging:βœ—
STDIO Transport:βœ“
HTTP Transport:βœ—
OAuth2 Auth:βœ—
Dependencies
2 dependencies
Libraries and frameworks used by this MCP server
πŸ€– Evaluated by gemini-2.5-flashFix
Add Quality Badge
Show your MCP trust score in your README
Trust Score Badge
[![Trust Score](https://archestra.ai/mcp-catalog/api/badge/quality/ergut/mcp-bigquery-server)](https://archestra.ai/mcp-catalog/ergut__mcp-bigquery-server)
README.md

BigQuery MCP Server

smithery badge

BigQuery MCP Server Logo

What is this? πŸ€”

This is a server that lets your LLMs (like Claude) talk directly to your BigQuery data! Think of it as a friendly translator that sits between your AI assistant and your database, making sure they can chat securely and efficiently.

Quick Example

You: "What were our top 10 customers last month?"
Claude: *queries your BigQuery database and gives you the answer in plain English*

No more writing SQL queries by hand - just chat naturally with your data!

How Does It Work? πŸ› οΈ

This server uses the Model Context Protocol (MCP), which is like a universal translator for AI-database communication. While MCP is designed to work with any AI model, right now it's available as a developer preview in Claude Desktop.

Here's all you need to do:

  1. Set up authentication (see below)
  2. Add your project details to Claude Desktop's config file
  3. Start chatting with your BigQuery data naturally!

What Can It Do? πŸ“Š

  • Run SQL queries by just asking questions in plain English
  • Access both tables and materialized views in your datasets
  • Explore dataset schemas with clear labeling of resource types (tables vs views)
  • Analyze data within safe limits (1GB query limit by default)
  • Keep your data secure (read-only access)

Quick Start πŸš€

Prerequisites

  • Node.js 14 or higher
  • Google Cloud project with BigQuery enabled
  • Either Google Cloud CLI installed or a service account key file
  • Claude Desktop (currently the only supported LLM interface)

Option 1: Quick Install via Smithery (Recommended)

To install BigQuery MCP Server for Claude Desktop automatically via Smithery, run this command in your terminal:

npx @smithery/cli install @ergut/mcp-bigquery-server --client claude

The installer will prompt you for:

  • Your Google Cloud project ID
  • BigQuery location (defaults to us-central1)

Once configured, Smithery will automatically update your Claude Desktop configuration and restart the application.

Option 2: Manual Setup

If you prefer manual configuration or need more control:

  1. Authenticate with Google Cloud (choose one method):

    • Using Google Cloud CLI (great for development):
      gcloud auth application-default login
      
    • Using a service account (recommended for production):
      # Save your service account key file and use --key-file parameter
      # Remember to keep your service account key file secure and never commit it to version control
      
  2. Add to your Claude Desktop config
    Add this to your claude_desktop_config.json:

    • Basic configuration:

      {
        "mcpServers": {
          "bigquery": {
            "command": "npx",
            "args": [
              "-y",
              "@ergut/mcp-bigquery-server",
              "--project-id",
              "your-project-id",
              "--location",
              "us-central1"
            ]
          }
        }
      }
      
    • With service account:

      {
        "mcpServers": {
          "bigquery": {
            "command": "npx",
            "args": [
              "-y",
              "@ergut/mcp-bigquery-server",
              "--project-id",
              "your-project-id",
              "--location",
              "us-central1",
              "--key-file",
              "/path/to/service-account-key.json"
            ]
          }
        }
      }
      
  3. Start chatting!
    Open Claude Desktop and start asking questions about your data.

Command Line Arguments

The server accepts the following arguments:

  • --project-id: (Required) Your Google Cloud project ID
  • --location: (Optional) BigQuery location, defaults to 'us-central1'
  • --key-file: (Optional) Path to service account key JSON file

Example using service account:

npx @ergut/mcp-bigquery-server --project-id your-project-id --location europe-west1 --key-file /path/to/key.json

Permissions Needed

You'll need one of these:

  • roles/bigquery.user (recommended)
  • OR both:
    • roles/bigquery.dataViewer
    • roles/bigquery.jobUser

Developer Setup (Optional) πŸ”§

Want to customize or contribute? Here's how to set it up locally:

# Clone and install
git clone https://github.com/ergut/mcp-bigquery-server
cd mcp-bigquery-server
npm install

# Build
npm run build

Then update your Claude Desktop config to point to your local build:

{
  "mcpServers": {
    "bigquery": {
      "command": "node",
      "args": [
        "/path/to/your/clone/mcp-bigquery-server/dist/index.js",
        "--project-id",
        "your-project-id",
        "--location",
        "us-central1",
        "--key-file",
        "/path/to/service-account-key.json"
      ]
    }
  }
}

Current Limitations ⚠️

  • MCP support is currently only available in Claude Desktop (developer preview)
  • Connections are limited to local MCP servers running on the same machine
  • Queries are read-only with a 1GB processing limit
  • While both tables and views are supported, some complex view types might have limitations

Support & Resources πŸ’¬

License πŸ“

MIT License - See LICENSE file for details.

Author ✍️

Salih ErgΓΌt

Sponsorship

This project is proudly sponsored by:

Version History πŸ“‹

See CHANGELOG.md for updates and version history.

mcp-bigquery-server MCP Server | Documentation & Integration | Archestra