Complete reference for all 29 tools available via the Attribution.ai MCP server. This page is generated from the runtime tool registry and input schemas.
**Start here for any question about store health.** Get revenue, orders, AOV, channel breakdown, and ROAS. Call this first — it returns the broadest overview. Defaults to last 30 days.
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | optional | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string | optional | End date (YYYY-MM-DD). Defaults to today. |
channel | string | optional | Filter to a specific channel (optional) |
model | string | optional | Filter to a specific attribution model (optional) |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "performance",
"arguments": {
"start_date": "2026-01-01",
"end_date": "2026-01-01",
"channel": "value"
}
},
"id": 1
}Klaviyo email and SMS lifecycle analytics with reported revenue, conversions, opens, clicks, top campaigns, top flows, and freshness/coverage metadata. Use for Klaviyo, email, SMS, open-rate, click-rate, flow, and campaign-lifecycle questions.
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | optional | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string | optional | End date (YYYY-MM-DD). Defaults to today. |
channel | string(all |email |sms) | optional | Filter lifecycle metrics to email, sms, or all channels. |
entity_type | string(all |campaign |flow) | optional | Filter entity ranking to campaign, flow, or all. |
limit | number | optional | Maximum number of top campaigns/flows to return (default 5). |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "email_lifecycle",
"arguments": {
"start_date": "2026-01-01",
"end_date": "2026-01-01",
"channel": "value"
}
},
"id": 1
}Drill into individual ad campaigns and creatives across Facebook, Google, TikTok, Amazon, Snapchat. **Call after `performance`** when the user asks about specific ads, campaign names, or platform-level detail.
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | optional | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string | optional | End date (YYYY-MM-DD). Defaults to today. |
platform | string(facebook |google |tiktok |amazon |snapchat) | optional | Filter by ad platform |
campaign_id | string | optional | Filter to a specific campaign ID |
level | string(campaign |creative) | optional | Drill-down level (default: campaign) |
sort_by | string(spend |revenue |roas |conversions) | optional | Sort metric (default: spend) |
limit | number | optional | Max results to return (default: 25, max: 100) |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
offset | number | optional | Number of results to skip for pagination (default: 0) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "campaigns",
"arguments": {
"start_date": "2026-01-01",
"end_date": "2026-01-01",
"platform": "value"
}
},
"id": 1
}Revenue and order time series with anomaly detection. **Use instead of `performance`** when the user wants data 'over time', weekly/monthly trends, or asks 'what happened on [date]?'. Defaults to last 90 days at daily granularity.
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | optional | Start date (YYYY-MM-DD). Defaults to 90 days ago. |
end_date | string | optional | End date (YYYY-MM-DD). Defaults to today. |
metric | string(revenue |orders |spend |roas) | optional | Primary metric (default: revenue) |
channel | string | optional | Filter to a specific channel (optional) |
granularity | string(day |week |month) | optional | Time granularity (default: day) |
anomaly_threshold | number | optional | Z-score threshold for anomalies (default: 2.0) |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
limit | number | optional | Max results to return (default: 25, max: 100) |
offset | number | optional | Number of results to skip for pagination (default: 0) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "trends",
"arguments": {
"start_date": "2026-01-01",
"end_date": "2026-01-01",
"metric": "value"
}
},
"id": 1
}Customer segments, retention cohorts, purchase journeys, and LTV by channel. Use for 'who are my best customers', 'are they coming back', or 'customer lifetime value' questions. Supports views: segments, retention, journeys, ltv.
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | optional | Start date (YYYY-MM-DD). Defaults to 90 days ago. |
end_date | string | optional | End date (YYYY-MM-DD). Defaults to today. |
view | string(segments |retention |journeys |ltv) | optional | Analysis view: segments (new vs returning), retention (cohort curves), journeys (touchpoint paths), ltv (lifetime value by channel). Default: segments. |
channel | string | optional | Filter to a specific channel (optional) |
segment | string(new |returning) | optional | Filter to new or returning (optional) |
limit | number | optional | Max results to return (default: 25, max: 100) |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
offset | number | optional | Number of results to skip for pagination (default: 0) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "customers",
"arguments": {
"start_date": "2026-01-01",
"end_date": "2026-01-01",
"view": "value"
}
},
"id": 1
}Post-purchase survey responses — self-reported 'how did you hear about us' data. Use for questions about brand awareness, word-of-mouth, or when the user wants the customer's own perspective vs pixel-based attribution.
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | optional | Start date (YYYY-MM-DD). Defaults to 90 days ago. |
end_date | string | optional | End date (YYYY-MM-DD). Defaults to today. |
view | string(summary |individual) | optional | View mode: summary (aggregate breakdown) or individual (raw responses). Default: summary. |
question | string | optional | Filter to a specific survey question field (e.g. discovery_channel, purchase_trigger, awareness_duration). Optional. |
answer_contains | string | optional | Filter answers containing text (optional) |
channel | string | optional | Filter by attributed channel (optional) |
min_order_value | number | optional | Minimum order value filter (optional) |
limit | number | optional | Max results to return (default: 25, max: 100) |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
offset | number | optional | Number of results to skip for pagination (default: 0) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "surveys",
"arguments": {
"start_date": "2026-01-01",
"end_date": "2026-01-01",
"view": "value"
}
},
"id": 1
}Top products by revenue or units sold, plus coupon/discount code performance. Use for 'best sellers', 'which products drive revenue', or 'how are my coupons performing'.
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | optional | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string | optional | End date (YYYY-MM-DD). Defaults to today. |
view | string(products |coupons) | optional | View mode: products (top sellers) or coupons (discount code performance). Default: products. |
sort_by | string(revenue |units |aov) | optional | Sort metric for products (default: revenue) |
code | string | optional | Filter to specific coupon code (optional) |
limit | number | optional | Max results to return (default: 25, max: 100) |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
offset | number | optional | Number of results to skip for pagination (default: 0) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "products",
"arguments": {
"start_date": "2026-01-01",
"end_date": "2026-01-01",
"view": "value"
}
},
"id": 1
}Influencer/creator/affiliate performance — revenue, orders, clicks, ROI per influencer. Use for 'who is my best influencer', 'creator ROI', or affiliate program analysis.
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string(list |performance |compare |top_performers) | required | Action to perform. list = all influencers; performance = single influencer detail; compare = side-by-side; top_performers = ranked by metric. |
view | string(overview) | optional | Deprecated alias for action='list' (kept for backward compatibility). |
influencer_id | string | optional | Influencer UUID (for performance action) |
influencer_ids | array | optional | Array of influencer UUIDs (for compare action) |
sort_by | string(revenue |orders |clicks |conversions |roi) | optional | Sort metric for list/top_performers. Defaults to revenue. |
platform | string | optional | Filter by platform (instagram, tiktok, youtube, etc.) |
limit | number | optional | Max results to return (default: 25, max: 100) |
start_date | string | optional | Start date (YYYY-MM-DD) |
end_date | string | optional | End date (YYYY-MM-DD) |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
offset | number | optional | Number of results to skip for pagination (default: 0) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "influencers",
"arguments": {
"action": "value",
"view": "value",
"influencer_id": "value"
}
},
"id": 1
}Get pacing data (actual vs target), forecasts, budget allocation recommendations, and drift alerts. Use aspect=pacing for pace-vs-plan, aspect=recommendations for "where to put the next dollar", aspect=alerts for drift alerts.
| Parameter | Type | Required | Description |
|---|---|---|---|
aspect | string(pacing |recommendations |alerts |targets) | optional | pacing: current pace vs targets. recommendations: budget allocation recommendations. alerts: active drift alerts. targets: current targets. |
channel | string | optional | Filter to specific channel (optional) |
period_type | string(daily |weekly |monthly |quarterly) | optional | Target period type |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "forecasting",
"arguments": {
"aspect": "value",
"channel": "value",
"period_type": "value"
}
},
"id": 1
}Unified creator performance combining survey mentions, discount code usage, vanity URL clicks, and referral links. Returns ROI per creator with signal breakdown.
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | optional | Start date (YYYY-MM-DD) |
end_date | string | optional | End date (YYYY-MM-DD) |
creator_id | string | optional | Specific creator ID for detail view (optional) |
sort_by | string(total_revenue |total_orders |roi |blended_confidence) | optional | Sort leaderboard by this field |
limit | number | optional | Max creators to return (default 20) |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "creators",
"arguments": {
"start_date": "2026-01-01",
"end_date": "2026-01-01",
"creator_id": "value"
}
},
"id": 1
}View revenue across all sales surfaces (Shopify, Amazon, TikTok Shop, Retail, Wholesale). Includes halo effect coefficients showing how ad spend on one channel drives revenue on other surfaces.
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | optional | Start date (YYYY-MM-DD) |
end_date | string | optional | End date (YYYY-MM-DD) |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "omnichannel",
"arguments": {
"start_date": "2026-01-01",
"end_date": "2026-01-01",
"detail_level": "value"
}
},
"id": 1
}Channel-level cohort LTV comparison, payback period by channel, new vs returning revenue split. Answers "does Meta drive better repeat customers than TikTok?"
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string | optional | Start date (YYYY-MM-DD) |
end_date | string | optional | End date (YYYY-MM-DD) |
aspect | string(summary |ltv) | optional | summary: new vs returning breakdown. ltv: channel LTV comparison. |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "lifecycle",
"arguments": {
"start_date": "2026-01-01",
"end_date": "2026-01-01",
"aspect": "value"
}
},
"id": 1
}Generate a visual chart. Use when the user asks to show, chart, plot, graph, or visualize a metric.
| Parameter | Type | Required | Description |
|---|---|---|---|
metric | string(revenue |orders |spend |roas |aov) | required | Metric to chart |
chart_type | string(line |bar |pie) | optional | Chart type (default: line) |
start_date | string | optional | Start date (YYYY-MM-DD). Defaults to 30 days ago. |
end_date | string | optional | End date (YYYY-MM-DD). Defaults to today. |
channel | string | optional | Filter to a specific channel (optional) |
breakdown | string(total |channel) | optional | total for a single trend, channel for prompt-driven channel comparisons and grouped charts. |
channels | array | optional | Optional explicit list of channels to compare. |
series_limit | number | optional | Limit the number of compared channel series (default: 5). |
granularity | string(day |week |month) | optional | Time granularity (default: day) |
title | string | optional | Chart title |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "chart",
"arguments": {
"metric": "value",
"chart_type": "value",
"start_date": "2026-01-01"
}
},
"id": 1
}AI budget allocation recommendations powered by Media Mix Modeling (MMM). Shows channel saturation, marginal ROI, and what-if scenarios. **Requires an active MMM model** — call `diagnose` first if unsure whether MMM is set up.
| Parameter | Type | Required | Description |
|---|---|---|---|
budget_constraint | number | optional | Total monthly budget constraint for recommendations (optional) |
question | string | optional | Specific question about MMM results (optional) |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "optimization",
"arguments": {
"budget_constraint": 10,
"question": "value",
"detail_level": "value"
}
},
"id": 1
}Hybrid execution plan for MMM, experiments, and measurement governance. Use this before proposing operator actions.
| Parameter | Type | Required | Description |
|---|---|---|---|
riskTolerance | string(conservative |balanced |aggressive) | optional | Planning posture for operator actions (default: balanced). |
horizonDays | number | optional | Planning horizon in days (default: 14, min: 3, max: 30). |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "autopilot_plan",
"arguments": {
"riskTolerance": "value",
"horizonDays": 10,
"detail_level": "value"
}
},
"id": 1
}Run MMM-backed budget optimization for the caller’s active brand. Returns recommended per-channel allocations, current allocation snapshot, expected revenue lift, and confidence. Requires a trained MMM model — call `diagnose` first if unsure whether MMM is available.
| Parameter | Type | Required | Description |
|---|---|---|---|
total_budget | number | required | Total budget to optimize over (same period as the MMM model training window). |
channels | array | optional | Optional subset of channels to return in the recommendation. Defaults to all channels with MMM parameters. |
constraints | object | optional | Optional per-channel min/max spend constraints, keyed by channel name. Values must be non-negative; min may not exceed max. |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "optimize_budget",
"arguments": {
"total_budget": 10,
"channels": "value",
"constraints": "value"
}
},
"id": 1
}Incrementality testing — measures the TRUE causal impact of each channel via controlled experiments. Shows reported vs incremental ROAS. Supports views: factors, results, true_vs_reported, next_test, guide.
| Parameter | Type | Required | Description |
|---|---|---|---|
view | string(factors |results |true_vs_reported |next_test |guide) | optional | Analysis view: factors (incrementality multipliers), results (experiment outcomes), true_vs_reported (reported vs incremental ROAS), next_test (what to test next), guide (educational). Default: factors. |
start_date | string | optional | Start date for true_vs_reported (YYYY-MM-DD). Defaults to 90 days ago. |
end_date | string | optional | End date for true_vs_reported (YYYY-MM-DD). Defaults to today. |
channel | string | optional | Filter to specific channel (optional) |
experiment_id | string | optional | Specific experiment ID for results view (optional) |
topic | string(overview |geo_experiments |did |synthetic_control |factors |icpa_iroas |interpreting_results) | optional | Guide topic (for view=guide) |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "experiments",
"arguments": {
"view": "value",
"start_date": "2026-01-01",
"end_date": "2026-01-01"
}
},
"id": 1
}Check if a brand has enough data to run a valid geo incrementality experiment. Returns readiness score, per-gate status, and minimum detectable effect.
| Parameter | Type | Required | Description |
|---|---|---|---|
channel | string | required | Marketing channel to evaluate (e.g. "facebook_paid", "google_paid"). Required. |
treatmentRegions | array | optional | Optional list of candidate treatment regions (e.g. ["US-CA","US-NY"]). When provided, these are excluded from the donor pool size check. |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "geo_experiment_preflight",
"arguments": {
"channel": "value",
"treatmentRegions": "value",
"detail_level": "value"
}
},
"id": 1
}Prioritized AI-generated insights and recommendations. Use for 'what should I focus on', 'any alerts', or 'what's important'. Returns actionable findings ranked by priority.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | optional | Max results to return (default: 25, max: 100) |
priority | string(low |medium |high |critical) | optional | Filter by priority |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
offset | number | optional | Number of results to skip for pagination (default: 0) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "insights",
"arguments": {
"limit": 10,
"priority": "value",
"detail_level": "value"
}
},
"id": 1
}Unified next-decision feed across readiness, confidence governance, and MMM calibration. Use this for weekly briefs, next-dollar decisions, and trust-aware action planning.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | optional | Maximum number of decision items to return (default: 8). |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "decision_feed",
"arguments": {
"limit": 10,
"detail_level": "value",
"format": "value"
}
},
"id": 1
}Execute write actions: create timeline annotations, set up performance alerts, map coupons to channels, create/manage incrementality experiments, save reports. **Always confirms before executing.** Available actions: dismiss_insight, create_annotation, create_alert, map_coupon, create_experiment, save_report, update_experiment.
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string(dismiss_insight |create_annotation |create_alert |map_coupon |create_experiment |save_report |update_experiment) | required | Action to execute: dismiss_insight, create_annotation (needs date+label), create_alert (needs metric+condition+threshold), map_coupon (needs code+channel), create_experiment (needs channel), save_report (needs name), update_experiment (needs experiment_id+status). |
params | object | optional | Action-specific parameters |
confirmed | boolean | optional | Set to true to execute after confirmation |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "manage",
"arguments": {
"action": "value",
"params": "value",
"confirmed": "value"
}
},
"id": 1
}Preview or execute a daily-budget change on a Meta/Google/TikTok campaign. Defaults to preview; requires confirm=true AND measurement.approve_execution scope to actually push the change. Every execution writes a budget_changes audit row that can be rolled back.
| Parameter | Type | Required | Description |
|---|---|---|---|
platform | string(facebook |google_ads |tiktok) | required | Ad platform to target. |
platform_campaign_id | string | required | Platform-native campaign ID (Facebook campaign id, Google campaign id, TikTok campaign id). |
campaign_name | string | optional | Optional display name for audit log. |
reason | string | optional | Why this change is proposed (e.g. "incrementality factor dropped below 0.4"). |
platform_resource_ids | object | optional | Platform-specific resource ids: googleCustomerId, googleCampaignBudgetResourceName, googleCampaignResourceName, tiktokAdvertiserId. |
confirm | boolean | optional | Must be true to actually execute. Defaults to false (preview only). |
new_budget_value | number | required | New daily budget in the platform-expected unit: Meta=minor units (cents), Google=micros (USD * 1e6), TikTok=whole currency. |
previous_budget_value | number | optional | Current daily budget; used for diff preview and rollback. |
currency | string | optional |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "propose_budget_shift",
"arguments": {
"platform": "value",
"platform_campaign_id": "value",
"campaign_name": "value"
}
},
"id": 1
}Preview or execute a pause on a Meta/Google/TikTok campaign. Defaults to preview; requires confirm=true AND measurement.approve_execution scope to execute.
| Parameter | Type | Required | Description |
|---|---|---|---|
platform | string(facebook |google_ads |tiktok) | required | Ad platform to target. |
platform_campaign_id | string | required | Platform-native campaign ID (Facebook campaign id, Google campaign id, TikTok campaign id). |
campaign_name | string | optional | Optional display name for audit log. |
reason | string | optional | Why this change is proposed (e.g. "incrementality factor dropped below 0.4"). |
platform_resource_ids | object | optional | Platform-specific resource ids: googleCustomerId, googleCampaignBudgetResourceName, googleCampaignResourceName, tiktokAdvertiserId. |
confirm | boolean | optional | Must be true to actually execute. Defaults to false (preview only). |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "pause_campaign",
"arguments": {
"platform": "value",
"platform_campaign_id": "value",
"campaign_name": "value"
}
},
"id": 1
}Preview or execute a resume on a previously-paused campaign. Defaults to preview; requires confirm=true AND measurement.approve_execution scope to execute.
| Parameter | Type | Required | Description |
|---|---|---|---|
platform | string(facebook |google_ads |tiktok) | required | Ad platform to target. |
platform_campaign_id | string | required | Platform-native campaign ID (Facebook campaign id, Google campaign id, TikTok campaign id). |
campaign_name | string | optional | Optional display name for audit log. |
reason | string | optional | Why this change is proposed (e.g. "incrementality factor dropped below 0.4"). |
platform_resource_ids | object | optional | Platform-specific resource ids: googleCustomerId, googleCampaignBudgetResourceName, googleCampaignResourceName, tiktokAdvertiserId. |
confirm | boolean | optional | Must be true to actually execute. Defaults to false (preview only). |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "resume_campaign",
"arguments": {
"platform": "value",
"platform_campaign_id": "value",
"campaign_name": "value"
}
},
"id": 1
}**Call this first** to learn what data, channels, integrations, and capabilities are available for this store. Returns the store context the AI needs to make smart tool calls. No dates needed.
| Parameter | Type | Required | Description |
|---|---|---|---|
aspect | string(overview |channels |integrations |capabilities) | optional | What to discover. overview (default): full store snapshot. channels: list of tracked channels with data volume. integrations: connected ad platforms and sync status. capabilities: which tools have data and which will return empty. |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "discover",
"arguments": {
"aspect": "value",
"detail_level": "value",
"format": "value"
}
},
"id": 1
}Search Attribution.ai methodology, terminology, and concepts. Use when the user asks "What is ROAS?", "How does attribution work?", or any conceptual/educational question. Zero latency — static knowledge base.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | What to explain. E.g., "What is ROAS?", "How does Shapley attribution work?", "What channels do you support?" |
topic | string(attribution |channels |mmm |incrementality |surveys |pixel |integrations |glossary) | optional | Narrow to a topic (optional) |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "explain",
"arguments": {
"query": "value",
"topic": "value",
"detail_level": "value"
}
},
"id": 1
}Ask any question about your marketing data in plain English. The system automatically picks the right tool(s), extracts date ranges and channel filters from your question, and returns data with a human-readable interpretation. Handles multi-part questions by chaining tools. Use for non-technical users who want answers without knowing tool names.
| Parameter | Type | Required | Description |
|---|---|---|---|
question | string | required | Your question in plain English. Examples: "Am I wasting money on TikTok?", "How did last week compare to the week before?", "Which channel brings the best customers?" |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "ask",
"arguments": {
"question": "value",
"detail_level": "value",
"format": "value"
}
},
"id": 1
}Compare two time periods side-by-side with percent changes and optional channel breakdown. Use for 'compare this month to last month', 'how did Q4 compare to Q3', or any period-over-period question. Defaults to last 30 days vs previous 30 days.
| Parameter | Type | Required | Description |
|---|---|---|---|
period1_start | string | optional | First (earlier) period start (YYYY-MM-DD). Defaults to 60 days ago. |
period1_end | string | optional | First period end (YYYY-MM-DD). Defaults to 31 days ago. |
period2_start | string | optional | Second (recent) period start (YYYY-MM-DD). Defaults to 30 days ago. |
period2_end | string | optional | Second period end (YYYY-MM-DD). Defaults to today. |
channel | string | optional | Filter to a specific channel (optional) |
include_channels | boolean | optional | Include per-channel breakdown (default: false) |
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "compare",
"arguments": {
"period1_start": "value",
"period1_end": "value",
"period2_start": "value"
}
},
"id": 1
}Health check — inspects store connection, data sync status, integration connections, and data availability. **Call when other tools return empty results** or when setting up for the first time. Returns specific issues and fixes.
| Parameter | Type | Required | Description |
|---|---|---|---|
detail_level | string(summary |analyst |debug) | optional | Controls response verbosity and data exposure. summary (default): concise decision-ready output. analyst: more supporting detail. debug: least-truncated output for troubleshooting. |
format | string(json |csv |summary) | optional | Response format. json (default, full detail), csv (token-efficient tabular data), summary (key metrics only) |
compact | boolean | optional | When true, omit metadata (sources, data_quality, store_data_range) from response for token efficiency. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "diagnose",
"arguments": {
"detail_level": "value",
"format": "value",
"compact": "value"
}
},
"id": 1
}