Google Analytics · MCP

Ask GA4 in
plain English.

Ask Claude, or any AI tool, how your site is doing. The answer comes from your own GA4.

Configure your MCP only $9.99 / month
Your AI→anacraft MCP→GA4

The MCP server — connecting Claude, ChatGPT or Cursor, and what it can answer.

Lovable

Analytics for your
Lovable app.

Sign in, pick or create the GA4 property for your app, and paste one prompt into Lovable. It adds the tag; then ask Claude how the app is doing. Nothing to install.

Get your tag

anacraft × Lovable — the whole setup, step by step.

In the terminal

Watch your analytics
on a terminal dashboard.

A free GA4 dashboard that runs in your terminal. Install it, run craft, and it opens on demo data until you sign in.

anacraft — CONTOSO LABS (DEMO) live
                                                                                                                                    
 ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ 
 │ ⛏ ANACRAFT ★ CONTOSO LABS (DEMO) · last 7 days · ◉ 130 online now · US:39  Ind:17  Ger:13  Bra:10  UK:9                    ⣃⣶⣘ │ 
 └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 
                                                                                                                                    
 ┌ ■^1 EVENTS ───────────────── 45,753 ▲22% ┐ ┌ ■^2 RIGHT NOW ─────────────────────┐ ┌ ■^3 COUNTRIES ─────────────────────────────┐ 
 │10,145│                              ▄▄▄▀▀│ │  ◉ 130  players online             │ │     ░░░░░░░░░░░  ░░░    ░░░░░░░░░░░░░░░░░░░│ 
 │      │                           ▄▀▀     │ │  active last 30 min · polled 5s    │ │    ░░░░░░█░░░░░  ░░░ ░░█░░░░░░░░░░░░░░░░░░░│ 
 │      │                          ▄▀       │ │  ███████████████████████▇▇▇▇▇▇▇▇▇▇ │ │     ░░░░░░░░░░░      ███░░░░░░░░░░░░░░░░░░░│ 
 │      │  ▄▄▀▀▄▄                 ▄▀ ▄▄▄▄▀▀▀│ │  █████████████████████████████████ │ │      ░░░░░█░░░░      ░░░░░░░░░░░░░░░░░█░░░ │ 
 │      │▀▀      ▀▄▄▄            █  █       │ │  █████████████████████████████████ │ │       ░░░░█░░       ░░░░░░░░░░░░░░░░░░░░░  │ 
 │      │  ▀▀▄▄▄▀▀▀ ▀▄▄▄        █ ▄▀        │ │                                    │ │           ░░░      ░░░░░░░░░   █░░ ░░░░    │ 
 │5,073 │             ▀▀▄▄   ▄▄▀ ▄▀         │ │  ▼   -5 wandered off  0s·········· │ │              ░░░░   ░░█░░░░░       █░░░    │ 
 │      │                ▀▄▀▀▄  █           │ │  ▼   -1 wandered off  0s·········· │ │              ░░█░░   ░░░░░░        ░░░░░░  │ 
 │      │                     ▀▀            │ │  ▼   -6 wandered off  0s·········· │ │              ░░░░░   ░░░░░░         ░░░░░  │ 
 │      │                                   │ │  ▲   +6 spawned in  0s············ │ │               ░░░░    ░░█░          ░█░░░  │ 
 │      │                                   │ │  ▼  -12 wandered off  0s·········· │ │               ░░░                       ░░ │ 
 │0     │                                   │ │  ▼   -3 wandered off  0s·········· │ │               ░░                           │ 
 │      └───────────────────────────────────│ │                                    │ │  United States 4,142 · 10 online now       │ 
 │     13                16               19│ │                                    │ │                                            │ 
 └─────────────━━ last 7 days  ━━ previous  ┘ └────────────────────────────────────┘ └────────────────────────────────────────────┘ 
                                                                                                                                    
 ┌ ■^4 TOP PAGES ────────────────────────────────────────────────┐ ┌ ■^5 VITALS ──────────────────────────────────────────────────┐ 
 │◆ /                                                            │ │VILLAGERS     (users)           12,515  ▲9%                   │ 
 │   ████████████████████     6,948  17%                         │ │  █████████████████████▓░░░░░░░░                              │ 
 │◈ /pricing                                                     │ │                                                              │ 
 │   █████████░░░░░░░░░░░     3,187   8%                         │ │EXPEDITIONS   (sessions)        18,236  ▲7%                   │ 
 │◇ /docs/quickstart                                             │ │  █████████████████████▒░░░░░░░░                              │ 
 │   ████████▓░░░░░░░░░░░     3,125   7%                         │ │                                                              │ 
 │· /blog/mining-metrics                                         │ │BLOCKS MINED  (page views)      41,772  ▲7%                   │ 
 │   █████▓░░░░░░░░░░░░░░     2,066   5%                         │ │  █████████████████████░░░░░░░░░                              │ 
 │· /changelog                                                   │ │                                                              │ 
 │   █████▒░░░░░░░░░░░░░░     1,963   5%                         │ │DIAMONDS      (conversions)        315  ▲22%                  │ 
 │· /about                                                       │ │  ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆▒░░░░░                              │ 
 │   ████░░░░░░░░░░░░░░░░     1,472   4%                         │ │                                                              │ 
 │· /docs/api                                                    │ │CREEPER RATE  (bounce rate)      41.2%  ▼14%                  │ 
 │   ███▓░░░░░░░░░░░░░░░░     1,294   3%                         │ │  ████████████▒░░░░░░░░░░░░░░░░░                              │ 
 │· /login                                                       │ │                                                              │ 
 │   ██▓░░░░░░░░░░░░░░░░░       946   2%                         │ │TIME SURVIVED (avg. session)    3m 34s  ▲12%                  │ 
 │                                                               │ │  ██████████████████████▒░░░░░░░                              │ 
 │                                                               │ │                                                              │ 
 │                                                               │ │                                                              │ 
 └───────────────────────────────────────────────────────────────┘ └──────────────────────────────────────────────────────────────┘ 
                                                                                                                                    
 ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── v0.42.0 ┐ 
 │  ★ ANACRAFTER #007  ·  the same numbers, none of the invoice                                                                   │ 
 └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 
                                                                                                                                    
 ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ 
 │  │ [q]quit │ [r]rebuild │ [?]help │ [t]osaka-jade │ [b]craft │ ◉ live  │ · updated 17:24:53                                    │ 
 └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 
                                                                                                                                    
┌────────────────────────────────────────────────────────────────────────┐
│ ⛏ ANACRAFT ★ CONTOSO LABS (DEMO) · last 7 days · ◉ 130 online now  ⣃⣶⣘ │
└────────────────────────────────────────────────────────────────────────┘
                                                                          
┌ ■^1 EVENTS ────────── 45,753 ▲22% ┐ ┌ ■^2 RIGHT NOW ───────────────────┐
│10,145│                        ▄▄▀▀│ │  ◉ 130  players online           │
│      │                      █▀    │ │  active last 30 min · polled 5s  │
│      │    ▄                █   ▄▄▄│ │  █████████████████████▇▇▇▇▇▇▇▇▇▇ │
│      │▄▄▀▀ ▀▀▄▄▄          █▄▀▀▀   │ │  ███████████████████████████████ │
│      │▀▀▀▄▄▄▀▀ ▀▄▄       █▄▀      │ │  ███████████████████████████████ │
│5,073 │           ▀▄▄▄▄▄▀▀▄▀       │ │                                  │
│      │             ▀▀▀▀▄▄▀        │ │  ▼   -5 wandered off  0s········ │
│      │                            │ │  ▼   -1 wandered off  0s········ │
│      │                            │ │  ▼   -6 wandered off  0s········ │
│0     │                            │ │  ▲   +6 spawned in  0s·········· │
│      └────────────────────────────│ │  ▼  -12 wandered off  0s········ │
│     13             16           19│ │  ▼   -3 wandered off  0s········ │
└──────━━ last 7 days  ━━ previous  ┘ └──────────────────────────────────┘
                                                                          
┌ ■^3 COUNTRIES ────────────────────┐ ┌ ■^4 TOP PAGES ───────────────────┐
│    ░░░░░░░░░  ░░   ░░░░░░░░░░░░░░░│ │◆ /                               │
│    ░░░░█░░░░  ░░ ██░░░░░░░░░░░░░░░│ │   ████████████████     6,948  17%│
│    ░░░░░█░░░    ░█░░░░░░░░░░░░█░░░│ │◈ /pricing                        │
│      ░░░█░░     ░░░░░░░░█░░░░░░░  │ │   ███████▒░░░░░░░░     3,187   8%│
│         ░░░    ░░░█░░░   ░░░░░░   │ │◇ /docs/quickstart                │
│           ░░█░░ ░░░░░░      █░░░  │ │   ███████░░░░░░░░░     3,125   7%│
│           ░░░░░  ░░░░        █░░░ │ │· /blog/mining-metrics            │
│            ░░░    ░█░        ░░░  │ │   ████▓░░░░░░░░░░░     2,066   5%│
│            ░░░                  ░ │ │· /changelog                      │
│  United States 4,… · 10 online now│ │   ████▒░░░░░░░░░░░     1,963   5%│
└───────────────────────────────────┘ └──────────────────────────────────┘
                                                                          
┌ ■^5 VITALS ────────────────────────────────────────────────────────────┐
│VILLAGERS     (users)           12,515  ▲9%                             │
│  █████████████████████▓░░░░░░░░                                        │
│EXPEDITIONS   (sessions)        18,236  ▲7%                             │
│  █████████████████████▒░░░░░░░░                                        │
│BLOCKS MINED  (page views)      41,772  ▲7%                             │
│  █████████████████████░░░░░░░░░                                        │
│DIAMONDS      (conversions)        315  ▲22%                            │
│  ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆▒░░░░░                                        │
│CREEPER RATE  (bounce rate)      41.2%  ▼14%                            │
│  ████████████▒░░░░░░░░░░░░░░░░░                                        │
│TIME SURVIVED (avg. session)    3m 34s  ▲12%                            │
│  ██████████████████████▒░░░░░░░                                        │
│                                                                        │
│                                                                        │
│                                                                        │
│                                                                        │
└────────────────────────────────────────────────────────────────────────┘
                                                                          
┌─────────────────────────────────────────────────────────────── v0.42.0 ┐
│  ★ ANACRAFTER #007  ·  the same numbers, none of the invoice           │
└────────────────────────────────────────────────────────────────────────┘
                                                                          
┌────────────────────────────────────────────────────────────────────────┐
│  │ [q]quit │ [r]rebuild │ [?]help │ [t]osaka-jade │ [b]craft │ ◉ live  │
└────────────────────────────────────────────────────────────────────────┘
1 Events — this period vs last
2 Right now — live feed
3 Countries — the world map
4 Top pages — by views
5 Vitals — headline metrics
6 Top countries — ranked
7 Daily users — trend
Slack alerts

Told, not asked.

A dashboard answers how is the site doing when somebody thinks to ask. craft watch answers the one nobody is awake to ask — did something break — and says it in Slack. A site's own history is the threshold, so there is nothing to configure for it to be useful.

# check once, print what moved
$ craft watch

# pick a channel, keep checking
$ craft slack --install
$ craft watch --every 3600

# every shape, on demo data
$ craft watch --demo

⛏ VILLAGERS      412  ▼38%
  28-day normal 664 · fires past 30%
⛏ DIAMONDS         0  nothing recorded
  28-day normal 12 · fires past 40%
Fires onWhich is
dropDown past the metric's threshold — 30% for users, 40% for conversions, 20% for bounce rate
spikeUp past the same line. A good morning is worth knowing about too
silentA count that went to nothing against a baseline that was not nothing — a deleted tag, a broken banner, a site that is down
no dataNothing anywhere in the window. Said once, rather than as six metrics all going quiet

Tuned per property when the defaults are wrong for your site, and silent about a day it has already told you about — one message about a drop, not one an hour. How alerts work →

Badge

Show who
links to you.

A small badge for your site with how many other sites link to it, counted from your own GA4 over thirty days. One line of HTML, the number stays current, and it wears any of the dashboard's palettes. Free, no subscription.

How the badge works — minting it, palettes, and where the number comes from.

Quick start

Two minutes from curl to numbers.

Official builds carry their own OAuth client, so craft login needs no Google Cloud project. No property yet? Create one from the dashboard, then connect it here. Everything on this page is free.

# the dashboard, on demo data
$ craft

# connect your GA4 property
$ craft login
$ craft props
$ craft use 1234567

# one-shot reports
$ craft overview --days 30
$ craft pages
$ craft realms
KeyIn the dashboard
1–7Toggle a panel — or b l p d m v g
tabNext property — cycles what craft use has added
tCycle the palette, and save it
rRebuild — force a refetch now
? hHelp overlay
q escQuit
CommandWhat it does
craftOpens the dashboard — dash is the default
PathWhat lives there
~/.config/anacraft/config.tomlProperties and their settings
~/.anacraft/token.jsonOAuth refresh token
Audit

Before you trust a number.

craft audit checks whether your property is measuring the site correctly: sixteen checks over four weeks, each finding graded with what fixes it. --fix applies the ones Google Analytics can repair itself.

# sixteen checks over the last 28 days
$ craft audit

# ...and apply the ones GA4 can fix itself
$ craft audit --fix

# see the whole shape of a report, no account
$ craft audit --demo

█ KEY EVENTS NEVER FIRED
  purchase, generate_lead
  configured as an outcome and not recorded
  once in 28 days…
█ PURCHASES ARRIVE WITHOUT THEIR MONEY
  412 purchases · 0 revenue
▓ A PAYMENT PAGE IS CREDITED WITH CONVERSIONS
  checkout.stripe.com

  12 checks run · 2 critical · 1 warning
FindsWhich is
no key eventsTraffic arriving and nothing marked as the point — no report on the property can say whether any of it was worth having
never firedA key event configured and not recorded once. Names match exactly, so Purchase and purchase are two events and only one counts
no revenuePurchases arriving without their value — every revenue and ROAS figure reads zero, including in an Ads account importing from here
counted twiceA bounce rate near nothing with the page views doubled — the shape a second page_view tag makes
self-referralThe site or a payment page credited with its own conversions, because the return trip starts a fresh session
went quietAn event that fired last month and not this one — a tag removed, renamed, or moved behind something that no longer runs

It reports the symptom and names the usual cause, never the other way round — and every check has a floor, so a quiet property gets not run rather than a list of things to dismiss. Exits 2 when it finds something, so a weekly audit into Slack is one cron line. What the audit checks →

Palettes

Seven grounds to mine on.

craft theme <name> saves one as the default; --theme overrides it for a single run.

osaka-jade
solarized-dark
tokyo-night
catppuccin
github
solarized-light
catppuccin-latte

Requires a truecolor terminal, a GA4 property, and Rust 1.74+ if you build it yourself.

Your analytics, always on.