Muze AI
PlatformMuze MCPLiteResultsPricingTalk to SalesStart free trial

Tool reference

150+ tools. One operator.

Search the Muze MCP surface by platform, tool name, job, or access type. Read tools inspect live data; write tools preview the change and wait for confirmation.

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 tools
get_my_accounts

Get 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.

Read
list_products

List products with internal IDs, for use with product research and competitor tracking tools.

Read
list_competitors

List tracked competitors with internal IDs. account_id from get_my_accounts.

Read
get_competitor_ads

Get scraped ads for a competitor. competitor_id from list_competitors.

Read
scrape_competitor_ads

Start async competitor scrape. Returns run_id integer. Poll with get_scrape_status.

Confirm
get_scrape_status

Poll scrape job status: pending, running, completed, failed.

Read
get_blended_performance

Cross-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.

Read
get_my_usage

This 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.

Read

Meta Ads

37 tools
get_meta_performance

Get Meta Ads performance metrics (spend, CTR, ROAS, conversions). account_id from get_my_accounts.

Read
list_campaigns

List campaigns with IDs, names, status, budget. account_id from get_my_accounts.

Read
list_campaigns_detailed

List Meta campaigns with extended fields (delivery, budgets, objective). Heavier than list_campaigns; use when you need per-campaign detail in bulk.

Read
get_campaign

Get one Meta campaign by ID (status, budget, objective, timing). campaign_id from list_campaigns.

Read
get_ad_insights

List stored insight rows for one Meta ad (per-period spend, clicks, conversions).

Read
list_account_ads

All ads for a Meta account with their insight data (the account's working set). Optional date range narrows the analysis window.

Read
compare_meta_performance

Period-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.

Read
get_meta_last30days

Meta account performance over a rolling 30-day window (yesterday minus 29 days through yesterday). Same shape as compare_meta_performance but one fixed window.

Read
get_meta_launch_defaults

Recommended 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.

Read
get_meta_launch_status

Poll an async launch started by launch_meta_ad with async_mode=true. Returns processing/completed/failed; results kept ~1 hour.

Read
get_meta_datasets

List datasets (pixels + offline event sets) for a Meta Business account. business_id from get_meta_business_info.

Read
get_meta_conversion_events

List conversion events available on a Meta ad account (for choosing optimization events).

Read
get_meta_business_info

Business account info for the connected Meta user (business IDs, names).

Read
get_meta_custom_conversions

List custom conversions defined on a Meta ad account.

Read
get_launch_chat_thread

Today's launch-plan analysis messages and full chat thread for a Meta account.

Read
get_launch_campaigns_with_ads

ACTIVE Meta campaigns with detailed insights and their ACTIVE ads (the launch-plan working view).

Read
pause_ad

Pause a live Meta ad — stops spending immediately. MUST have confirm=True after user explicitly confirms. If confirm=False, ask user first.

Confirm
resume_ad

Resume a paused Meta ad — starts spending again. MUST have confirm=True after user explicitly confirms. If confirm=False, ask user first.

Confirm
pause_ad_set

Pause a Meta ad set — stops every ad inside it from spending.

Confirm
pause_meta_campaign

Pause a Meta campaign — stops the whole campaign (all ad sets and ads) from spending.

Confirm
update_meta_ad

Update a Meta ad's name and/or status (ACTIVE|PAUSED). To restart spend prefer resume_ad; to stop it prefer pause_ad.

Confirm
update_meta_ad_set

Update 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.

Confirm
update_meta_campaign

Update a Meta campaign: name, status and/or daily_budget (CBO campaigns). daily_budget is in the account currency's MINOR units (cents).

Confirm
create_meta_campaign

Create 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?}.

Confirm
create_meta_ad_set

Create 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?}.

Confirm
create_meta_ad_creative

Create 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.

Confirm
create_meta_ad

Create a Meta ad — ALWAYS created PAUSED. ad is the AdCreate object: {name, adset_id, creative: {creative_id}}.

Confirm
create_meta_campaign_flow

One-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}.

Confirm
launch_meta_ad

High-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.

Confirm
launch_meta_ads_bulk

Bulk 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}.

Confirm
replace_ad_image

Replace the image on a live Meta ad, keeping all other settings.

Confirm
replace_ad_video

Replace the video on a live Meta ad, keeping all other settings.

Confirm
apply_launch_analysis_action

Execute 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.

Confirm
launch_plan_pause_ads

Pause a list of Meta ads. ads_to_pause: [{"ad_id": "..."}, ...].

Confirm
launch_plan_enable_ads

Resume (un-pause) a list of Meta ads. ads_to_enable: [{"ad_id": "..."}, ...].

Confirm
launch_plan_scale_adsets

Scale 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).

Confirm
launch_plan_update_copy

Apply 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.

Confirm

Google Ads

41 tools
get_google_performance

Get Google Ads performance metrics. customer_id from get_my_accounts.

Read
list_google_customers

List every Google Ads customer the OAuth grant can access (each item has is_manager — pick a non-manager client account).

Read
list_google_ads_data

All Google Ads entities for a customer with insights (PMax asset groups + campaign working set).

Read
get_google_analysis_status

When the account's scheduled analysis last ran and how many campaigns were analyzed vs gated out.

Read
list_remarketing_lists

All open UserLists (remarketing audiences) for the account, ordered by size.

Read
list_merchant_center_links

Merchant Center accounts linked to this Google Ads customer (needed for Shopping/PMax launches).

Read
list_google_conversion_actions

Conversion actions defined on the account (for choosing bidding/conversion goals).

Read
get_shopping_product_tiers

Canonical PMax top-20/bottom-80 product split for the account (days 7-90).

Read
list_google_launch_logs

Campaign launch logs for the current user (status filter: success|failed).

Read
inspect_google_campaign_ads

Inspect one Google campaign's ads/asset groups in detail.

Read
search_geo_targets

Search Google geo target constants by name (cities, regions, postal codes) for targeting.

Read
get_display_placements

Per-placement performance for a Display campaign over the window.

Read
get_display_audiences

Per-audience (user_interest / user_list) performance for a Display campaign.

Read
list_demand_gen_audiences

User lists eligible to seed a Demand Gen lookalike or attach as audience signals.

Read
get_video_capabilities

Preflight: can this customer create Video campaigns? Gate video work on this.

Read
list_video_campaigns

Video campaigns with core video metrics for the window.

Read
get_app_campaign_prerequisites

Firebase / MMP link state for the customer — read before attempting App campaign work.

Read
compare_google_performance

Period-over-period Google account comparison (mirrors compare_meta_performance).

Read
generate_google_keywords

Keyword ideas from Google's Keyword Planner (live platform data, no LLM). payload example: {"customer_id": "...", "keywords": ["seed one", "seed two"], "page_url"?: "..."}

Read
pause_google_campaign

Pause a Google Ads campaign — stops its spend immediately.

Confirm
resume_google_campaign

Resume a paused Google Ads campaign — it starts spending again.

Confirm
apply_google_campaign_action

Apply 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.

Confirm
replace_google_asset

Replace a text/image asset inside a campaign with an improved one. payload example: {"campaign_id": "...", "asset_id": "...", "new_text"?: "...", ...}

Confirm
run_google_adgroup_autopilot

Execute Muze's stored ad-group-level autopilot actions now (keyword/bid changes). payload is the executor payload the dashboard sends.

Confirm
run_google_campaign_autopilot

Execute Muze's stored campaign-level autopilot actions now (budget/target changes). payload is the executor payload the dashboard sends.

Confirm
create_demand_gen_lookalike

Create a Demand Gen lookalike audience from a seed user list. payload: {"seed_user_list_id": "...", "name"?: "...", ...}. Creates an audience only — no campaign, no spend.

Confirm
launch_google_pmax

Launch 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.

Confirm
launch_google_search

Launch 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?, ...}.

Confirm
launch_google_shopping

Launch 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?, ...}.

Confirm
launch_google_display

Launch 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?}.

Confirm
launch_google_demand_gen

Launch 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?}.

Confirm
launch_google_video

Launch 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.

Confirm
launch_google_app

Launch 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?}.

Confirm
get_google_autopilot_settings

Read the user's Google autopilot settings (whether Muze may auto-apply optimizations).

Read
update_google_autopilot_settings

Update 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.

Confirm
create_google_autopilot_settings

Create default Google autopilot settings for the user (or one customer).

Confirm
list_merchant_center_accounts

Merchant Center accounts connected to the user (for product feeds / Shopping).

Read
list_merchant_center_products

Products in a Merchant Center account (paginated via page_token).

Read
get_merchant_feed_health

Feed health for a Merchant Center account: approved / disapproved product counts and issues.

Read
link_merchant_center_to_ads

Link a Merchant Center account to a Google Ads customer (required before Shopping/PMax-shopping launches).

Confirm
disconnect_merchant_center

Disconnect the user's Merchant Center connection from Muze. Does not delete anything on Google; Shopping features in Muze stop working until reconnected.

Confirm

Amazon Ads

48 tools
list_amazon_profiles

List 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.

Read
list_amazon_campaigns

List 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).

Read
get_amazon_performance

Account-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.

Read
list_amazon_reports

Report-ingest queue rows for a profile (which daily Amazon reports have been requested/ingested).

Read
list_amazon_search_terms

Pending search-term recommendations for a profile (harvest winners as keywords, block wasters as negatives). Each row has a row_id for apply/dismiss.

Read
get_amazon_autopilot_config

Current Amazon autopilot configuration for a profile (whether Muze may auto-apply search-term and bid actions).

Read
list_amazon_autopilot_actions

Audit log of autopilot actions taken on this profile.

Read
list_amazon_asins

Per-profile ASIN catalog (auto-built from product ads + reports). enriched_only=true filters to rows with title/brand metadata.

Read
list_amazon_portfolios

Portfolios for this profile (Muze's local copy).

Read
list_amazon_budget_schedules

Event-driven budget boost schedules for this profile (e.g. Prime Day boosts).

Read
get_amazon_keyword_suggestions

Expand a seed keyword via Amazon's search-bar completion API (live platform data, no LLM).

Read
get_amazon_wizard

Read a campaign wizard's current state (draft inputs, stage). wizard_id from start_amazon_campaign_wizard.

Read
sync_amazon_profiles

Re-discover and sync the user's Amazon Ads profiles from Amazon (refreshes list_amazon_profiles).

Confirm
run_amazon_kickoff

Re-run the 4-stage kickoff (entity sync, benchmark snapshot, report submit, ingest) for the user's profiles. Data refresh only — changes nothing on Amazon.

Confirm
submit_amazon_reports

Submit yesterday's report requests to Amazon for one profile (results ingest asynchronously).

Confirm
sync_amazon_keywords

Pull all keywords for this profile from Amazon and upsert locally (data refresh, no Amazon-side change).

Confirm
refresh_amazon_search_terms

Recompute search-term recommendations for a period (YYYY-MM-DD bounds). Generates recommendations only — applies nothing.

Confirm
dismiss_amazon_search_term

Dismiss one search-term recommendation (row_id from list_amazon_search_terms). Nothing changes on Amazon.

Confirm
apply_amazon_search_term

APPLY 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.

Confirm
update_amazon_autopilot_config

Update the Amazon autopilot config for a profile. config is the AmazonAdsAutopilotConfigCreate object. CAUTION: enabling autopilot authorizes Muze to apply search-term/bid actions autonomously.

Confirm
run_amazon_autopilot

Run the search-term autopilot once, now, for this profile — applies eligible recommendations to the live account within the configured guardrails.

Confirm
run_amazon_bid_autopilot

Run the bid-adjustment autopilot once, now, for this profile — changes live bids within the guardrail clip range (0.65x-1.25x).

Confirm
set_amazon_revenue_estimate

Set the monthly total-revenue estimate used for TACOS (e.g. "120000"). Muze-side setting only.

Confirm
create_amazon_budget_schedule

Schedule 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.

Confirm
start_amazon_campaign_wizard

Start 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).

Confirm
save_amazon_wizard_draft

Update a wizard's draft inputs. draft is the WizardSaveDraftRequest object.

Confirm
transition_amazon_wizard

Move a wizard to a new state (draft → configured → ready, ...). transition is the WizardTransitionRequest object. State change only; creates nothing on Amazon.

Confirm
cancel_amazon_wizard

Cancel a wizard run (terminal). Nothing on Amazon is touched.

Confirm
disconnect_amazon

Revoke Muze's stored Amazon Ads credentials for this user. Amazon campaigns keep running; Muze loses access until reconnected.

Confirm
create_amazon_auto_campaign

Create 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).

Confirm
create_amazon_manual_campaign

Create a Sponsored Products MANUAL-targeting campaign. `campaign` is the create body. Created PAUSED — it will not spend until enabled.

Confirm
set_amazon_campaign_state

Pause or resume a campaign. state is PAUSED or ENABLED — pausing stops spend, enabling resumes it. campaign_id is the Amazon campaign id.

Confirm
update_amazon_campaign_budget

Update 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.

Confirm
archive_amazon_campaign

Archive a campaign. IRREVERSIBLE on Amazon — an archived campaign cannot be un-archived. To merely stop spend, use set_amazon_campaign_state with PAUSED instead.

Confirm
create_amazon_ad_group

Create an ad group under a campaign. `ad_group` is the create body (campaign_id, name, default_bid). Created PAUSED.

Confirm
update_amazon_ad_group_bid

Update an ad group's default bid (applies to targets without their own bid). default_bid is a string (e.g. '0.75').

Confirm
archive_amazon_ad_group

Archive an ad group. IRREVERSIBLE on Amazon.

Confirm
create_amazon_product_ads

Create 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.

Confirm
update_amazon_auto_target_bid

Update 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').

Confirm
create_amazon_keywords

Batch-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.

Confirm
create_amazon_keyword

Create a single keyword target. `keyword` is the create body (campaign_id, ad_group_id, keyword_text, match_type, bid). Created PAUSED.

Confirm
update_amazon_keyword_bid

Update a keyword's bid. keyword_id is the Amazon keyword id. bid is a string (e.g. '0.90').

Confirm
create_amazon_negative_keywords

Batch-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.

Confirm
create_amazon_negative_keyword

Create a single ad-group negative keyword (exclusion). `negative` is the create body (campaign_id, ad_group_id, keyword_text, match_type). Created ENABLED.

Confirm
create_amazon_product_targets

Batch-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.

Confirm
update_amazon_product_target_bid

Update a manual product target's bid. target_id is the Amazon target id. bid is a string (e.g. '0.85').

Confirm
create_amazon_negative_product_targets

Batch-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.

Confirm
launch_amazon_wizard

Execute 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.

Confirm

Shopify

15 tools
list_shopify_stores

List 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.

Read
get_shopify_revenue

Shopify 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.

Read
list_shopify_products

Top products summary (by sales + inventory) for a Shopify store. shop from list_shopify_stores.

Read
get_shopify_products

Full product list for a store, paginated (limit 1-250; pass the returned page_info to get the next page).

Read
get_shopify_orders

Orders for a store, paginated (limit 1-250; pass the returned page_info for the next page).

Read
get_shopify_shop_info

Store metadata (name, domain, plan, currency, timezone).

Read
get_shopify_plan

The user's current Muze subscription state as seen through Shopify billing.

Read
get_top_products

Top products list for a shop (sales-ranked, from Muze's product intelligence store).

Read
get_product_generation_history

History of creative generations for a shop's products.

Read
get_shopify_sync_status

Status of the latest Shopify catalog/orders sync for a shop.

Read
get_shopify_feed

Active Shopify-agent cards for one shop (inventory/pricing/product alerts), ordered by urgency.

Read
get_shopify_cards_history

Historical Shopify-agent cards for a shop over the window.

Read
get_shopify_diagnostics

Sync health for a shop: catalog row count, orders row count, webhook state.

Read
start_shopify_sync

Kick off a background catalog+orders sync. Omit shop to sync every connected store. Data refresh only — changes nothing in Shopify.

Confirm
apply_shopify_card_action

Apply / 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