Opening Google Analytics to answer one question is a special kind of tax. You know the number is in there. You also know it's four clicks, two date pickers and a dimension dropdown away, and by the time you've found it you've forgotten what you wanted it for.
So I built Metrifyr: a remote MCP server that puts my Google marketing stack behind my AI agent. Nothing to install: connect it once (Claude, Cursor, VS Code, any MCP client), then ask the question in plain language and it goes and gets the number. It's in the Cursor marketplace and the official MCP Registry, and the catalog has grown past a hundred tools, though, as you'll see, no single session loads them all.
What's actually connected
Metrifyr isn't a wrapper around one API. It federates the whole Google marketing surface behind a single MCP connection:
- Analytics 4: run reports, realtime, metadata, compare periods. Plus the admin side: create properties, data streams, conversion events, custom dimensions and metrics.
- Search Console: search analytics, URL inspection, sitemaps.
- AdSense: accounts, earnings, payment history, revenue by keyword.
- Tag Manager: read and audit containers, tags, triggers, variables.
- Google Ads: campaign planning.
Connect it once, and the agent can reach across all of them in a single train of thought. "Which landing pages lost the most organic traffic last quarter, and were any of them earning AdSense revenue?" is one question to me. It's Search Console and Analytics and AdSense to the machine, joined without me opening a single tab.
Raw numbers are the boring part
Pulling a GA4 report over MCP is table stakes. The part I actually care about is the layer on top, the analysis tools that answer the questions you'd otherwise pay an SEO consultant to run:
- Content decay scan: which pages are quietly bleeding traffic month over month.
- Striking-distance optimizer: the queries ranking positions 11 to 20, one nudge away from page one.
- Keyword cannibalization: where two of your own pages are fighting over the same query.
- Content opportunity finder and competitor sitemap keywords: gaps you're not covering that your competitors are.
- PageSpeed / Core Web Vitals, schema validation, SEO audit, IndexNow submission, rank tracking, Reddit topic mining, Trends.
These aren't "fetch a metric." They're "look at my data and tell me where to spend my next hour." That's the difference between a dashboard and an assistant.
The one tool that changed how I read my own traffic
My favorite lives at that intersection: adsense_keyword_revenue. It ranks your organic pages by real AdSense earnings, not by clicks, joining Search Console click data with per-page AdSense earnings and computing page RPM.
Suddenly a page with 200 clicks at a $12 RPM beats one with 2,000 clicks at $0.40. No Google dashboard shows you this view; the data lives in two different products that don't talk to each other. Over MCP, joining them is one tool call, and it completely reorders which pages are worth your time.
That's the whole thesis in one tool: the value isn't the raw number, it's the join across products that no single UI will do for you.
But isn't a hundred tools a lot?
If you've read my other posts, you know I bang on about keeping an MCP tool surface small. Every tool is a tax on the agent's context. So a hundred-tool server should be exactly the mistake I warn against.
It gets away with it because tools load per scope. Connect only Search Console and your agent sees the Search Console tools, not the ninety it has no business calling. The catalog is large; what any one session actually loads is not, and it's bounded by which Google accounts you connected, not by a cap I picked. Same principle (small surface) enforced by your grants instead of by deletion.
Why MCP, and not another dashboard
Every analytics product on earth already has a UI. The reason to expose this over MCP instead of building yet another chart:
The agent already has your context. It knows what you shipped last week, what campaign you're worried about, what you asked five minutes ago. A dashboard makes you translate all of that into filters by hand. An MCP tool lets the agent do the translation and just show you the answer.
Data becomes composable. Once GA4, Search Console and AdSense are all tools in the same context, the model chains them. No export-to-CSV, no VLOOKUP, no "let me pull this into a spreadsheet." The join happens in the conversation.
Read-only by default is a feature. Most of what you want from marketing data is questions, not changes. The reporting surface is read-only; the handful of write actions (creating a GA4 property, a conversion event) are separate and explicit. Your agent can't accidentally reconfigure your analytics while answering a question about it.
The pattern I keep coming back to
This is the third or fourth MCP server I've built, and the same lesson keeps surfacing: the value isn't the API access, it's removing the translation step. The data was always reachable. What changes is that you stop context-switching into four different tools to assemble an answer, and start getting the answer where you're already working.
If you spend your week staring at GA4, Search Console and AdSense in separate tabs and stitching them together in your head, that stitching is exactly the job an agent with the right tools does for free.
๐ metrifyr.cloud: connect once, then just ask for your data.
What's the report you rebuild by hand every week? That's the one worth handing to an agent first.
Top comments (0)