MCP server

SpendSignal inside your AI assistant

Connect your ad and revenue data once. Then ask Claude, ChatGPT, Cursor, VS Code or Gemini where your money is working — SpendSignal runs its marketing-mix models and answers with recommendations and interactive charts, right in the chat.

https://spendsignal.co/api/mcp

Ask it things like

“Is Meta actually driving sales, or just taking credit?”
“Where should I move budget next week? Show me the curves.”
“What happens to profit if we raise spend 20%?”
“Which creatives should I scale or pause?”
“Forecast revenue for the next 30 days with a range.”
“Do both of your models agree on TikTok?”

1. Bring your data

Paste a table, drop files on a one-time upload link, or connect Meta Ads, Google Ads, Shopify, BigQuery or Postgres. Daily revenue and spend per channel is enough to start.

2. Our models run

Two engines fit on your data: the Growth Cockpit MMM (verdicts, curves, creative and search tests, forecasts) and the run engine (counterfactual attribution, deep runs).

3. Get answers and charts

Recommendations with uncertainty bands, a budget plan you can drag, forecasts with ranges — rendered as interactive charts in apps that support them.

Set up in your app

Apps with sign-in use your SpendSignal login. Coding tools can use an API key from Dashboard → AI connectors.

Sign in with SpendSignal (OAuth)Interactive charts
  1. Open Settings → Connectors → Add custom connector.
  2. Name it SpendSignal and paste https://spendsignal.co/api/mcp.
  3. Click Connect and approve access on the SpendSignal page that opens.
  4. In a chat, enable SpendSignal from the tools menu and ask: "Use SpendSignal to review my budget."
AppSign-inCharts
Claude (web & desktop)Sign in with SpendSignal (OAuth)Interactive
Claude CodeOAuth or API keyText and tables
ChatGPTSign in with SpendSignal (OAuth)Interactive
CursorOAuth or API keyInteractive
VS Code (Copilot)OAuth or API keyInteractive
Gemini CLIOAuth or API keyText and tables
AntigravityAPI keyText and tables

Tools

18 tools. marks tools that show an interactive chart. Every result names the engine behind it.

Data

Get data in and check it is good enough to model.

  • get_workspace_status

    Start here. Lists your SpendSignal workspaces, the data in the current one (datasets, connected sources, freshness), recent analysis runs, and which analyses can run now and what each still needs.

  • get_upload_templates

    Column specs and sample rows for each file SpendSignal accepts (revenue, channels, ads, keywords, search_terms, hourly), and which analyses need which files. Use it to reshape the user's exports before ingest_rows.

  • ingest_rows

    Save rows the user shared (pasted table, small CSV) as one file of a SpendSignal dataset. Call once per file; pass the returned dataset_id to add more files to the same dataset. Max 5000 rows per call; for bigger files use create_upload_link.

  • create_upload_link

    Create a one-time link (valid 30 minutes) where the user can drop large CSV/XLSX exports into SpendSignal. Give the link to the user; afterwards call get_workspace_status to find the new dataset.

  • connect_source

    Get the link where the user connects Meta Ads, Google Ads, Shopify, BigQuery or Postgres to SpendSignal (credentials are entered on SpendSignal, never in chat). Also shows already-connected sources.

  • import_connected_data

    Build a dataset from data synced by connected sources (Meta Ads and Google Ads spend, ads, keywords, search terms and hourly; Shopify revenue) for a date range, ready for both engines. Use a range of 180+ days.

  • validate_dataset

    Check whether a dataset is good enough to model: days covered, gaps, spend variation per channel, channels that move together, and which analyses (engine A modules, engine B) can run.

Engine A — Growth Cockpit

Weekly decisions: verdicts, budget plan, creatives, search, forecast.

  • run_cockpit

    Fit engine A on a dataset with the business's unit economics and return the overview: KPIs, per-channel platform ROAS vs iROAS (with band), true ROI, Scale/Hold/Trim/Cut verdicts and top recommendations. Other engine A tools reuse this run.

  • get_budget_plan

    Recommend a daily budget split across channels from engine A response curves, optionally changing the total budget. Increases stop where the next unit of spend would lose money (reported as unspent). Shows interactive response curves.

  • get_incrementality

    Engine A incrementality: platform-reported ROAS vs modelled iROAS (with band) per channel, platform over-credit, incremental revenue, and baseline vs paid revenue over time. Shows an interactive chart.

  • get_forecast

    Engine A revenue forecast (P10/P50/P90) for the next 7–90 days at a planned spend level, split into baseline and paid. Shows an interactive chart.

  • review_creatives

    Engine A creative tests: which ads to scale or pause (tested against target CPA, their own past and peers) and which creative tags (hook, format, creator, offer) win. Needs the ads file. Shows an interactive chart.

  • review_search

    Engine A Google Search review: keywords to cut or scale, search terms to add as negatives or promote, brand share of spend, and hour-of-day budget shifts. Needs the keywords file (search_terms and hourly optional).

  • get_recommendations

    Ranked actions from engine A across channels, campaigns, ads and keywords: what to do, why, which model said so, estimated monthly impact and confidence.

Engine B — Run engine

Deep runs on longer or warehouse data, budget-neutral what-ifs.

  • run_deep_analysis

    Fit engine B (ridge MMM with counterfactual attribution) on a dataset: model fit, true ROAS per channel, contribution over time, a budget-neutral reallocation and a 30-day uplift forecast. Slower than engine A; good for longer or warehouse data. Shows an interactive chart.

  • simulate_reallocation

    Score a budget-neutral what-if with engine B: set spend for some channels (period totals, same units as the data) and see predicted revenue, true ROAS and the re-optimised split. Use get_budget_plan for budget increases or cuts.

Both engines

Cross-check before big moves; explain any metric.

  • compare_engines

    Run both engines on the same dataset and compare per-channel returns: engine A iROAS with band vs engine B true ROAS, rank correlation, and where they agree or disagree. Use before big budget moves. Shows an interactive chart.

  • explain

    Plain-language explanation of a SpendSignal metric or method. Topics: iroas, troas, platform_roas, marginal_iroas, breakeven_iroas, true_roi, verdict, saturation, adstock, baseline, road, unspent, test_results, engine_a, engine_b.

Built-in workflows

Skills tell your assistant how to use the tools well. They appear as prompts or slash commands in most apps, and as Skills in Claude.

/onboard-my-data
Onboard my marketing data

Get a brand's marketing and revenue data into SpendSignal and check it is good enough to model. Use when the user wants to analyse ads, ROAS or budgets and SpendSignal has no data yet.

/weekly-budget-review
Weekly budget review

Turn SpendSignal output into a weekly budget memo: what is working, where to move money, expected impact and risks. Use for "where should I spend", weekly reviews and budget planning.

/incrementality-readout
Incrementality readout

Explain how much each channel really drives versus what ad platforms claim. Use for questions like "is Meta actually working", "why does Google say 8x ROAS" or "what is our true ROAS".

/creative-test-review
Creative test review

Review ad creatives: which to scale, which to pause, and which hooks, formats, creators and offers win. Use for creative performance questions.

/search-hygiene
Search hygiene

Clean up Google Search: wasteful keywords, negative keywords to add, brand vs non-brand spend and dayparting. Use for Google Ads search questions.

/forecast-and-pacing
Forecast and pacing

Forecast revenue for the coming weeks and check budget pacing. Use for month-end, "will we hit target" or "what if we spend more" questions.

/compare-engines
Compare engines

Cross-check SpendSignal's two models before a big decision and explain any disagreement. Use when stakes are high or results look surprising.

Data and security

Recommendations only

No tool can change budgets, bids or ads. Ad platforms are read-only.

Your workspace, your roles

Access follows workspace membership. Viewers can read; analysts and admins can add data and run models.

No credentials in chat

Ad accounts are connected on SpendSignal. API keys are hashed; revoke them or disconnect apps any time.

Audited

Every tool call is logged per workspace (tool, time, outcome) without storing the arguments.