Open-source MCP server
Connect Claude to your Google Analytics in 60 seconds.
One-click OAuth, no local install. Lets any MCP-compatible host query your GA4 properties — where visitors come from, what they read, what converts, what's happening right now — straight from a conversation. Read-only.
We never store your Analytics data. Only an OAuth refresh token, encrypted at rest, so the connector can act on your behalf.
How it works
-
1
Click "Connect with Google"
Standard Google consent screen. You grant access to Google Analytics (read-only). We capture an offline refresh token, encrypt it with AES-256-GCM, and mint a personal MCP bearer token for you.
-
2
Paste the install command
One
claude mcp addcommand, pre-filled with your token, ready to copy. Works in Claude Code, Claude Desktop, Cursor, Continue.dev — anything that speaks MCP. -
3
Ask about your visitors
Just ask. Examples:
- "Which channels drove the most key events last month?"
- "Which organic landing pages get traffic but have a high bounce rate?"
- "Compare this month's traffic to last month by channel — what dropped?"
11 tools, ready to call
list_propertiesGA4 accounts and properties you can access.
traffic_over_timeDaily / weekly / monthly trend.
traffic_sourcesChannels, source/medium, campaigns — and which convert.
top_pagesMost-viewed pages with engagement.
landing_pagesEntry pages, bounce rate, key events — per channel.
eventsEvent counts; key events (conversions) by channel.
audience_breakdownCountry, city, device, browser, language…
compare_periodsPeriod-over-period deltas for any dimension.
realtimeWhat's happening in the last 30 minutes.
run_reportAny dimensions × metrics, with filters.
search_dimensions_metricsDiscover fields, including custom ones.
Security model
- • Google refresh tokens are encrypted with AES-256-GCM before being written to Mongo. Key lives in env, never in the database.
- • MCP bearer tokens are stored as sha256 hashes only — the plaintext is shown once on connect, then unrecoverable.
- • Per-request OAuth client is built from the decrypted refresh token, used for that single call, then discarded.
- • Revoke at any time — server-side revocation is instant.
- • Code is open-source on GitLab; self-host if you'd rather not trust a hosted service.