
This playbook is part of our MCP playbooks, within The MCP Guide. Want help setting it up for your team? Request a free MCP readiness review.
A weekly marketing report pulls traffic, conversions and ad results into one page a manager can read in five minutes. In most small teams, a marketer spends part of every Monday exporting numbers from GA4 and ad platforms into a spreadsheet. With MCP (Model Context Protocol), an AI app such as Claude Code or Cursor can query those platforms directly through MCP servers, so you ask for the numbers in plain English and review a draft instead of copying cells.
This playbook uses only official servers that Google, Meta and Microsoft document. It is part of our MCP playbooks series. Everything below was checked against the vendors' docs on 28 October 2026. eSEOspace did not install or test these servers.
Key Takeaways
- Google publishes an official Google Analytics MCP server that runs locally and, per Google's docs page, is "available for read requests only."
- Google's Ads MCP server is "strictly read-only," which makes it a safe first source for paid search numbers.
- Meta's ads MCP server can create and edit ads, so for a report you should grant reporting permissions only.
- Microsoft Clarity's server adds behavior data, but its export API allows only 10 requests per project per day.
- There is no official Google Search Console MCP server from Google as of October 2026; Ahrefs exposes Search Console data through its own server.
- Keep a person in charge of the commentary and the send button. The AI drafts; a human signs off.
What you need
You need one MCP client and two to four servers. Claude Code, Claude Desktop and Cursor are all named as clients in Google's Analytics MCP docs.
| Data source | Server | Hosting | Read or write |
|---|---|---|---|
| GA4 traffic and conversions | Google Analytics MCP server | Local (pipx run analytics-mcp) | Read; one annotation write tool behind a flag |
| Google Ads | Google Ads MCP server | Local or self-hosted on Cloud Run | Read only |
| Facebook and Instagram ads | Meta Ads MCP server | Hosted by Meta | Read and write |
| On-site behavior | Microsoft Clarity MCP server | Local (npx) | Read |
GA4 options, checked. Google's Analytics MCP page lists a local server published on PyPI as analytics-mcp. It needs the Admin API and Data API turned on in a Google Cloud project, the Viewer role on the property and the analytics.readonly scope. The page lists no hosted remote URL. Its tools include get_account_summaries, get_property_details, list_google_ads_links, run_report, run_realtime_report, run_funnel_report, get_custom_dimensions_and_metrics and run_conversions_report.
The GitHub README is titled "Experimental." It does not list run_conversions_report, and it adds a create_property_annotation tool that needs the --allow-write flag and the analytics.edit scope. Confirm the tool list in your client after you connect.
Search Console. Google does not publish a Search Console MCP server as of October 2026. If you already pay for Ahrefs, its tool categories page lists a gsc group covering "keywords, pages, positions, and performance history." Ahrefs requires a paid plan from Lite up.
The workflow
- Set up read-only access first. Connect GA4 with the Viewer role and
analytics.readonly. Connect Google Ads with a login that sees only the accounts you report on. For Meta, grantads_readplus the requiredads_mcp_management, and leaveads_managementoff. - Confirm the property and accounts. Ask the AI to run
get_account_summariesin GA4 andlist_accessible_customersin Google Ads. Write down the property ID and customer IDs the report should use, so the AI does not guess. - Pull last week's GA4 numbers. The AI calls
run_reportfor sessions, users and key events by channel, comparing the last 7 days with the 7 days before. Userun_funnel_reportif you track a checkout or lead funnel. - Pull paid search results. The AI uses the Google Ads
searchtool, which runs Google Ads Query Language (GAQL) queries. If a query fails,get_resource_metadatatells the model which fields a resource such as "campaign" supports. - Pull paid social results. Meta's overview lists "comprehensive reporting" as a tool category. Ask for spend, results and cost per result by campaign for the same 7 days.
- Add behavior signals (optional). Clarity's
query-analytics-dashboardtool can answer questions about rage clicks, dead clicks or script errors. Microsoft's Data Export API docs limit this to 10 requests per project per day and the last 1 to 3 days of data. - Draft the report. Ask the AI to build one table per channel and a short "what changed" list. Tell it to show the numbers it pulled next to each claim.
- Review and send. A person checks totals against the GA4 and ads interfaces, edits the commentary and sends it. Save the prompt so next week's run is the same.
Example prompts
- "Use
get_account_summariesto list my GA4 properties. Then run a report for property [ID] showing sessions and key events by session default channel group for the last 7 days versus the previous 7 days." - "Run
run_funnel_reportfor the steps view_item, add_to_cart and purchase for last week. Show drop-off at each step." - "Using the Google Ads
searchtool, list cost, clicks, conversions and cost per conversion by campaign for customer [ID] for the last 7 days. If a field is invalid, checkget_resource_metadatafirst." - "From the Meta ads server, report spend and results by campaign for ad account [ID] for the last 7 days. Do not create or change anything."
- "Ask Clarity which pages had the most rage clicks in the last 3 days, then put all of this into a one-page summary with a table per channel."
Guardrails
- Read-only first. GA4 and Google Ads are read-only by default. Keep
--allow-writeoff for GA4 unless you want the AI to write annotations. - Meta needs extra care. Meta's server can "create and edit ads, ad sets, and campaigns." For reporting, use a token with
ads_readonly, and keep approval prompts on in your client. - Protect credential files. The GA4 and Ads servers sign in with Application Default Credentials. That JSON file opens the same data as the Google account behind it.
- Data goes to the model. Google's Ads README warns that the server "will expose your data to the Agent or LLM that you connect to it." Check that this fits your privacy policy.
- Keep humans on judgment. Explaining why numbers moved, and what to do about it, stays with a marketer. The AI can be wrong about cause and effect.
Read the MCP security hub before you share one setup across a team.
What to measure
Track whether the playbook saves time without hurting accuracy:
- Time from "start report" to "report sent," before and after.
- How many numbers a reviewer had to correct each week, and why.
- How often a tool call failed or returned the wrong account or date range.
- Clarity API requests used per day, so you stay under the cap.
- Whether readers act on the report, such as fewer follow-up questions from managers.
Keep these in a simple log for four to six weeks before you decide whether to expand.
Next step
If you want this report running for your team, with the right scopes and a reviewed prompt, our MCP marketing service can set it up. For more marketing workflows, read MCP for marketing teams.
Frequently asked questions
Is there an official GA4 MCP server?
Yes. Google publishes the Google Analytics MCP server in its googleanalytics GitHub organization and documents it on developers.google.com. It runs locally with pipx and uses the Admin API and Data API. Google's docs describe it as read-only, while the README adds one annotation tool behind a flag.
Can the AI change my ads while building the report?
Not through Google's Ads server, which Google calls "strictly read-only." Meta's server can create and edit ads, so give it a reporting-only token and keep approval prompts on. Then a write would need your explicit approval.
How do I get Search Console data into the report?
Google does not publish a Search Console MCP server as of October 2026. Ahrefs' hosted server has a gsc tool group if you are on an eligible Ahrefs plan. Otherwise, add Search Console figures by hand or from an export.
How often can I run the Clarity part?
Microsoft's Data Export API allows 10 requests per project per day and covers only the last 1 to 3 days. A weekly report should use a few focused Clarity questions, not a long exploration.











