MCP Tools Changelog

Every customer-visible change to the Attribution MCP tools — new tools, new or changed parameters, changed output — newest first, dated by release.

This page records every change to the Attribution MCP tools that you or your AI assistant could notice: a tool added or removed, a parameter added or changed, output that looks different, a fix to numbers that were wrong. Entries are grouped by the date the change reached production, newest first, and each one names the tool it affects. Each entry is marked with the tool's availability today: (available) for tools on the MCP Tools page, whether included with MCP access or enabled on request; (preview) for tools still in testing and not enabled for customer projects; and (experimental) for tools that are not yet verified and may return an error on every call.

For what each tool does today, see MCP Tools. For connecting an assistant, see Attribution MCP Server.

Unreleased

  • get_dashboard_report, get_dashboard_comparison, get_first_time_purchasers_report (available) — Changed: channels and filters hidden on the saved view are no longer left out of the report rows. Hiding a row on the dashboard is a display choice, so the rows now add up to the Total, and the assistant can scope a report to a hidden channel by its ID instead of being told the ID was ignored.
  • get_timeframe_report (preview) — Changed: the same; hidden channels and filters now appear in the rows.
  • list_project_views (available) — Changed: the hidden filter and hidden channel lists are no longer part of the response, which is much smaller on views that hide many rows. Every setting a report inherits is still there.
  • get_filter_errors (preview) — Fixed and Changed: the tool had been calling an endpoint that does not exist and returned an error on every call. It works again and now returns the errors grouped by problem summary, with the filter, integration, last failure time, message and an ads-manager link where available. The since parameter is gone; the list is not paginated, so narrow it by integration, filter or date range instead.
  • whoami (available) — Changed: the session state block no longer lists active report IDs. The server no longer tracks in-flight reports per session; nothing else in the output changed.
  • get_project_api_key, get_integration (experimental) — Changed: marked experimental. Each calls an endpoint that does not exist, so every call returns an error. They stay documented while we decide whether to repair or remove them; do not build on them.
  • get_all_visits, get_all_conversions, get_raw_conversions, get_raw_revenues (preview) — Fixed: these tools had been calling reporting endpoints that no longer exist and returned an error on every call. They work again and list individual visits, conversions and revenue events, newest first, with since paging by the last row's time.
  • get_filtered_visits, get_filtered_conversions (preview) — Fixed and Changed: the tools work again and now take filter_ids or filter_group_ids (one is required) to choose the channel, which the preview version could not do.
  • get_revenues (preview) — Fixed: amounts and times rendered blank. Rows now show the amount, time and attributed filter, and the first page adds By Event and By Day tables.
  • get_conversion_overlap (preview) — Fixed and Changed: the tool always answered that there was no overlap. It now takes filter_ids or filter_group_ids (one is required) for the channel to measure against and lists the filters that share converting visitors with it.
  • get_project_context (available) — Fixed and Changed: the view marked (default) was whichever view happened to be listed first, and the Default View Settings block described that view. The list now marks the view you last selected in the dashboard as (current), and the settings block is headed Current View Settings with that view's name and ID, so the assistant can pass the right view_id to report tools.
  • get_company (preview) — Fixed: the Visitors table showed blank IDs.
  • get_visitor (preview) — Fixed: the tool reported every visitor as not found. It returns the profile again.
  • search_visitors (preview) — Fixed: the Visitor ID and Time columns were blank, so the assistant could not continue to get_visitor.
  • get_project_context (available) — Changed: the revenue group catalog now lists All Revenue with ID -1, next to Conversion Event (0) and your own groups, and the current view's revenue group always shows its ID, including when it is All Revenue.
  • request_report (preview) — Changed: revenue_group_id accepts -1 to run a report on All Revenue, even when the saved view uses another group. Before, All Revenue could only be reached by omitting the parameter, which fell back to the view's group.

2026-09-16

  • get_dashboard_report, get_dashboard_comparison, get_cohort_report, get_first_time_purchasers_report (available) — Fixed: the link at the top of each report opened an internal preview host rather than your dashboard. It now opens the same report on your Attribution dashboard.
  • request_report (preview) — Fixed: the same; the link returned with the report now points at your dashboard.

2026-09-11

  • Documentation — Published a full reference entry for every tool: what it does, an example question, parameters, and what comes back. This changelog starts with a catch-up of the changes released since July 2026.

2026-09-10

  • whoami (available) — Added. A session tool, always available, that reports which account and project your assistant is connected to, the scopes it was granted, when its access token expires, and the exact list of tools it can currently see. Ask for it when a tool you expect seems to be missing.

2026-09-09

  • All report tools — Changed: a parameter the tool does not support is now rejected with an error naming it, instead of being silently ignored. Previously a misspelled parameter could run the report on the view's saved setting while the assistant believed its override had applied.
  • All report tools — Fixed: reports now apply every filter and every channel excluded on the saved view, matching your dashboard. Previously only the first excluded filter was applied and excluded channels were not applied at all, so projects with exclusions could see traffic the dashboard hides.
  • get_cohort_report, get_first_time_purchasers_report (available) — Changed: the saved view's aggregation period is now honored when no period is passed, the way the dashboard does it. Precedence is an explicit parameter, then the view, then the tool's default.
  • get_timeframe_report, get_channel_performance_report (preview) — Changed: the same aggregation-period precedence applies here.
  • get_timeframe_report (preview) — Fixed: the report showed every metric as zero and no time breakdown. It now returns a Summary, a By Channel table and one period table per channel, keeps the view's conversion event, and aggregates wide windows more coarsely (Day becomes Week past 100 days, anything finer than Month becomes Month past 385 days) with a note when that happens.
  • get_channel_performance_report (preview) — Fixed: the report always answered "No data found". It now returns spend, revenue, ROAS and profit per channel and per period, with a Summary block. It carries no visits or conversions; use get_dashboard_report for those.
  • get_cohort_report (available) — Fixed: cohort rows and age columns are labelled with the period the report actually ran with, instead of always "Month".
  • get_first_time_purchasers_report (available) — Changed: the report is refused up front, with an explanation, on a view that filters by an event property, because it cannot be computed for such views. Previously it failed silently in the background.
  • request_report (preview) — Changed: the report type is now a fixed list of nine; event names are matched case-insensitively; date_preset and the view's saved date range are accepted instead of requiring explicit dates; the aggregation period is routed to the key each report type reads and supplied when required, so time_period and first_time_purchasers requests no longer fail in the background; unsupported combinations (wrong period key, request-time filtering on report types that cannot take it, an unknown revenue group) are refused with an explanation; the response echoes the resolved window, period and scope.
  • download_report (preview) — Changed: money is returned in major units with the currency stamped on the response; abbreviated metric keys are expanded to full names; a payload with no report carries a note explaining why; a server error on the download route is retried once; large payloads keep totals and the period legend even when cut off.
  • download_report_csv (preview) — Changed: takes only report_id and checks that the report is ready before downloading. Previously an unfinished report printed an all-zero sheet. Dashboard reports only.
  • Server — Changed: rate-limit and session-cap rejections are returned as structured errors your assistant can read, with the retry delay in both the Retry-After header and the message.

2026-08-05

  • get_paths_report (available) — Added. Aggregated conversion paths, the dashboard's Common Paths view: a Summary block plus one row per journey pattern with conversions, share, revenue, average time to conversion and the touchpoint sequence. Supports channel or filter granularity, collapsing repeated touchpoints, path search, and an optional journey-flow diagram.
  • get_first_time_purchasers_report (available) — Changed: the report now breaks each top-level channel down by period in a single table per channel, and leaves out periods with no activity.
  • All report tools — Fixed: a view with a hand-picked saved date range was silently reported as the last 30 days when no dates were given. The saved range is now used. When a date preset cannot be resolved, the report falls back to the last 30 days and says so in the output.

2026-07-21

  • Report tools that accept filter_ids / filter_group_ids (preview) — Fixed: scoping now returns the requested channel's rows (the channel, its sub-filters, and parent rows for context) instead of every row in the project. IDs that do not resolve are called out in the output, and the call errors instead of running unscoped when none resolve.

2026-07-02

  • All tools — Changed: assistants connected to Attribution are now held to a stricter floor — never state a figure that did not come from a tool response, and flag before a high-stakes recommendation that Attribution warrants the data it returns, not the conclusions drawn from it.
  • Server — Fixed: access tokens are now issued for the server's canonical address, so clients that verify the token audience connect without error.

2026-06-16

  • get_cohort_report (available) — Changed: renders the cohort matrix properly — one row per acquisition cohort with revenue accumulating across the age columns — and can be scoped to a single channel or filter.
  • get_dashboard_comparison (available) — Changed: both date ranges are validated up front and refused with an explanation when they cannot be used, and the output now says when a date preset could not be resolved and a fallback range was used instead.

2026-06-10

  • get_dashboard_comparison (available) — Added. Compares two periods side by side and returns the change per channel in both dollars and percent, with the biggest gains and drops called out. Ask for it whenever the question is "versus last month" rather than "how did we do".
  • logout (available) — Added. Ends your assistant's Attribution session on request.
  • get_dashboard_report (available) — Changed: the report now opens with a Summary block, carries a ROAS column, and can be scoped to particular channels or filters.
  • All tools — Changed: the set of tools an assistant sees is now decided per project, so a project advertises only the tools available to it.

2026-05-18

  • All report tools — Changed: a report call now takes a saved view plus a small set of overrides — conversion event, attribution model, and the date range. Everything else, including attribution type, lookback window, traffic option, cutoff event and revenue group, is read from the view, so a view id on its own reproduces exactly what that view shows in the dashboard.

2026-04-29

  • Report tools that return a dashboard link — Fixed: the link handed back with a report now uses the same report key as the dashboard, and a channel performance link carries all three of the reports its page draws, so the page opens complete instead of partly empty. Path reports no longer return a link, having no dashboard page to open.

2026-04-22

  • authenticate (preview) — Removed. Connecting is now a standard OAuth flow your MCP client runs on its own; there is no tool to call first.
  • Server — Changed: the server requests a narrower set of OAuth scopes.

2026-04-02

  • log_report_issue (available) — Added. Reports a problem with a report's numbers back to Attribution from inside the conversation.

2026-04-01

  • get_cohort_report, get_first_time_purchasers_report (available) — Added. Revenue accumulation by acquisition cohort, and a first-time-purchaser view of conversions and revenue.
  • list_attribution_models (available) — Added. Lists the attribution models a report can be run with.
  • get_timeframe_report, get_channel_performance_report (preview) — Added. Metrics over time, and spend, revenue and ROAS per channel and period.
  • download_report_csv, get_individual_paths, get_aggregated_paths_csv, get_individual_paths_csv (preview) — Added. CSV downloads and individual conversion journeys.
  • get_event_properties, get_event_names_properties, get_event_property_values, get_filtered_properties, get_filtered_property_values, get_visitor_traits_keys (preview) — Added. Browsing the event properties and visitor traits a project has collected.
  • get_integration_logs, get_conversion_overlap, get_visit_events, get_company_visit_events (preview) — Added. Integration delivery logs, conversion overlap between channels, and raw event streams for a visitor or company.
  • get_integration, get_filter_errors, get_raw_conversions, get_raw_revenues (experimental) — Added. Integration detail, filter errors, and raw conversion and revenue records.

2026-03-31

  • Initial release. The first Attribution MCP server, with thirty-six tools.
  • get_dashboard_report (available) — Added. The marketing P&L by channel, and the tool most questions route to.
  • get_project_context, list_project_views (available) — Added. Project orientation: saved views, conversion events and the channel tree in one call.
  • get_filter_tree, get_filter_tree_markdown, list_event_names (available) — Added. The channel hierarchy and the project's event names.
  • request_report, get_report_status, get_reports_status, download_report, get_refresh_status (preview) — Added. The low-level report chain, for report types the high-level tools do not cover.
  • get_project, get_usage (preview) — Added. Project and account details.
  • get_filter, search_filters, list_filter_groups, get_filter_spend, get_filter_group_spend, get_filter_errors_summary (preview) — Added. Filter lookup and spend per channel.
  • get_revenues, get_revenue_cohort, get_conversion_paths, inspect_offline_conversions, get_visitor_conv_rev_report (preview) — Added. Revenue records, conversion paths and offline conversion inspection.
  • search_visitors, get_visitor, get_visitor_history, search_companies, get_company, get_company_history (preview) — Added. Individual visitor and company lookup.
  • get_all_visits, get_filtered_visits, get_all_conversions, get_filtered_conversions, get_project_api_key (experimental) — Added. Visit and conversion records, and the project API key.
  • authenticate (preview) — Added. A browser sign-in flow, replaced by standard OAuth on 2026-04-22.