Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "get_connector_data"
⟨586 unchanged words⟩ ,"likeCount"],"type":"string"},"page":{"description":"For google-search-console top_queries: only the search terms that led to ONE page. A path such as '/collections/cross-stitch' matches that page exactly (not '/collections/cross-stitch-kits'); a full URL matches exactly.","type":"string"},"periodType":{"description":"For triple-whale: shorthand ⟨318 unchanged words⟩
Changed the definition of "complete_intervention" and "set_intervention"
⟨47 unchanged words⟩ flags whether each metric met its expected delta.ItGoogledoesAdsNOT(sourcecapture'google-ads', from synced stats) and Triple Whale (source 'tw', live fromsourceTriple—Whale for the exact window) metrics are measured automatically: the post side runs from the day after the change to yesterday, and a missing or misaligned baseline is recomputed for the 28 days before. Pass campaignId to scope a record's Google Ads metrics to one campaign. Other sources are NOT captured live, so if you haven't recorded post-fix snapshots yet ⟨52 unchanged words⟩
{"properties":{"campaignId":{"description":"Google Ads: measure this record's google-ads tracked metrics on this one campaign instead of the whole account (for fixes logged before campaign-level tracking).","type":"string"},"Changed the definition of "get_connector_data"
⟨284 unchanged words⟩ by_campaign_type, by_device, by_network, change_history, search_terms, ads, ad_groups, keywords, impression_share, campaign_settings, shopping_products, conversion_reconciliation. Detail: get_help( ⟨238 unchanged words⟩
⟨9 unchanged words⟩ 0).","type":"integer"},"adGroupId":{"description":"For google-ads ads and keywords: restrict to one ad group (e.g. to compare the responsive search ads inside it). Ad group ids come from report:'ad_groups'.","type":"string"},"attributionModel":{"description":"For triple-whale attributions/by_channel/product_attribution: ⟨77 unchanged words⟩ account's; on change_history it returns only that campaign'sedits.edits; on ads, ad_groups and keywords it filters server-side. Other reports cover the whole account and say
Changed the definition of "get_connector_data"
⟨87 unchanged words⟩ figure are that campaign's rather than the wholeaccount's.account's; on change_history it returns only that campaign's edits. Other reports cover the whole account and say so in _campaignIdIgnored.","type":"string"},"category":{ ⟨755 unchanged words⟩
Changed the definition of "ask_moby", "complete_intervention", "get_abandoned_checkouts" and 63 more
before
—after
Ask Triple Whale's Mobybefore
—after
{"idempotentHint":true,"openWorldHint":true,"readOnlyHint":true,"title":"Ask Triple Whale's Moby"}before
—Close a fix with its result
Changed the definition of "query_orders"
⟨38 unchanged words⟩ ":{"description":"Maximum order total indollarsthe store currency, major units","type":"number"},"minTotal":{"description":"Minimum order total indollarsthe store currency, major units (e.g. 3000 = £3,000 on a GBP store)","type":"number"},"offset":{ ⟨123 unchanged words⟩
Changed the definition of "get_connector_data" and "get_velocity"
⟨144 unchanged words⟩ "gorgias" — customer support. Reports: summary, daily (tickets per day, for lining up with refunds/orders/campaigns), tickets, by_channel, satisfaction, top_tags. Detail: get_help( ⟨368 unchanged words⟩
⟨56 unchanged words⟩ ,"filter":{"description":"For by_product:filter.filter by stock status. atRisk = under 7 days of cover; overstocked = over 90 days of cover or stock with no sales; outOfStock = no sellable stock.","enum":["all","atRisk"," ⟨117 unchanged words⟩ ":{"description":"For by_product: sort field.
Added "update_intervention"; changed the definition of "set_intervention" (65 tools before, 66 now)
⟨343 unchanged words⟩ ux_improvement","other"],"type":"string"},"watch":{"description":"Optional threshold watch evaluated on every get_briefing, so a breach SURFACES rather than being recomputed by hand each time. Shape: {metric:'orders'|'revenue', windowDays: 1-90, op:'lt'|'lte'|'gt'|'gte', threshold: number, note?: string}, e.g. {metric:'orders', windowDays:3, op:'lt', threshold:55}. Windows cover COMPLETE days only; an unsupported metric is rejected here rather than silently never firing.","type":"object"}},"required":["type","description"],"type":"object"}
TRIGGER: Call WITHOUT asking when an existing intervention's details need correcting — a check date that should move, a note to add, a hypothesis to sharpen, or a threshold watch to attach. Interventions could previously only be created and closed, so a wrong check date stayed wrong and surfaced as due on the wrong day; closing and re-creating is NOT a workaround, because it discards the captured baseline snapshots and the applied date. NOTES APPEND by default with a date stamp, since corrections accumulate — pass notesMode:'replace' only to deliberately overwrite. Verdict and status are not …
Changed the definition of "get_connector_data"
⟨275 unchanged words⟩ by_campaign_type, by_device, by_network, change_history, search_terms,impression_share.impression_share, campaign_settings, shopping_products, conversion_reconciliation. Detail: get_help("google_ads"). • connector: ⟨234 unchanged words⟩
⟨42 unchanged words⟩ omitted).","type":"string"},"campaignId":{"description":"For google-ads: restrict to one campaign. On campaign_settings it fetches just that campaign and expands its negative keyword text (one campaign is a bounded payload); on search_terms it filters the terms server-side, so the top-N and the spend-coverage figure are that campaign's rather than the whole account's.","type":"string"},"category":{"description":"For triple-whale summary: ⟨207 unchanged words⟩ post_purchase_survey_submitted).","type":"string"},"expandNegatives":{"description":"For google-ads campaign_settings: include negative keyword TEXT as well as counts. Off by default because one campaign's negatives can fill the whole response; implied when campaignId is set.","type":"boolean"},"
Changed the definition of "get_connector_data"
⟨273 unchanged words⟩ campaigns, daily, by_campaign_type, by_device, by_network,change_history.change_history, search_terms, impression_share. Detail: get_help("google_ads"). • connector: ⟨234 unchanged words⟩
⟨326 unchanged words⟩ , smile (top_members), swish (top_products),woocommerce.woocommerce, google-ads (search_terms — terms per account, default 200, max 1000).","type":"integer"},"maxScore":{ ⟨358 unchanged words⟩
Certificate recorded, valid to 2026-11-21
Authorization not required
First tool surface recorded: 65 tools (server version 1.0.0)
Showing the latest 13 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨303 unchanged words⟩ source:'ga4'}] (explicit dimensions per metric). Google Ads metrics (ad_spend, cpa, roas, cpc, cpm, ctr with source:'google-ads') and Triple Whale metrics (revenue, orders, aov, pixel_cvr, visitors, ad_spend, roas, cpa with source:'tw') are computed from the source over the 28 days before appliedAt; add campaignId to measure ONE campaign rather than the store's whole account, e.g. {metric:'cpa',campaignId:'24313387832'}. A campaign that didn't run before the change (new) has no baseline and is judged on its post figure.","items":{"oneOf":[{"type":"string"},{"properties":{"campaignId":{"description":"Google Ads only: measure this one campaign.","type":"string"},"metric":{"type":"string"},"segment ⟨93 unchanged words⟩
before
—after
{"destructiveHint":true,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Close a fix with its result"}before
—after
Abandoned checkoutsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Abandoned checkouts"}before
—after
Google Analytics trafficbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Google Analytics traffic"}before
—after
Find unusual metric movesbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Find unusual metric moves"}before
—after
Session briefingbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Session briefing"}before
—after
Campaign impactbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Campaign impact"}before
—after
Products bought togetherbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Products bought together"}before
—after
Collectionsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Collections"}before
—after
Business overview across all sourcesbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Business overview across all sources"}before
—after
Data from a connected appbefore
—after
{"idempotentHint":true,"openWorldHint":true,"readOnlyHint":true,"title":"Data from a connected app"}before
—after
Customer retention and lifetime valuebefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Customer retention and lifetime value"}before
—after
Customer segments and listsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Customer segments and lists"}before
—after
Daily metricsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Daily metrics"}before
—after
List connected data sourcesbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List connected data sources"}before
—after
Discount code analysisbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Discount code analysis"}before
—after
Weekly focus planbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Weekly focus plan"}before
—after
Forecast revenue or ordersbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Forecast revenue or orders"}before
—after
Google Analytics breakdownsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Google Analytics breakdowns"}before
—after
Google Analytics funnelbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Google Analytics funnel"}before
—after
Help and metric definitionsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Help and metric definitions"}before
—after
Saved insightsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Saved insights"}before
—after
Logged fixes and outcomesbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Logged fixes and outcomes"}before
—after
Inventory levelsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Inventory levels"}before
—after
Marketing performance and checkout funnelbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Marketing performance and checkout funnel"}before
—after
Shopify Markets performancebefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Shopify Markets performance"}before
—after
Compare metrics between periodsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Compare metrics between periods"}before
—after
Compare metrics across several periodsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Compare metrics across several periods"}before
—after
Look up an orderbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Look up an order"}before
—after
Order analyticsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Order analytics"}before
—after
Product sales analyticsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Product sales analytics"}before
—after
Product catalogbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Product catalog"}before
—after
Product health checkbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Product health check"}before
—after
Products by sales channelbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Products by sales channel"}before
—after
Search queries by landing pagebefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Search queries by landing page"}before
—after
Refund analysisbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Refund analysis"}before
—after
Explain a revenue changebefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Explain a revenue change"}before
—after
Product reviewsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Product reviews"}before
—after
Reconcile ad spend across sourcesbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Reconcile ad spend across sources"}before
—after
Store notesbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Store notes"}before
—after
Store profilebefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Store profile"}before
—after
Store summarybefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Store summary"}before
—after
Check data sync healthbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Check data sync health"}before
—after
Get metric targetsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Get metric targets"}before
—after
Store event timelinebefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Store event timeline"}before
—after
Top products and category marginsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Top products and category margins"}before
—after
Sales velocity and restock needsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Sales velocity and restock needs"}before
—after
Run a scheduled analysisbefore
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Run a scheduled analysis"}before
—after
List scheduled analysesbefore
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"List scheduled analyses"}before
—after
Weekly trendsbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Weekly trends"}before
—after
Year-over-year by monthbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Year-over-year by month"}before
—after
Metric snapshot historybefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Metric snapshot history"}before
—after
Search ordersbefore
—after
{"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Search orders"}before
—after
Record a metric snapshotbefore
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Record a metric snapshot"}before
—after
Report a concernbefore
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Report a concern"}before
—after
Report a data issuebefore
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Report a data issue"}before
—after
Save the focus planbefore
—after
{"destructiveHint":true,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Save the focus plan"}before
—after
Save insightsbefore
—after
{"destructiveHint":true,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Save insights"}before
—after
Save a store notebefore
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Save a store note"}before
—after
Save a metric targetbefore
—after
{"destructiveHint":true,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Save a metric target"}before
—after
Schedule a follow-up analysisbefore
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Schedule a follow-up analysis"}before
—after
Log a fix or changebefore
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Log a fix or change"}before
—after
Update a focus plan itembefore
—after
{"destructiveHint":true,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Update a focus plan item"}before
—after
Update an insightbefore
—after
{"destructiveHint":true,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Update an insight"}before
—after
Edit a logged fixbefore
—after
{"destructiveHint":true,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Edit a logged fix"}before
—after
Update the store profilebefore
—after
{"destructiveHint":true,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Update the store profile"}