CM360 MCP server: Campaign Manager 360 from Claude or Codex
CM360 is the ad server, which makes it the source of truth when platform-reported numbers disagree. It is also the slowest reporting API in this set, and the one most often missing from MCP servers entirely.
What already exists for this platform
Google has not shipped a platform-official Campaign Manager 360 MCP server at the time of writing (September 2026), and community coverage is rare.
- No official server, and CM360 is usually absent from multi-platform community servers.
- Reports are asynchronous and slow — a poll can run up to roughly 110 seconds, the longest in this set.
- The value is reconciliation, not day-to-day management: CM360 is where you go when two platforms claim the same conversion.
What a full MCP server adds
| Typical option today | Agent Planners MCP | |
|---|---|---|
| CM360 tools | Usually absent | 3 reads, 2 writes |
| Async report handling | Rarely implemented | Polled, with a per-fetch timeout |
| Threshold alerts | No | Yes |
| DV360 in the same session | No | Yes |
| GA4 in the same session | No | Yes |
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 CM360 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 CM360 questions are usually reconciliation questions
Every buying platform reports conversions with its own attribution model, and those models disagree with each other. CM360 sees the ad serving underneath, which is why it becomes the arbiter — and why a CM360 answer is most useful next to the platform numbers it is arbitrating, rather than alone.
That is an argument for the same key reaching CM360, DV360, Google Ads and GA4 at once. A single-platform CM360 server gives you the arbiter with nothing to arbitrate.
Use cases
- Attribution reconciliation when DV360, Google Ads and GA4 disagree about the same conversion.
- Placement-level delivery audits against what the buying platform believes it bought.
- Ad-server reporting on a schedule, so the reconciliation happens before someone asks.
- Threshold alerts on delivery metrics, which required the alert loop to tolerate a slow report.
Frequently asked questions
- Is there an official CM360 MCP server?
- Not from Google at the time of writing (September 2026), and Campaign Manager 360 is rarely covered by community servers either.
- Why is CM360 worth connecting?
- It is the ad server underneath your buying platforms, so it is the reference when two platforms claim the same conversion. That value only materialises when the platforms being reconciled are reachable in the same session.
- How slow is CM360 reporting?
- A report poll can run up to roughly 110 seconds — the slowest in this set, which is why tools written for synchronous APIs fail against it.