Google Marketing Stack MCP
Ask Claude about your GA4, Search Console, Tag Manager, PageSpeed and Sheets data, in plain English.
15 tools
9 tools
8 tools
5 tools
5 tools
2 tools
What it is
A Model Context Protocol (MCP) server that wraps five Google APIs into 44 tools an AI assistant can call. You connect it once, then ask questions such as "which queries rank between position 4 and 10?" and get real answers from your own accounts.
It runs on your machine and uses your own Google login, so your data never touches a third-party server. It works with Claude Code, Claude Desktop and Cursor, and it is published on npm, so it runs without cloning. It has 7 GitHub stars and 450+ npm downloads in the last 30 days, and marketers in San Francisco (SF) use it.
The problem
Marketing data lives across many dashboards. Getting an answer meant exporting CSVs, clicking through reports, writing custom queries or asking a developer to pull it. The server replaces all of that with one question.
How it works
- Create Google credentialsIn a Google Cloud project, enable the Analytics Data, Search Console, Sheets and Tag Manager APIs, then create an OAuth client of type Desktop app.
- Log in onceStart the server with the client ID and secret. A browser window asks you to approve access, and the token is saved locally for every later run.
- Connect your AI clientAdd the server to Claude Code, Claude Desktop, Cursor with your GA4 property, Search Console site and GTM IDs.
- Ask in plain EnglishThe assistant picks the right tool for the question, for example ga4_landing_pages or gsc_top_queries, calls it, and answers from the real data.
Architecture
The other 2 of the 44 tools are get_status and reauthenticate. They have no card.
Impact
Where the 44 tools go
Tool count and access per group, from the repository.
It is the Google layer underneath the Growth Intelligence Stack and the SaaS SEO Agent, so both depend on it.
Built with
Decisions that mattered
- Desktop-app OAuth, not Web. A web client needs pre-registered redirect URIs and fails on the random local port the server uses for the callback.
- Runs locally. Nothing is stored or proxied, so there is no service to secure and no data to leak.
- All four APIs are enabled up front, because the login requests every scope at once.
- Published on npm, so one npx command starts it without a clone.
What is next
- More tools as new questions come up.
Sources: Repository README and docs; GitHub and npm public stats, read 7 Nov 2026