MCP

CM360 MCP server: Campaign Manager 360 from Claude or Codex

TL;DR

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 todayAgent Planners MCP
CM360 toolsUsually absent3 reads, 2 writes
Async report handlingRarely implementedPolled, with a per-fetch timeout
Threshold alertsNoYes
DV360 in the same sessionNoYes
GA4 in the same sessionNoYes
Tool counts are derived from the live catalogue rather than typed by hand: this family exposes 3 reads and 2 writes of the 384 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 CM360 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 agentplanners https://www.agentplanners.com/api/mcp \
  --header "Authorization: Bearer ap_live_…"

Claude Desktop and Codex

Claude Desktop takes the same endpoint as JSON:

json
{
  "mcpServers": {
    "agentplanners": {
      "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.agentplanners]` / `url = "…/api/mcp"` / `bearer_token_env_var = "AGENTPLANNERS_API_KEY"`.

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.

GA4 has its own CM360 dimensions, and they are a common source of mismatched joins — worth reading before trusting a cross-product report.

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.
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