MCP Server · BigQuery · GitHub

enterprise-data-claude

Give Claude Desktop direct access to BigQuery and GitHub — with automatic anomaly detection, OLS forecasting, and statistical insights wrapped around every query.

Request Access How It Works
Claude Desktop — enterprise-data-claude
You → Query daily signups from analytics.user_events for the last 90 days and show me any anomalies
▶ run_bigquery_query { sql: "SELECT date, COUNT(*) as signups FROM...", confirmed: false }
✓ Dry run: 2.1 GB scan · within threshold
✓ Query complete · 90 rows
⚠ Anomaly · signups · 2026-04-14
Value: 847 · Expected range: 1,240–1,680 · Severity: flag
📈 Forecast (OLS · R²=0.91)
+7 days: 1,510 · +14 days: 1,540 · +30 days: 1,595
📊 Visualization
Recommended: Line chart (date on x-axis, signups on y-axis)
📐 Statistical insights
CV=0.18 (moderate variance) · No Pareto concentration · Slight upward trend
How it works
One config file. Claude handles the rest.
⚙️

Config-driven

One config.yaml sets your GCP project, GitHub orgs, and file paths. No hardcoding, no forking.

🔒

Local credentials

Runs under your existing gcloud Application Default Credentials. No service account keys, no secrets in config.

🧠

AI Intelligence

Every query result is automatically wrapped with anomaly detection, forecasting, viz suggestions, and statistical insights.

🛡️

Large query gate

Dry-run detects scans over 50 GB and asks for confirmation before executing. Threshold configurable.

📚

Table catalog

Local JSON catalog of BigQuery tables, built by scanning your GitHub repos. Makes search_bq_tables fast and offline.

🔄

Self-calibrating

Use record_feedback to correct anomaly flags. Thresholds auto-adjust per table across sessions.

AI Intelligence Envelope
Every run_bigquery_query result includes all five layers automatically.

Anomaly Detection

IQR-based per-column flagging with three severity levels: note, flag, escalate. Thresholds calibrate automatically from your corrections.

OLS Forecasting

Linear regression on time-series columns. Returns R², slope, and 4-period forward projection so you can see where trends are heading.

Visualization Suggestions

Detects column types (date, geo, metric, dimension) and recommends the right chart type — line, bar, scatter, choropleth, or heatmap.

Statistical Insights

Outlier count, coefficient of variation, zero concentration, monotonicity detection, and Pareto distribution check — all automatic.

Session Drift

Tracks key metrics across queries within a session. Flags when the same column shifts more than 20% between queries.

Research Log

Log findings with record_finding, retrieve them with get_findings. Persists across sessions in a local JSON file.

13 tools
Available in every Claude Desktop conversation once installed.
run_bigquery_query
Execute SQL with full AI intelligence envelope
list_tables
List datasets and tables in GCP projects
search_bq_tables
Fuzzy-search the local table catalog
get_table_schema
Column names, types, and descriptions
search_table_catalog
Find tables by topic or domain keyword
read_google_sheet
Read a Google Sheet by URL
search_repos
Search GitHub repos across configured orgs
read_repo_file
Read any file from a GitHub repo
health_check
Verify gcloud auth, BQ, config, and GitHub
record_finding
Log an observation to the research log
get_findings
Retrieve logged findings
clear_research_log
Clear the research log
record_feedback
Correct anomaly flags to auto-calibrate thresholds
Setup in 4 steps
One-command install. No Docker, no cloud deployment.
1

Clone and configure

Copy the example config and fill in your GCP project ID and GitHub token.

git clone https://github.com/gnavada/enterprise-data-claude
cd enterprise-data-claude
cp config.example.yaml config.yaml
# Edit config.yaml
2

Run setup

Installs Python dependencies and registers the MCP in Claude Desktop.

bash setup.sh
3

Authenticate with Google Cloud

The server uses your local credentials — no service account keys needed.

gcloud auth application-default login
4

Restart Claude Desktop and verify

Press Cmd ⌘ + Q, reopen, then ask:

Run a health check on enterprise-data-claude
config.yaml
Everything lives in one file — no environment variables required (though they're supported as overrides).
# config.yaml — gitignored, never committed
 
bigquery:
  billing_project: "your-gcp-project-id"
  projects:
    - "your-gcp-project-id"
  max_scan_bytes: 53687091200  # 50 GB gate
 
github:
  token: ""  # repo:read scope
  host: "github.com"  # or GHE hostname
  orgs:
    - "your-github-org"
 
context:
  org_name: "Your Organization"
First prompts to try
After setup, start a new chat in Claude Desktop.
Run a health check on enterprise-data-claude
List available BigQuery tables in my analytics dataset
Query daily active users from the last 30 days and flag any anomalies
What tables in my catalog contain revenue or billing data?
Search repos for any SQL that references the orders table
Record a finding: revenue dropped 8% week-over-week starting April 14
Show me a forecast for the next 30 days based on this trend