/ Каталог / Песочница / mcp-bigquery-server
● Сообщество ergut ⚡ Сразу

mcp-bigquery-server

автор ergut · ergut/mcp-bigquery-server

Read-only natural-language BigQuery from Claude — schema exploration, query limits, PII field restrictions — with service account auth.

mcp-bigquery-server is a Node MCP giving LLMs safe, read-only access to BigQuery datasets. Enforces configurable scanned-bytes query limits (default 1GB), supports field-level restrictions for PII/PHI, and can be installed via Smithery or manually configured with service account credentials.

Зачем использовать

Ключевые функции

Живое демо

Как выглядит на практике

bigquery-server.replay ▶ готово
0/0

Установка

Выберите клиент

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "bigquery-server": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-bigquery-server"
      ],
      "_inferred": true
    }
  }
}

Откройте Claude Desktop → Settings → Developer → Edit Config. Перезапустите после сохранения.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "bigquery-server": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-bigquery-server"
      ],
      "_inferred": true
    }
  }
}

Cursor использует ту же схему mcpServers, что и Claude Desktop. Конфиг проекта приоритетнее глобального.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "bigquery-server": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-bigquery-server"
      ],
      "_inferred": true
    }
  }
}

Щёлкните значок MCP Servers на боковой панели Cline, затем "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "bigquery-server": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-bigquery-server"
      ],
      "_inferred": true
    }
  }
}

Тот же формат, что и Claude Desktop. Перезапустите Windsurf для применения.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "bigquery-server",
      "command": "npx",
      "args": [
        "-y",
        "mcp-bigquery-server"
      ]
    }
  ]
}

Continue использует массив объектов серверов, а не map.

~/.config/zed/settings.json
{
  "context_servers": {
    "bigquery-server": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-bigquery-server"
        ]
      }
    }
  }
}

Добавьте в context_servers. Zed перезагружается автоматически.

claude mcp add bigquery-server -- npx -y mcp-bigquery-server

Однострочная команда. Проверить: claude mcp list. Удалить: claude mcp remove.

Сценарии использования

Реальные сценарии: mcp-bigquery-server

Answer product/growth questions from BigQuery without writing SQL

👤 PMs, growth analysts with BQ-backed warehouse ⏱ ~15 min intermediate

Когда использовать: You have a question whose answer lives in events tables in BQ.

Предварительные требования
  • GCP service account with BQ Data Viewer + Job User — IAM > Create service account; download JSON key
Поток
  1. Discover tables
    List tables in dataset analytics. Describe events and users.✓ Скопировано
    → Schemas
  2. Ask the question
    How many users who signed up in March 2026 triggered the 'aha_moment' event within 7 days?✓ Скопировано
    → Numeric answer with SQL shown
  3. Caveat
    Any caveats? Timezone, deletion, test users?✓ Скопировано
    → Honest caveats

Итог: Answers in minutes instead of data-team tickets.

Подводные камни
  • Running SELECT * on a huge fact table blows the scan limit — Always filter by partition column (often _PARTITIONDATE)

Let a less-trusted analyst explore data without reading PII rows

👤 Data platform teams ⏱ ~30 min advanced

Когда использовать: You want to open BQ access to more people via chat without each of them being able to read customer emails.

Поток
  1. Configure restricted fields
    Add config.json entry restricting fields users.email, users.phone, users.ssn. Agent can only aggregate these, not SELECT them raw.✓ Скопировано
    → Config in place
  2. Test
    Run SELECT email FROM users LIMIT 10. Verify it's blocked. Then run SELECT domain, COUNT(*) FROM users GROUP BY domain — verify it works.✓ Скопировано
    → Block on raw read; allow on aggregate

Итог: Safer self-service analytics for the LLM era.

Подводные камни
  • Regex-based field detection can miss complex aliased SQL — Defense in depth — also use BQ column-level security / authorized views
Сочетать с: gateway

Auto-compile a daily metrics digest from BQ

👤 PMs, founders ⏱ ~30 min intermediate

Когда использовать: You want KPIs in Slack every morning without a BI tool.

Поток
  1. Define the metrics
    Define queries for: DAU, signups, revenue, top-3 errors. Each with yesterday / 7-day avg.✓ Скопировано
    → SQL per metric
  2. Run and format
    Run all and format as a Slack-ready digest. Include week-over-week deltas.✓ Скопировано
    → Slack-ready message

Итог: Daily metrics without managed BI cost.

Сочетать с: notion

Комбинации

Сочетайте с другими MCP — эффект x10

bigquery-server + notion

Weekly KPI doc

Run my weekly KPI queries and create a Notion page in 'Metrics Weekly' with results + commentary.✓ Скопировано
bigquery-server + gateway

PII-safe access via mcp-gateway + Presidio

Put BigQuery MCP behind mcp-gateway with Presidio; verify customer emails get redacted in results.✓ Скопировано

Инструменты

Что предоставляет этот MCP

ИнструментВходные данныеКогда вызыватьСтоимость
list_datasets First step to orient free
list_tables dataset Navigate a dataset free
describe_table dataset, table Before querying free
query sql: str, max_bytes?: int Main read tool; limited to 1GB scan by default BQ on-demand: $6.25 per TB scanned

Стоимость и лимиты

Во что обходится

Квота API
BigQuery job quotas (generous)
Токенов на вызов
Query results can be huge — always LIMIT or aggregate
Деньги
Pay GCP by bytes scanned ($6.25/TB on-demand). Configure scan limit in MCP to cap.
Совет
Filter by partition. A full-table scan on a busy fact table = real money. The MCP's byte limit is your safety net.

Безопасность

Права, секреты, радиус поражения

Минимальные скоупы: bigquery.dataViewer + bigquery.jobUser on specific datasets only
Хранение учётных данных: Service account JSON in a mounted path; never commit
Исходящий трафик: Query results go to your LLM provider
Никогда не давайте: dataOwner / dataEditor to the MCP's service account

Устранение неполадок

Частые ошибки и исправления

PERMISSION_DENIED on dataset

SA lacks BQ Data Viewer. gcloud projects add-iam-policy-binding ....

Проверить: gcloud bigquery datasets list
Query exceeds configured byte limit

Add partition filter or column projection; or raise limit if legitimately needed.

Restricted field still appearing in results

Regex match may miss aliased columns — use BQ authorized views for hard isolation.

Альтернативы

mcp-bigquery-server в сравнении

АльтернативаКогда использоватьКомпромисс
Looker / MetabaseYou want a BI tool, not chatBetter dashboards; less conversational
postgres MCP via Cloud SQLYour analytical data is in Postgres insteadDifferent engine; Postgres doesn't scale like BQ for big aggregates

Ещё

Ресурсы

📖 Читать официальный README на GitHub

🐙 Открытые задачи

🔍 Все 400+ MCP-серверов и Skills