MCP tool
get_delivery
Normalized delivery for a campaign: totals (impressions, spend), per-channel and per-day breakdowns, modeled deduped reach (labeled as modeled; daily reach rows are never summed), and byPlacement — the per-unit view: which individual board, show, screen or app ran, on how many days, and what it cost. byPlacement.coveragePct states what share of spend could be attributed to a named unit; the remainder is reported at line level because not every rail breaks delivery down that far, which is legitimate and NOT an unidentified board. Raw per-day×geo×placement rows are omitted for compactness — rowCount tells you how many exist; fetch the CSV export for the full ledger.
Input
Pass fields from this schema as the tool arguments. Runtime ownership, product scope and readiness checks still apply.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"campaignId": {
"type": "string",
"description": "campaign id"
}
},
"required": [
"campaignId"
]
}REST mapping and authority
The tool wraps this REST endpoint. The mapping identifies path/query/body transformations and approval or idempotency headers.
{
"method": "GET",
"path": "/api/v1/campaigns/{campaignId}/delivery",
"pathFields": [
"campaignId"
],
"pathSchema": {
"type": "object",
"properties": {
"campaignId": {
"type": "string",
"description": "campaign id"
}
},
"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": "MCP replaces raw rows with rowCount and preserves the other REST aggregates."
}Output
This is the registered MCP output envelope. Nested fields are only modeled where the schema explicitly defines them.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}Safety 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 →