Skip to content

Build a creative wall on a Claude whiteboard

Builds a creative wall on a Claude whiteboard from get_creative_wall: one card per creative (ads sharing the same image or video), with the thumbnail, the ad names, format, spend, website purchases, CPA and ROAS, and a link to the ad in Ads Manager. Thumbnails come from one domain, mcp.getmcpads.com, downloaded in Claude's container and uploaded into the whiteboard. Where that domain is not allowed, the wall is built with names, figures and links, and one sentence says which domain the organization owner can allow.

Recipe, Meta Ads

Intent The ads of an account laid out on a board, grouped by creative, each with its visual and its results, ready to annotate and sort with the team.

Steps
8
Tools
0
Rules
6
Failure modes
4
skills/creative-wall-on-a-whiteboard.md

When to use it

Use it when

  • Someone asks for a creative wall, a mood board of their ads, or their top ads laid out on a whiteboard to sort, group or annotate.
  • A creative review where the team wants to see the visuals next to their results on one board.

Do not use it when

  • A ranking or a comparison of creatives in the conversation: get_creative_performance shows it with the visuals.
  • Hosts without Claude's whiteboard artifact: answer with get_creative_gallery or get_creative_performance instead.

What it needs first

Required Meta Ads

Preconditions

  • The organization is on Team or Enterprise: creative tools are not offered on Free or Pro.
  • Meta ad accounts only for now.
  • The account is among the chosen accounts, confirmed via list_accounts.

Evidence every conclusion must carry

  • Every figure carries the account, the period and the currency.
  • Results are named as the tool names them (website purchases), never another conversion.
Inputs
InputRequiredWhat it is
accountrequiredThe Meta ad account and its workspace.
windowPeriod of the figures.Default: last 30 days.
scopeCampaigns or ad sets to keep, when the request names them.

Procedure

In order. Every tool named is one the gateway ships, and links to its reference.

Steps

  1. Resolve the workspace and its Meta ad account with list_accounts, then the period and any campaigns or ad sets the request names.
  2. Read the wall with get_creative_wall (by name, or through run_tool when it is not listed): platform meta_ads, account_id, since, until, and campaign_ids or adset_ids when named. Pass the same workspace_id.
  3. Download the first group's thumbnailUrl in the container (curl -sf with a 15 second limit) and check for a 200 and an image type. When it works, download the others the same way, a few at a time.
  4. Upload each downloaded file into the whiteboard artifact and use it as the card's image. A file under 75,000 bytes may instead be written as a data:image/jpeg, png or webp URI. Never write a remote URL as an image source: the whiteboard stores it and draws nothing.
  5. Lay out one card per group in rank order, under a header (the brand line, then the title "Creative wall" and one sentence to take away): the image, the top ad's name, the format, spend, website purchases, CPA and ROAS in the account currency, the number of ads, and the group's adsManagerUrl as the card's link. Add a note with the period, the account and what coverage leaves out.
  6. When the download is blocked (host not resolved, a proxy refusal), build the same cards without images, say in one sentence that the organization owner can allow mcp.getmcpads.com in Claude's network settings for the images to appear, and offer to show the visuals in the conversation with get_creative_gallery.
  7. Keep every text readable in light and dark: the board picks the ink of a text, and of an SVG's currentColor, from what lies directly under it (a filled card gives the card's ink, anything else, an SVG image included, the board's ink). So never write text over an SVG that lies on a filled card: a large labelled drawing (a timeline, a chart, ribbons with labels) sits on the board background, framed if needed by a hollow rounded shape stroked #8C8C8C, and filled cards hold only text written on them, pictures and small unlabelled marks.
  8. Brand the board with the Get MCP Ads mark, twice and nowhere else: an image element 16 by 16 with "by": "claude" and this exact src: data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' data-look='clean'><path d='M4.5 1.5v21M19.5 1.5v21' stroke='currentColor' stroke-width='2.6' stroke-linecap='square' fill='none'/><circle cx='12' cy='12' r='4.2' fill='currentColor'/></svg>. For a small text line at (x, y), put the mark at (x − 2, y + 3) and the small ink text at (x + 20, y). Header, at y 0 above the title: "**Get MCP Ads** / <board name> / <scope>" (account or brand, platform, period, joined by " · "). Footer: 16 below the source line, "Data via [Get MCP Ads](https://getmcpads.com)".Never drop data-look='clean' (the bars turn into pen strokes), never upload the mark as a picture (pictures get a polaroid frame), never recolour it: accent colours belong to the data. No mark on cards and never larger than small text.

Decision rules

The observable condition, what it lets you conclude, and what takes the conclusion back.

  • When The first thumbnail download fails because the host cannot be resolved or a proxy refuses itConclude Stop downloading: the container cannot reach the domain, and every other link would fail the same way. Build the wall without images and name the one domain to allow.
  • When One thumbnailUrl answers 404 while others workConclude That ad's preview is not available now (the ad, its account selection or its thumbnail is gone): keep its card with name, figures and link, and mark it as having no preview.
  • When A thumbnailUrl answers 429Conclude Wait the retry-after seconds once, then continue; do not retry in a loop.
  • When thumbnailUrl is null on every groupConclude The connection cannot make thumbnail links: build the wall with names, figures and links, and say the visuals can be seen with get_creative_gallery.
  • When The tool is refused with PLAN_REQUIREDConclude Say creative walls come with Team and Enterprise and that only the account owner changes the plan.
  • When coverage.leftOutAds or catalogAdsLeftOut is above zeroConclude Say how many ads and how much spend are not on the wall, from coverage, so the board is not read as the whole account.

Where the agent stops

The wall changes nothing in the ad account. Pausing or scaling an ad from it goes through a preview and the person's confirmation.

How it goes wrong quietly

The cases where the analysis is wrong and still looks right. Read them before trusting a number.

  • Writing a remote https URL as an image source: the write is accepted and the image never shows.
  • Writing a data: URI from a file over 75,000 bytes: it passes the whiteboard's 102,400 characters and is refused.
  • Adding up the groups to get the account's spend: use totals, since catalog ads and ads past the limit are not in the groups.
  • Reading a group's results as the effect of its visual alone: carousel and flexible ads report whole-ad figures.

What the answer contains

What Creative wall on a whiteboard returns
SectionWhat it holds
WhiteboardOne card per creative group with its image when it could be downloaded, its ads, figures and Ads Manager link.
NoteThe period, the account and currency, what coverage leaves out, and the domain to allow when the images could not be downloaded.

Manage your ads from your AI assistant

Start for free

Free with 1 ad account, no card. Pro is free for 7 days.