Framer has no
analytics API.
This does.
Your AI agent reads your real A/B test numbers — visitors, conversions, uplift, statistical significance. Straight from GA4. No scraping. Nothing to break.
A locked room, by design
Built-in A/B testing, funnels, click tracking — all great, all trapped in the panel.
No endpoint
Framer's Server API covers CMS content only. Analytics has zero programmatic access — not even read-only.
No CSV, no webhook
Results render in a dashboard and exist nowhere else. When a test ends, the history is a screenshot.
Every Framer MCP is design-only
The existing plugins automate the canvas — copy, components, styles. None can read a single metric.
Is there any plan to be able to export the analytics to an external source or potentially get it via API?FRAMER COMMUNITY · DEC 2024 · STILL OPEN
The data was never locked.
It was in GA4 all along.
Framer stamps the URL when it assigns a variant. GA4 keeps the stamp.
Framer splits traffic
Visitor assigned to a variant, URL gets stamped.
GA4 records per variant
Visitors and key events, per day, per stamp.
This server does the math
Auto-detects tests, cleans query noise (utm, fbclid), runs a two-proportion z-test.
Your agent answers
"B is +23% at 97% confidence — ship it."
Four tools. Zero setup.
Tests are detected from live traffic — you never register anything.
list_ab_testsEvery page receiving framer_variant traffic, grouped, with visitors and conversions per variant.
get_test_resultsFull table for one page — variants plus untagged baseline — with verdict and visitors still missing.
check_significanceThe z-test on any numbers, even pasted from the Framer panel. Uplift, confidence, sample size.
get_top_pagesTop landing pages with visitors, views and conversion rate — health check around every test.
The same z-test, running right here
Drag your real numbers in. Identical math to check_significance.
Running in three steps
Claude Code, Claude Desktop, Cursor, Windsurf — anything that speaks MCP.
Connect GA4 to your Framer site
Site Settings → Integrations. Mark your lead event as a key event.
Create GA4 credentials
Enable the Analytics Data API, create a service account, add it as Viewer on the property.
Drop it in your MCP config
One block. Then just ask.
{
"mcpServers": {
"framer-ab": {
"command": "npx",
"args": ["-y", "framer-ab-mcp"],
"env": {
"GA4_PROPERTY_ID": "123456789",
"GOOGLE_APPLICATION_CREDENTIALS": "/path/key.json"
}
}
}
}What it is — and isn't
Is this scraping Framer's dashboard?
No. It only calls the official Google Analytics Data API, on data your own site sends to your own GA4 property. Nothing touches Framer's servers — so nothing breaks when Framer ships a redesign.
Does it cover native funnels and CTA click tracking?
No. Those live only inside Framer's panel, which has no API — and this project deliberately stays on the official-API side of that line. If Framer ever ships an analytics API, this server is the natural place to plug it in.
What about visitors from before the test started?
They land without a framer_variant stamp and are reported separately as (baseline), never contaminating variant numbers. Baseline is the default control; override with controlVariantId.
Stop copy-pasting
test results.
OPEN SOURCE · MIT · BUILT FOR THE FRAMER COMMUNITY
github.com/VictorAlexandr/framer-ab-mcp