AdSense MCP server: publisher revenue analysis from Claude or Codex
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.
- Read-only is appropriate. AdSense exposes little that an agent should mutate, so a server offering writes would be solving a problem publishers do not have.
- 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 today | Agent Planners MCP | |
|---|---|---|
| AdSense tools | Community, read-only | 9 reads |
| Ad Manager in the same session | No | Yes |
| AdMob in the same session | No | Yes |
| Scheduled monitoring + alerts | No | Threshold rules and anomaly detection |
| Joined to traffic data | No | GA4 and Search Console on the same key |
How to configure it
- 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.
- 2Connect AdSense under Integrations — that OAuth step is why the MCP key never carries platform credentials.
- 3Add the server to Claude Code, Claude Desktop or Codex using the snippet below.
- 4Have the agent call `describe_permissions` first — it reports the key's mode, scopes, plan entitlement and connected accounts.
- 5Call `list_accounts` for the account ids, and scope each call with one. Resolution is exact or it refuses, naming the candidates.
claude mcp add --transport http agentplanners https://www.agentplanners.com/api/mcp \
--header "Authorization: Bearer ap_live_…"Claude Desktop and Codex
Claude Desktop takes the same endpoint as JSON:
{
"mcpServers": {
"agentplanners": {
"url": "https://www.agentplanners.com/api/mcp",
"headers": {
"Authorization": "Bearer ap_live_…"
}
}
}
}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 they are read-only, which is the right shape for AdSense.
- Can an AI agent change my AdSense settings?
- Not here — the AdSense integration is 9 read tools and no writes. AdSense exposes little that an agent should mutate, so read-only is a design decision rather than a gap.
- 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.