In short
Muze generates ad creative inside the Muze app: images, video and copy built from your product pages and catalogue. Over MCP, your assistant handles the account side of creative work. It assembles Meta creatives with create_meta_ad_creative, swaps the image or video on a live ad with replace_ad_image and replace_ad_video, rewrites headlines and descriptions with launch_plan_update_copy, and replaces weak Google assets with replace_google_asset. Generation and placement are different jobs, and this page is explicit about which tool does which.
Two halves of the same job
Ad creative work splits cleanly in two. There is making the asset, and there is getting it into the account: attaching it to a creative object, swapping it onto a live ad that already has learnings, changing a headline without rebuilding the ad from scratch.
Muze does both, in two different places. Image generation, video generation, UGC-style video, scripting and translation live inside the Muze app, where there is a canvas, a preview and a history. The MCP exposes the account side, because that is the part you want to do in the middle of a conversation about performance. You are already looking at the ad that is underperforming. The useful next step is to swap its image, not to open a new tab.
We would rather draw that line clearly than let a page imply that asking Claude for an image produces a finished video ad.
What the MCP tools do
create_meta_ad_creative builds a Meta ad creative from an object story spec, either link data or video data, against a page ID. Its description carries a useful reminder: creatives do not spend by themselves. A creative is an object, not a live ad.
replace_ad_image and replace_ad_video swap the asset on a live Meta ad and keep every other setting intact, which is the difference between testing a new visual and starting over with a fresh ad that has no history. launch_plan_update_copy applies copy changes to a list of ads, each entry taking an ad_id plus at least one of headline, description or call to action. On Google, replace_google_asset swaps a text or image asset inside a campaign for a better one.
For new ads, launch_meta_ad accepts a creative_url directly, so an asset you generated in the app can go straight into a paused campaign from the conversation.
Creative that starts from the catalogue
The best creative brief is usually your own product data, which is why the Shopify tools matter here even though none of them draw a pixel.
get_top_products returns a sales-ranked list from Muze's product intelligence store, so an assistant can tell the difference between the product you like and the product that sells. list_shopify_products gives a top-products summary by sales and inventory, and get_shopify_products walks the full paginated catalogue. get_product_generation_history returns the history of creative generations for a shop's products, which answers the question you always end up asking three weeks in: what have we already made for this SKU.
Put together, that is a workflow where the assistant knows which product deserves creative, what already exists for it, and what is currently running against it.
The loop is the point
The one customer result we publish is heyNoah.ai, which went from $2K to $60K in revenue over three months on Meta Ads. The reason we keep telling that story is not the number. It is the shape: analyze what the current creative is doing, learn what is driving the difference, generate against that, test, repeat.
That loop is why creative tooling sits next to performance tooling in the same connection. A generator that does not read your results is a stock photo library with extra steps. An assistant that can read list_account_ads, see which ad is fatiguing, and swap its video in the same session is doing something a creative tool on its own cannot.
What is not an MCP tool
Image generation, video generation, image-to-video, UGC video, lipsync and video translation are Muze app capabilities. They are not exposed as MCP tools today, so an assistant cannot invoke them over the protocol. If you need a new asset made, you make it in the app or elsewhere, and the MCP handles placing it.
Cloning a competitor's ad is in the same category. The MCP will fetch you a competitor's ads through get_competitor_ads, and your assistant can describe exactly what makes them work, but the clone pipeline itself is in the product rather than in the protocol.
What to type
These are prompts, not commands. Any MCP client will do: ChatGPT, Claude, Cursor or anything else that speaks the protocol.
- “Which of my Meta ads is fatiguing, and swap the video on the worst one for this URL.”
- “Rewrite the headline and call to action on these three ads, and show me the before and after first.”
- “Replace the weakest text asset in this Google campaign with something stronger.”
- “What creative have we already generated for my top five selling products?”
- “Build a Meta creative from this image and landing page, then attach it to a paused ad.”
The tools behind it
These are placement and replacement tools. The generation models themselves run inside the Muze app and are not callable over MCP.
- create_meta_ad_creative (write): Builds the creative object. Creatives do not spend by themselves.
- replace_ad_image (write): Swaps the image on a live Meta ad, keeping every other setting.
- replace_ad_video (write): Same swap for video.
- launch_plan_update_copy (write): Headline, description and call to action changes across a list of ads.
- replace_google_asset (write): Replaces a text or image asset inside a Google campaign.
- get_product_generation_history (read): What creative has already been generated for a shop's products.
- get_top_products (read): Sales-ranked products, so creative goes to what actually sells.
Platforms covered. Meta Ads and Google Ads for creative operations, with Shopify catalogue data as the source material.
Nothing spends without you
- Creative writes are writes: they preview and wait for confirmation like everything else.
- Swapping an asset keeps the ad's other settings, so you are testing a variable rather than rebuilding the ad.
- A creative object does not spend on its own. Attaching it to an active ad is what starts delivery, and new ads are created paused.
Frequently asked questions
- Can ChatGPT generate my ad creative?
- It can write copy and it can place assets, but it cannot invoke Muze's image or video generation over MCP. Generation runs inside the Muze app. The MCP tools cover assembling creatives, swapping images and videos on live ads, and updating headlines, descriptions and calls to action.
- Can it change the image on an ad that is already running?
- Yes. replace_ad_image and replace_ad_video swap the asset on a live Meta ad and keep every other setting intact, so the ad keeps its structure instead of being rebuilt.
- Does it write the ad copy?
- Your assistant writes it, in the conversation, with your account data in front of it. launch_plan_update_copy is what applies the result to specific ads, and replace_google_asset does the equivalent inside a Google campaign.
- Does Muze generate video ads?
- The Muze app does, along with UGC-style video and translation. None of those are MCP tools today, so an assistant cannot trigger them over the protocol. It can place a finished video on an ad.
- Can it use my Shopify products as the source?
- Yes for the data, and that is usually the right starting point. get_top_products ranks your catalogue by sales, and get_product_generation_history shows what creative already exists for each product, so you are not remaking something from last quarter.
- Will a new creative start spending as soon as it is created?
- No. A creative object does not spend by itself, and any new ad or campaign Muze builds is created paused. Delivery starts when you enable it.
Read next
Other features
Or see every Muze feature.
Connect an account and try it
OAuth, read-only to start, 25 free tool calls a month. It cannot change anything until you let it, and Muze never takes a percentage of your ad spend.
Start free