MCP tool
run_micro_mmm
Fit a weekly marketing-mix model across this advertiser's channels: geometric adstock (carryover), a diminishing-returns saturation curve, and ridge-regularised regression. Returns per-channel contribution, marginal cost per outcome, and fit quality. Every number is labeled modeled and carries caveats — render the caveats WITH the numbers, not behind a tooltip, and never present a weak fit as an allocation recommendation. When the data cannot support a model this REFUSES with 422 and the full readiness report naming what is missing and what to run instead (usually a geo-lift). That refusal is the correct answer — do not retry with different parameters to force a number out of it, and do not substitute your own estimate.
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 column granularity",
"type": "string",
"enum": [
"channel",
"campaign-channel"
]
},
"outcome": {
"description": "dependent variable",
"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": "POST",
"path": "/api/v1/measurement/mmm",
"pathFields": [],
"pathSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"pathEncoding": "encodeURIComponent for each path field",
"governedAction": null,
"headers": {},
"bodySchema": {
"type": "object",
"properties": {
"grain": {
"description": "spend column granularity",
"type": "string",
"enum": [
"channel",
"campaign-channel"
]
},
"outcome": {
"description": "dependent variable",
"type": "string",
"enum": [
"conversion",
"pageview"
]
}
},
"additionalProperties": false
},
"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 →