← All MCP tools

MCP tool

get_campaign_report

Return the URL of a self-contained, printable campaign report — delivered spend by channel, modeled reach, responses, and the causal result (or an honest refusal where the test was not powered or had no clean control market). It is a single HTML file with no scripts and no external requests, rendered in the advertiser brand kit, meant to be opened, printed to PDF and forwarded to people who never log into AdBuyMCP. The document body is deliberately NOT inlined here: it is several kilobytes of markup that is useless to read as text. Use get_measurement instead when you need the numbers themselves. NOTE: the URL is tenant-scoped, not a public share link — under AUTH_MODE=clerk it needs the same credentials this MCP server uses, so a recipient without an account cannot open it. Download it and attach the file, or open it yourself and print to PDF.

Input

Pass fields from this schema as the tool arguments. Runtime ownership, product scope and readiness checks still apply.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "campaignId": {
      "type": "string",
      "minLength": 1,
      "description": "campaign id to report on"
    }
  },
  "required": [
    "campaignId"
  ]
}

REST mapping and authority

The tool wraps this REST endpoint. The mapping identifies path/query/body transformations and approval or idempotency headers.

Request contract
{
  "method": "GET",
  "path": "/api/v1/campaigns/{campaignId}/report",
  "pathFields": [
    "campaignId"
  ],
  "pathSchema": {
    "type": "object",
    "properties": {
      "campaignId": {
        "type": "string",
        "minLength": 1,
        "description": "campaign id to report on"
      }
    },
    "additionalProperties": false,
    "required": [
      "campaignId"
    ]
  },
  "pathEncoding": "encodeURIComponent for each path field",
  "governedAction": null,
  "headers": {},
  "querySchema": {
    "type": "object",
    "properties": {},
    "additionalProperties": false
  },
  "queryEncoding": "URLSearchParams; omit undefined fields, stringify supplied values",
  "responseMapping": "REST returns HTML; MCP returns an authenticated report URL and byte count, without the markup."
}

Output

This is the registered MCP output envelope. Nested fields are only modeled where the schema explicitly defines them.

Output JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": {}
}

Safety annotations

MCP annotations
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}

Annotations help a client present the tool. The API independently enforces authorization and exact action approvals. Error and retry guidance →

get_campaign_report | AdBuyMCP docs