Tool names are what your AI client sees. You can ask in plain English—the client selects and calls the appropriate tool with the account context it has already resolved.
Safety convention: tools marked “Confirm” do not write on the first call. They return a preview and require an explicit second call with confirm=true.
Core & cross-platform
8 toolsget_my_accountsGet connected Meta and Google Ads accounts. Call this first — never ask user for IDs. Returns Meta ad-account ids (act_-prefixed) and Google customer_ids to pass to the other tools.
Readlist_productsList products with internal IDs, for use with product research and competitor tracking tools.
Readlist_competitorsList tracked competitors with internal IDs. account_id from get_my_accounts.
Readget_competitor_adsGet scraped ads for a competitor. competitor_id from list_competitors.
Readscrape_competitor_adsStart async competitor scrape. Returns run_id integer. Poll with get_scrape_status.
Confirmget_scrape_statusPoll scrape job status: pending, running, completed, failed.
Readget_blended_performanceCross-platform blended performance: total ad spend (Meta + Google + Amazon) vs Shopify revenue, with blended MER/ROAS/ACOS. NON-LLM and cheap — safe to call often, unlike a full account analysis. Pass whichever platform ids you already have (account_id/customer_id from get_my_accounts, amazon_profile_id from list_amazon_profiles, shop from list_shopify_stores) — all four are optional. An omitted platform contributes 0 and is reported as not connected in `platforms_connected` rather than failing the whole call. Honesty notes: Amazon spend is ad-attributed only (no SP-API access) — Amazon marketplace sales are NOT included in shopify_revenue or any total-revenue figure here. Spend/revenue are summed with NO currency conversion across platforms — only meaningful when the connected accounts share a currency. See the response's own `notes` field for the caveats that applied to this specific call.
Readget_my_usageThis API key's usage this month: {plan, tier, monthly_limit, units_used_this_month, units_remaining, daily_requests_today, daily_limit}. Call it to check how much of the MCP quota is left and WARN the user before they run out: when units_remaining is low, tell them they are close to their monthly limit and can upgrade at muzecmo.com/pricing (units_remaining/monthly_limit are null for non-MCP / unlimited plans). Cheap read.
ReadMeta Ads
37 toolsget_meta_performanceGet Meta Ads performance metrics (spend, CTR, ROAS, conversions). account_id from get_my_accounts.
Readlist_campaignsList campaigns with IDs, names, status, budget. account_id from get_my_accounts.
Readlist_campaigns_detailedList Meta campaigns with extended fields (delivery, budgets, objective). Heavier than list_campaigns; use when you need per-campaign detail in bulk.
Readget_campaignGet one Meta campaign by ID (status, budget, objective, timing). campaign_id from list_campaigns.
Readget_ad_insightsList stored insight rows for one Meta ad (per-period spend, clicks, conversions).
Readlist_account_adsAll ads for a Meta account with their insight data (the account's working set). Optional date range narrows the analysis window.
Readcompare_meta_performancePeriod-over-period Meta account comparison (this period vs previous). Defaults to month-to-date vs the same span last month; pass custom_start_date/custom_end_date for an arbitrary window.
Readget_meta_last30daysMeta account performance over a rolling 30-day window (yesterday minus 29 days through yesterday). Same shape as compare_meta_performance but one fixed window.
Readget_meta_launch_defaultsRecommended launch settings derived from the account's own live campaigns — objective, optimization, median budget, geo/age, pixel — with a plain-English rationale. Read before creating campaigns.
Readget_meta_launch_statusPoll an async launch started by launch_meta_ad with async_mode=true. Returns processing/completed/failed; results kept ~1 hour.
Readget_meta_datasetsList datasets (pixels + offline event sets) for a Meta Business account. business_id from get_meta_business_info.
Readget_meta_conversion_eventsList conversion events available on a Meta ad account (for choosing optimization events).
Readget_meta_business_infoBusiness account info for the connected Meta user (business IDs, names).
Readget_meta_custom_conversionsList custom conversions defined on a Meta ad account.
Readget_launch_chat_threadToday's launch-plan analysis messages and full chat thread for a Meta account.
Readget_launch_campaigns_with_adsACTIVE Meta campaigns with detailed insights and their ACTIVE ads (the launch-plan working view).
Readpause_adPause a live Meta ad — stops spending immediately. MUST have confirm=True after user explicitly confirms. If confirm=False, ask user first.
Confirmresume_adResume a paused Meta ad — starts spending again. MUST have confirm=True after user explicitly confirms. If confirm=False, ask user first.
Confirmpause_ad_setPause a Meta ad set — stops every ad inside it from spending.
Confirmpause_meta_campaignPause a Meta campaign — stops the whole campaign (all ad sets and ads) from spending.
Confirmupdate_meta_adUpdate a Meta ad's name and/or status (ACTIVE|PAUSED). To restart spend prefer resume_ad; to stop it prefer pause_ad.
Confirmupdate_meta_ad_setUpdate a Meta ad set: name, status, daily_budget and/or bid_amount. daily_budget and bid_amount are in the account currency's MINOR units (e.g. cents: 5000 = $50.00). Budget changes affect spend immediately.
Confirmupdate_meta_campaignUpdate a Meta campaign: name, status and/or daily_budget (CBO campaigns). daily_budget is in the account currency's MINOR units (cents).
Confirmcreate_meta_campaignCreate a Meta campaign — ALWAYS created PAUSED (MCP safety rail; activate later). campaign is the CampaignCreate object: {name, objective (OUTCOME_SALES|OUTCOME_TRAFFIC|...), daily_budget?|lifetime_budget? (minor units), special_ad_categories?}.
Confirmcreate_meta_ad_setCreate a Meta ad set — ALWAYS created PAUSED. ad_set is the AdSetCreate object: {name, campaign_id, optimization_goal, billing_event, daily_budget? (minor units), targeting: {geo_locations,...}, bid_strategy?/bid_amount?}.
Confirmcreate_meta_ad_creativeCreate a Meta ad creative. creative is the AdCreativeCreate object: {name, object_story_spec: {page_id, link_data|video_data}}. Creatives don't spend by themselves.
Confirmcreate_meta_adCreate a Meta ad — ALWAYS created PAUSED. ad is the AdCreate object: {name, adset_id, creative: {creative_id}}.
Confirmcreate_meta_campaign_flowOne-call full funnel: campaign + ad set + creative + ad — every layer ALWAYS created PAUSED. flow is the CompleteCampaignFlowCreate object: {account_id, campaign: CampaignCreate, ad_set: AdSetCreate, creative: AdCreativeCreate, ad: AdCreate}.
Confirmlaunch_meta_adHigh-level Meta launch (Muze's launch flow: builds campaign, ad set, creative and ad from simple inputs) — ALWAYS launched PAUSED via the L5 status field. launch is the LaunchAdCreateParams object: {account_id, title, description, creative_url, landing_url, daily_budget (dollars), objective?, page_id?, async_mode? ...}. Use get_meta_launch_defaults first for sensible values; poll get_meta_launch_status when async_mode=true.
Confirmlaunch_meta_ads_bulkBulk Meta launch — create MANY ads under one campaign + ad set in a single call, ALWAYS launched PAUSED. The top-level status is forced to PAUSED, so every ad in the batch is created paused AND the staging ad set is left paused (nothing spends until activated). launch is the BulkLaunchAdCreateParams object: {account_id, ads: [{title, description?, creative_url?, call_to_action_type?, landing_url?}, ...], landing_url?, daily_budget? (dollars), objective?, page_id?, existing_campaign_id?/existing_adset_id? to reuse an existing campaign/ad set instead of creating new ones}.
Confirmreplace_ad_imageReplace the image on a live Meta ad, keeping all other settings.
Confirmreplace_ad_videoReplace the video on a live Meta ad, keeping all other settings.
Confirmapply_launch_analysis_actionExecute the actions inside a stored launch-plan chat message (pause/scale ad sets) and mark it applied. analysis_id + message_index from get_launch_chat_thread.
Confirmlaunch_plan_pause_adsPause a list of Meta ads. ads_to_pause: [{"ad_id": "..."}, ...].
Confirmlaunch_plan_enable_adsResume (un-pause) a list of Meta ads. ads_to_enable: [{"ad_id": "..."}, ...].
Confirmlaunch_plan_scale_adsetsScale ad set budgets. ads_to_scale: [{"ad_id": "<adset_id>", "new_budget": <MAJOR units, e.g. dollars>}] — note new_budget is in MAJOR currency units here (the route converts to minor units).
Confirmlaunch_plan_update_copyApply ad copy changes. copy_changes: [{"ad_id": "...", "headline"?: str, "description"?: str, "call_to_action"?: str}] — each entry needs ad_id plus at least one field.
ConfirmGoogle Ads
41 toolsget_google_performanceGet Google Ads performance metrics. customer_id from get_my_accounts.
Readlist_google_customersList every Google Ads customer the OAuth grant can access (each item has is_manager — pick a non-manager client account).
Readlist_google_ads_dataAll Google Ads entities for a customer with insights (PMax asset groups + campaign working set).
Readget_google_analysis_statusWhen the account's scheduled analysis last ran and how many campaigns were analyzed vs gated out.
Readlist_remarketing_listsAll open UserLists (remarketing audiences) for the account, ordered by size.
Readlist_merchant_center_linksMerchant Center accounts linked to this Google Ads customer (needed for Shopping/PMax launches).
Readlist_google_conversion_actionsConversion actions defined on the account (for choosing bidding/conversion goals).
Readget_shopping_product_tiersCanonical PMax top-20/bottom-80 product split for the account (days 7-90).
Readlist_google_launch_logsCampaign launch logs for the current user (status filter: success|failed).
Readinspect_google_campaign_adsInspect one Google campaign's ads/asset groups in detail.
Readsearch_geo_targetsSearch Google geo target constants by name (cities, regions, postal codes) for targeting.
Readget_display_placementsPer-placement performance for a Display campaign over the window.
Readget_display_audiencesPer-audience (user_interest / user_list) performance for a Display campaign.
Readlist_demand_gen_audiencesUser lists eligible to seed a Demand Gen lookalike or attach as audience signals.
Readget_video_capabilitiesPreflight: can this customer create Video campaigns? Gate video work on this.
Readlist_video_campaignsVideo campaigns with core video metrics for the window.
Readget_app_campaign_prerequisitesFirebase / MMP link state for the customer — read before attempting App campaign work.
Readcompare_google_performancePeriod-over-period Google account comparison (mirrors compare_meta_performance).
Readgenerate_google_keywordsKeyword ideas from Google's Keyword Planner (live platform data, no LLM). payload example: {"customer_id": "...", "keywords": ["seed one", "seed two"], "page_url"?: "..."}
Readpause_google_campaignPause a Google Ads campaign — stops its spend immediately.
Confirmresume_google_campaignResume a paused Google Ads campaign — it starts spending again.
Confirmapply_google_campaign_actionApply a stored recommendation action to a campaign (budget / target CPA / target ROAS changes). payload example: {"campaign_id": "...", "action": {...}} — the same payload shape the Muze dashboard's apply button sends. Spend changes take effect immediately.
Confirmreplace_google_assetReplace a text/image asset inside a campaign with an improved one. payload example: {"campaign_id": "...", "asset_id": "...", "new_text"?: "...", ...}
Confirmrun_google_adgroup_autopilotExecute Muze's stored ad-group-level autopilot actions now (keyword/bid changes). payload is the executor payload the dashboard sends.
Confirmrun_google_campaign_autopilotExecute Muze's stored campaign-level autopilot actions now (budget/target changes). payload is the executor payload the dashboard sends.
Confirmcreate_demand_gen_lookalikeCreate a Demand Gen lookalike audience from a seed user list. payload: {"seed_user_list_id": "...", "name"?: "...", ...}. Creates an audience only — no campaign, no spend.
Confirmlaunch_google_pmaxLaunch a Performance Max campaign — ALWAYS launched PAUSED (status forced server-side). payload: the same body the Muze launch dialog sends: {campaign_name, daily_budget, final_url, headlines[], long_headlines[], descriptions[], image_urls[], geo targets, bidding_strategy?, merchant_center_id?/feed_label? for shopping-PMax, ...}. Resolve prerequisites first via list_merchant_center_links / list_google_conversion_actions.
Confirmlaunch_google_searchLaunch a Search campaign — ALWAYS launched PAUSED (U7-2 status forced). payload is the LaunchSearchCampaignRequest object: {campaign_name, daily_budget, final_url, keywords[], headlines[], descriptions[], geo_target_constants?, partition_mode?, ...}.
Confirmlaunch_google_shoppingLaunch a Standard Shopping campaign — ALWAYS launched PAUSED (U7-2 status forced). payload is the LaunchShoppingCampaignRequest object: {campaign_name, daily_budget, merchant_center_id, partition_mode ('all'|'branded'), brand_value?, geo_target_constants?, ...}.
Confirmlaunch_google_displayLaunch a Display (responsive display) campaign — ALWAYS launched PAUSED (U7-2 status forced). payload is the LaunchDisplayCampaignRequest object: {campaign_name, budget_amount_micros, business_name, geo_target_constants[], ad_groups[] (each with ads[] carrying headlines/long_headline/descriptions/marketing_images + optional targeting), bidding_strategy?, target_cpa_micros?/target_roas?}.
Confirmlaunch_google_demand_genLaunch a Demand Gen campaign (YouTube Shorts / in-feed / in-stream, Gmail, Discover) — ALWAYS launched PAUSED (U7-2 status forced). payload is the DemandGenLaunchRequest object: {headlines[], long_headlines[], descriptions[], business_name, image_urls{}, budget_amount_micros (>= 300 units/day in micros), youtube_video_urls?[], geo_target_constants?[], bidding_strategy?, lookalike_user_list_ids?/audience_user_list_ids?}.
Confirmlaunch_google_videoLaunch a Video (YouTube) campaign — ALWAYS launched PAUSED (U7-2 status forced). Google Ads cannot upload videos: supply pre-existing YouTube video IDs. payload is the LaunchVideoCampaignRequest object: {campaign_name, campaign_subtype, budget_amount_micros, bidding_strategy, youtube_video_ids[], final_urls[], geo_target_constants?[], ad_groups?[], validate_only?}. Preflight with get_video_capabilities first.
Confirmlaunch_google_appLaunch a Google App (UAC) install campaign — ALWAYS launched PAUSED (U7-2 status forced). Requires Firebase or a linked MMP (check get_app_campaign_prerequisites first — a missing link 422s). payload is the LaunchAppCampaignRequest object: {app_id, app_store (GOOGLE_APP_STORE|APPLE_APP_STORE), daily_budget_micros, headlines[] (>=2), descriptions[] (>=2), image_asset_urls?[]/image_asset_resources?[], video_ids?[], geo_targets?[], target_cpi_micros?, validate_only?}.
Confirmget_google_autopilot_settingsRead the user's Google autopilot settings (whether Muze may auto-apply optimizations).
Readupdate_google_autopilot_settingsUpdate Google autopilot settings. settings is the GoogleAutopilotUpdate object (e.g. {"campaign_autopilot": true, ...}). CAUTION: enabling autopilot authorizes Muze to change budgets/bids autonomously on the daily schedule.
Confirmcreate_google_autopilot_settingsCreate default Google autopilot settings for the user (or one customer).
Confirmlist_merchant_center_accountsMerchant Center accounts connected to the user (for product feeds / Shopping).
Readlist_merchant_center_productsProducts in a Merchant Center account (paginated via page_token).
Readget_merchant_feed_healthFeed health for a Merchant Center account: approved / disapproved product counts and issues.
Readlink_merchant_center_to_adsLink a Merchant Center account to a Google Ads customer (required before Shopping/PMax-shopping launches).
Confirmdisconnect_merchant_centerDisconnect the user's Merchant Center connection from Muze. Does not delete anything on Google; Shopping features in Muze stop working until reconnected.
ConfirmAmazon Ads
48 toolslist_amazon_profilesList the user's connected Amazon Ads profiles (profile_id, marketplace, currency, account type). Call this first to resolve profile_id for the other Amazon tools — never ask the user for it.
Readlist_amazon_campaignsList Amazon Ads campaigns with rolling-period metrics (spend, sales, orders, ACOS, ROAS, CTR, CVR) for one profile. profile_id from list_amazon_profiles. Default period: last 30 days. Honesty note: spend/sales here are AD-ATTRIBUTED only — Muze holds only the advertising::campaign_management Amazon Ads API scope, not SP-API, so there is no Amazon marketplace total-revenue figure on this connection (organic sales are invisible to these numbers).
Readget_amazon_performanceAccount-level Amazon Ads daily performance series (spend, sales, orders, ACOS, ROAS, CTR, CVR per day) for one profile. Default period: last 30 days. Same ad-attributed-only scope caveat as list_amazon_campaigns.
Readlist_amazon_reportsReport-ingest queue rows for a profile (which daily Amazon reports have been requested/ingested).
Readlist_amazon_search_termsPending search-term recommendations for a profile (harvest winners as keywords, block wasters as negatives). Each row has a row_id for apply/dismiss.
Readget_amazon_autopilot_configCurrent Amazon autopilot configuration for a profile (whether Muze may auto-apply search-term and bid actions).
Readlist_amazon_autopilot_actionsAudit log of autopilot actions taken on this profile.
Readlist_amazon_asinsPer-profile ASIN catalog (auto-built from product ads + reports). enriched_only=true filters to rows with title/brand metadata.
Readlist_amazon_portfoliosPortfolios for this profile (Muze's local copy).
Readlist_amazon_budget_schedulesEvent-driven budget boost schedules for this profile (e.g. Prime Day boosts).
Readget_amazon_keyword_suggestionsExpand a seed keyword via Amazon's search-bar completion API (live platform data, no LLM).
Readget_amazon_wizardRead a campaign wizard's current state (draft inputs, stage). wizard_id from start_amazon_campaign_wizard.
Readsync_amazon_profilesRe-discover and sync the user's Amazon Ads profiles from Amazon (refreshes list_amazon_profiles).
Confirmrun_amazon_kickoffRe-run the 4-stage kickoff (entity sync, benchmark snapshot, report submit, ingest) for the user's profiles. Data refresh only — changes nothing on Amazon.
Confirmsubmit_amazon_reportsSubmit yesterday's report requests to Amazon for one profile (results ingest asynchronously).
Confirmsync_amazon_keywordsPull all keywords for this profile from Amazon and upsert locally (data refresh, no Amazon-side change).
Confirmrefresh_amazon_search_termsRecompute search-term recommendations for a period (YYYY-MM-DD bounds). Generates recommendations only — applies nothing.
Confirmdismiss_amazon_search_termDismiss one search-term recommendation (row_id from list_amazon_search_terms). Nothing changes on Amazon.
Confirmapply_amazon_search_termAPPLY one search-term recommendation on Amazon (row_id from list_amazon_search_terms): harvests the term as a keyword or adds it as a negative, per the recommendation. This mutates the live account.
Confirmupdate_amazon_autopilot_configUpdate the Amazon autopilot config for a profile. config is the AmazonAdsAutopilotConfigCreate object. CAUTION: enabling autopilot authorizes Muze to apply search-term/bid actions autonomously.
Confirmrun_amazon_autopilotRun the search-term autopilot once, now, for this profile — applies eligible recommendations to the live account within the configured guardrails.
Confirmrun_amazon_bid_autopilotRun the bid-adjustment autopilot once, now, for this profile — changes live bids within the guardrail clip range (0.65x-1.25x).
Confirmset_amazon_revenue_estimateSet the monthly total-revenue estimate used for TACOS (e.g. "120000"). Muze-side setting only.
Confirmcreate_amazon_budget_scheduleSchedule an event-driven budget boost (e.g. Prime Day): the campaign's daily budget is raised to boosted_daily_budget between starts_at and ends_at (ISO-8601), then reverted. campaign_id is Muze's internal campaign row id from list_amazon_campaigns.
Confirmstart_amazon_campaign_wizardStart a guided campaign-creation wizard for a profile. inputs is the WizardStartRequest object (campaign type, ASINs, budget, ...). The wizard only stores state — nothing is created on Amazon until its launch step, which is NOT exposed over MCP yet (created-paused enforcement pending).
Confirmsave_amazon_wizard_draftUpdate a wizard's draft inputs. draft is the WizardSaveDraftRequest object.
Confirmtransition_amazon_wizardMove a wizard to a new state (draft → configured → ready, ...). transition is the WizardTransitionRequest object. State change only; creates nothing on Amazon.
Confirmcancel_amazon_wizardCancel a wizard run (terminal). Nothing on Amazon is touched.
Confirmdisconnect_amazonRevoke Muze's stored Amazon Ads credentials for this user. Amazon campaigns keep running; Muze loses access until reconnected.
Confirmcreate_amazon_auto_campaignCreate a Sponsored Products AUTO-targeting campaign. `campaign` is the create body (name, daily_budget, start_date, ...). Created PAUSED — it will not spend until you enable it (set_amazon_campaign_state).
Confirmcreate_amazon_manual_campaignCreate a Sponsored Products MANUAL-targeting campaign. `campaign` is the create body. Created PAUSED — it will not spend until enabled.
Confirmset_amazon_campaign_statePause or resume a campaign. state is PAUSED or ENABLED — pausing stops spend, enabling resumes it. campaign_id is the Amazon campaign id.
Confirmupdate_amazon_campaign_budgetUpdate a campaign's daily budget. daily_budget is the new amount as a string (e.g. '25.00'). campaign_id is the Amazon campaign id.
Confirmarchive_amazon_campaignArchive a campaign. IRREVERSIBLE on Amazon — an archived campaign cannot be un-archived. To merely stop spend, use set_amazon_campaign_state with PAUSED instead.
Confirmcreate_amazon_ad_groupCreate an ad group under a campaign. `ad_group` is the create body (campaign_id, name, default_bid). Created PAUSED.
Confirmupdate_amazon_ad_group_bidUpdate an ad group's default bid (applies to targets without their own bid). default_bid is a string (e.g. '0.75').
Confirmarchive_amazon_ad_groupArchive an ad group. IRREVERSIBLE on Amazon.
Confirmcreate_amazon_product_adsCreate one product ad per ASIN and per SKU in an ad group. `product_ads` is the create body (campaign_id, ad_group_id, asins, skus). Created PAUSED.
Confirmupdate_amazon_auto_target_bidUpdate the bid on an Amazon-created auto target. target_id from the ad group's auto targets. bid is a string (e.g. '0.80').
Confirmcreate_amazon_keywordsBatch-create keyword targets in an ad group. `keywords` is the create body (campaign_id, ad_group_id, keywords[{keyword_text, match_type, bid}]). Created PAUSED.
Confirmcreate_amazon_keywordCreate a single keyword target. `keyword` is the create body (campaign_id, ad_group_id, keyword_text, match_type, bid). Created PAUSED.
Confirmupdate_amazon_keyword_bidUpdate a keyword's bid. keyword_id is the Amazon keyword id. bid is a string (e.g. '0.90').
Confirmcreate_amazon_negative_keywordsBatch-create ad-group negative keywords (exclusions). `negatives` is the create body (campaign_id, ad_group_id, negative_keywords[{keyword_text, match_type}]). match_type is negativeExact or negativePhrase. Created ENABLED so the exclusion is active immediately.
Confirmcreate_amazon_negative_keywordCreate a single ad-group negative keyword (exclusion). `negative` is the create body (campaign_id, ad_group_id, keyword_text, match_type). Created ENABLED.
Confirmcreate_amazon_product_targetsBatch-create manual product targets in an ad group. `targets` is the create body (campaign_id, ad_group_id, targets[{expression[{type, value}], bid}]). Created PAUSED.
Confirmupdate_amazon_product_target_bidUpdate a manual product target's bid. target_id is the Amazon target id. bid is a string (e.g. '0.85').
Confirmcreate_amazon_negative_product_targetsBatch-create negative product targets (ASIN/brand exclusions). `negatives` is the create body (campaign_id, ad_group_id, negative_targets[{expression[{type, value}]}]). Created ENABLED so the exclusion is active.
Confirmlaunch_amazon_wizardExecute a READY campaign wizard's Amazon mutation chain (creates the campaign, ad group, product ads and targets). Over MCP the launch is ALWAYS forced PAUSED — every created entity lands PAUSED so nothing spends until you enable it. wizard_id from start_amazon_campaign_wizard.
ConfirmShopify
15 toolslist_shopify_storesList the user's connected Shopify stores (domain, subscription status). Call this first to resolve `shop` for the other Shopify tools — never ask the user for their store domain.
Readget_shopify_revenueShopify order revenue for the trailing period_days, summed by currency. shop from list_shopify_stores. `revenue`/`currency` are null (not a fabricated number) when the store transacted in more than one currency in the window — read `revenue_by_currency` for the real per-currency breakdown in that case.
Readlist_shopify_productsTop products summary (by sales + inventory) for a Shopify store. shop from list_shopify_stores.
Readget_shopify_productsFull product list for a store, paginated (limit 1-250; pass the returned page_info to get the next page).
Readget_shopify_ordersOrders for a store, paginated (limit 1-250; pass the returned page_info for the next page).
Readget_shopify_shop_infoStore metadata (name, domain, plan, currency, timezone).
Readget_shopify_planThe user's current Muze subscription state as seen through Shopify billing.
Readget_top_productsTop products list for a shop (sales-ranked, from Muze's product intelligence store).
Readget_product_generation_historyHistory of creative generations for a shop's products.
Readget_shopify_sync_statusStatus of the latest Shopify catalog/orders sync for a shop.
Readget_shopify_feedActive Shopify-agent cards for one shop (inventory/pricing/product alerts), ordered by urgency.
Readget_shopify_cards_historyHistorical Shopify-agent cards for a shop over the window.
Readget_shopify_diagnosticsSync health for a shop: catalog row count, orders row count, webhook state.
Readstart_shopify_syncKick off a background catalog+orders sync. Omit shop to sync every connected store. Data refresh only — changes nothing in Shopify.
Confirmapply_shopify_card_actionApply / dismiss / acknowledge an action on a Shopify-agent card. card_id from get_shopify_feed; action_key is the card's primary or secondary action key. Some actions modify the store (e.g. price updates).
Confirm