MCP

AdSense MCP server: publisher revenue analysis from Claude or Codex

TL;DR

AdSense is a reporting-only integration and that is the correct shape: there is very little an agent should change in AdSense, and a great deal it can explain. The value is not automation here — it is answering "why did revenue move" without opening three dashboards.

What already exists for this platform

Google has not shipped a platform-official AdSense MCP server at the time of writing (September 2026).

  • No official server. The AdSense Management API is straightforward to wrap, and several community servers do.
  • Most community servers are read-only, which was a fair reading of the API until you check it — AdSense v2 has create and patch for ad units and create, patch and delete for custom channels.
  • The hard part is not AdSense — it is that a revenue question usually spans AdSense, Ad Manager and AdMob at once.

What a full MCP server adds

Typical option todayAgent Planners MCP
AdSense toolsCommunity, read-only13 reads, 5 writes
Ad Manager in the same sessionNoYes
AdMob in the same sessionNoYes
Scheduled monitoring + alertsNoThreshold rules and anomaly detection
Joined to traffic dataNoGA4 and Search Console on the same key
Tool counts are derived from the live catalogue rather than typed by hand: this family exposes 13 reads and 5 writes of the 1018 tools on the endpoint. A key only sees the writes if it carries tools:write.

How to configure it

  1. 1Create a key in API & MCP. tools:read for questions; add tools:write if the agent should be able to change things. Tools mode needs a paid plan and fails closed.
  2. 2Connect AdSense under Integrations — that OAuth step is why the MCP key never carries platform credentials.
  3. 3Add the server to Claude Code, Claude Desktop or Codex using the snippet below.
  4. 4Have the agent call describe_permissions first — it reports the key's mode, scopes, plan entitlement and connected accounts.
  5. 5Call list_accounts for the account ids, and scope each call with one. Resolution is exact or it refuses, naming the candidates.
bash
claude mcp add --transport http agent-plannershttps://www.agentplanners.com/api/mcp \
  --header "Authorization: Bearer ap_live_…"

Claude Desktop and Codex

Claude Desktop takes the same endpoint as JSON:

json
{
  "mcpServers": {
    "agent-planners": {
      "url": "https://www.agentplanners.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ap_live_…"
      }
    }
  }
}
Codex uses the same endpoint from ~/.codex/config.toml, with the key in an environment variable rather than the file: [mcp_servers.agent-planners] / url = "…/api/mcp" / bearer_token_env_var = "AGENTPLANNERS_API_KEY".

Why a single-platform AdSense server answers the wrong question

A publisher rarely wants to know what AdSense did. They want to know why total revenue moved, and the answer usually lives in the relationship between platforms — demand shifting between AdSense and Ad Manager, an app inventory change in AdMob, or a traffic drop that shows up in GA4 and Search Console before it shows up in revenue.

One reviewer put the workflow plainly: they check Ad Manager, AdSense, AdMob and analytics separately before they can understand what is affecting revenue. A server that only reaches one of those leaves three tabs open.

Use cases

  • Revenue drop diagnosis across AdSense, Ad Manager and AdMob in one question.
  • RPM by placement and country, ranked, without building a report by hand.
  • Threshold alerts on revenue and RPM, delivered on a schedule rather than checked manually.
  • Traffic versus revenue — joining Search Console and GA4 to the monetization side, which is where the cause usually is.

Frequently asked questions

Is there an official AdSense MCP server?
Not from Google at the time of writing (September 2026). Community wrappers around the AdSense Management API exist and are typically read-only — though the v2 API does carry ad unit and custom channel writes.
Can an AI agent change my AdSense settings?
Yes for ad units and custom channels — 13 reads and 5 writes, each queued for approval or run inside the guardrails, as the key's write mode says. Adding a site and blocking ads are impossible for any tool: AdSense v2 makes sites and policy issues read-only.
Why does a publisher need more than an AdSense server?
Because the question is rarely about AdSense alone. Revenue movement usually involves Ad Manager and AdMob as well, and often a traffic change visible in GA4 or Search Console first.
Put a human-approved agent on your ad ops

Start free — 2,500 credits a month, no credit card. Reads are free; every write waits for you.

Related reading