Complete reference for all 16 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
}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
}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
}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
}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
}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
}**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
}