Open Source · FastMCP · BigQuery

Customer intelligence
for Claude Desktop

26 research tools that give Claude the ability to analyze your customer data via natural language. No SQL. No dashboards. Answers in seconds.

Request Access How It Works
Claude Desktop — customer-intel-mcp
You →
"What do my churning customers have in common?"
▶ get_cohort_insight · churning customers · n=500
▶ run_bigquery_query · confirmed=true
⚡ Key Finding
Churning customers share a distinct behavioral pattern — low product depth, high support volume.
Median feature adoption 2.1 vs 6.8 across customer base. 3x higher support ticket rate.
Login frequency is unchanged — they're checking in, but not converting.
🔑 Key finding:
Churn here is a product depth signal, not a satisfaction failure —
interventions should offer guidance, not product pitches.
➡️ Next: compare_cohorts, get_intervention_impact, log_finding
Architecture

How it works

customer-intel-mcp sits between Claude and your BigQuery tables. It generates SQL, routes it through your BigQuery MCP, and renders structured findings.

You Natural language
Claude Desktop customer-intel-mcp
BigQuery MCP Any BQ MCP
Your BQ tables via config.yaml

All table paths, column names, and segment definitions come from config.yaml — a single file you fill in once. No hardcoded schema assumptions.

Tools

26 research tools

Every tool follows the same delivery standard: structured output, signal emojis, key finding callout, and next steps. Never raw JSON.

Customer Intelligence

get_customer_persona

Complete behavioral + profile snapshot for any customer from your configured tables.

get_customer_story

Plain-English narrative portrait tailored to designer, copywriter, PM, or exec audience.

get_customer_baseline

Lightweight behavioral profile optimized for anomaly scoring.

Cohort Research

get_cohort_insight

Aggregate behavioral patterns across a cohort. Answers "why" questions at scale.

compare_cohorts

Diff two cohorts side-by-side, surfaces signals that predict success or failure.

find_customers_like

Translate a plain-English description into real customers with matching profiles.

get_segment_persona

Sample N customers from any named segment or SQL filter.

get_segment_drift

Measure how a cohort's signals changed between two dates.

Base Analysis

get_opportunity_map

Base-wide scan of unrealized value across all segments.

get_power_customer_profile

Signal fingerprint of your best customers vs. the average customer.

score_session_event

Score a session event against a customer's behavioral baseline for anomaly detection.

get_base_anomaly_summary

Customer base-level behavioral dashboard for a given date.

Pre-Build Intelligence

get_product_fit_score

TAM/SAM/SOM sizing for a proposed feature from your actual customer base.

get_feature_reaction

Predict how a cohort reacts to a feature across 5 dimensions before you build it.

score_copy

Score customer-facing copy against a cohort across relevance, tone, urgency, trust, CTA.

get_market_sizing

Rigorous TAM/SAM/SOM from your real customer data with segment breakdown.

get_hypothesis

Test a hypothesis against your customer data. Returns SUPPORTED/REFUTED/INCONCLUSIVE.

Impact Measurement

get_intervention_impact

Pre/post signal movement for a campaign or product launch.

get_customer_next_action

Best action for a specific customer or cohort right now — individual or batch mode.

Research Memory

log_finding

Save a research finding to research_log.json. Persists across Claude sessions.

get_research_log

Retrieve and search prior findings. Your research memory across sessions.

clear_research_log

Clear all or partial research log with preview mode and tag-based filtering.

export_research_brief

Turn saved findings into a PRD background, Slack post, exec summary, or research review.

get_research_agenda

Prioritized list of research questions based on your log and open follow-ups.

get_weekly_brief

Weekly synthesis: customer base health, research summary, open questions, and focus for next week.

Setup

Up in 4 steps

One config file. One install script. Works with any BigQuery MCP.

1

Clone the repo

git clone https://github.com/gnavada/customer-intel-mcp.git && cd customer-intel-mcp

2

Fill in config.yaml

cp config.example.yaml config.yaml — then edit with your BigQuery project, dataset, table names, and column mappings. Takes ~10 minutes.

3

Run setup.sh

bash setup.sh — creates a Python venv, installs dependencies, and registers the MCP in Claude Desktop automatically.

4

Restart Claude Desktop

Quit and reopen Claude Desktop. Ask: "Are you connected to customer-intel-mcp?" — you're ready.

bigquery: project: "my-company-analytics" dataset: "customer_analytics" tables: customer_daily: "my-company-analytics.customer_analytics.customer_daily" events: "my-company-analytics.customer_analytics.events" columns: customer_id: "user_id" # your actual column name segment: "tier" # maps to your segment column score: "health_score" # any numeric health/value score tenure_days: "days_since_signup" active_day_rate: "engagement_rate" segments: # Define your segments — name, SQL filter, aliases - name: "Champions" filter: "tier = 'champions'" - name: "At Risk" filter: "tier = 'at_risk' OR days_since_login > 30" context: company_name: "Acme Corp" customer_noun: "user"
Ready-to-use prompts

First things to try

Copy any of these into Claude Desktop once customer-intel-mcp is connected.

Opportunity

"Get an opportunity map of my entire customer base"

Churn

"What do my churning customers have in common?"

Segments

"Compare my champions segment to my at-risk segment"

Research

"Find customers who are highly engaged but haven't upgraded yet"

Product

"How would my at-risk customers react to a win-back offer?"

Copy

"Score this email subject line against my churning segment: 'We miss you — here's what's new'"

Sizing

"How big is the upsell opportunity in my engaged-but-not-premium segment?"

Hypothesis

"Test this hypothesis: customers who engage in the first 7 days retain better at 30 days"

PM artifact

"Generate an exec summary of everything I've learned about churn this quarter"