MCP tool
mmm_readiness
Ask BEFORE attempting an MMM. Reports weeks of usable history against what is required, which channels carry material spend, whether each channel's spend actually VARIES (a channel held at a flat budget cannot be separated from the baseline — this is the failure mode that makes naive mix models confidently wrong), collinearity between channels that move together, outcome density, and a plain-English list of what is missing with what to run instead. Returns 200 whether or not it is ready: "not yet, and here is why" is a valid answer, not an error. Most advertisers running short pilots will NOT be ready, and that is the expected result.
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": {
"grain": {
"description": "spend columns per channel (default) or per campaign×channel",
"type": "string",
"enum": [
"channel",
"campaign-channel"
]
},
"outcome": {
"description": "which tracked outcome is the dependent variable; default conversion",
"type": "string",
"enum": [
"conversion",
"pageview"
]
}
}
}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/measurement/mmm/readiness",
"pathFields": [],
"pathSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"pathEncoding": "encodeURIComponent for each path field",
"governedAction": null,
"headers": {},
"querySchema": {
"type": "object",
"properties": {
"grain": {
"description": "spend columns per channel (default) or per campaign×channel",
"type": "string",
"enum": [
"channel",
"campaign-channel"
]
},
"outcome": {
"description": "which tracked outcome is the dependent variable; default conversion",
"type": "string",
"enum": [
"conversion",
"pageview"
]
}
},
"additionalProperties": false
},
"queryEncoding": "URLSearchParams; omit undefined fields, stringify supplied values",
"responseMapping": "REST JSON is returned as MCP structuredContent and a compatibility text block; privacy-sensitive tools validate their output schema."
}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 →