roasOS
Workflows

Meta Ads with roasOS in Claude

Connect the roasOS MCP server and Meta's Ads MCP server to one Claude, so one conversation reads what performs, makes the next ads, and sets them up for review.

roasOS makes the ads. Meta's Ads MCP server reads your ad account and manages campaigns. Connect both servers to one Claude, and one conversation closes the loop: read what performs, make new versions of the winners, and prepare them for launch.

No roasOS code runs on Meta, and no Meta code runs on roasOS. Claude calls each server with its own sign-in.

1. Connect both servers

In claude.ai, open Settings, then Connectors, and add two custom connectors:

ConnectorURLSign-in
roasOShttps://mcp.roasos.com/mcpOAuth with your roasOS account
Meta Adshttps://mcp.facebook.com/adsOAuth with the Meta account that can use your ad account

Custom connectors need a paid Claude plan. In Claude Code, add roasOS with claude mcp add (refer to Connect an AI agent (MCP)) and add Meta's server by the instructions in Meta's Ads MCP server documentation.

Meta's server obeys the permissions of your Meta account and the AI rules of your business portfolio. roasOS obeys the spend policy of your key. Neither server can approve spend on the other.

2. Find what performs

Ask Claude to read the last 14 days of your campaigns from the Meta Ads server: spend, cost per result and return on ad spend for each ad. Ask for the two best ads and the one reason each one works (the hook, the offer, the format).

3. Make new versions of the winners

Give the winning ad to roasOS. Two ways work:

  • The ad is your own video: ask Claude to call roasos_remix_ad with ad_url (the video), product_id and "finished_ad": true. roasOS keeps the structure and writes a new script for the product.
  • You want a fresh angle: ask Claude to call roasos_agent_ask with the reason the ad won. For example: "Make two 15 second product review ads for product 3f9c…. Lead with the same pain as our best ad: warm water on long runs. Three hooks, each on a different angle."

Both calls quote first. Confirm each quote with its quote_id. Approve the card in roasOS when your key does not approve it itself. Refer to Make a finished ad from Claude Code for the full run.

4. Prepare the launch

Ask Claude for the file links of the finished ads (roasos_list_generations). Then ask the Meta Ads server to set up a new ad set with them.

  • Ask for the new campaign or ad set to be paused. Review it in Ads Manager before you start it.
  • If the Meta server cannot take the video file, upload it in Ads Manager and ask Claude to finish the setup from there.
  • Keep the AI-generated disclosure that your platform needs. Meta and TikTok label AI-generated ads.

5. Close the loop

After the new ads run, ask Claude to compare them with the ads that they replaced, from the Meta Ads server. Give the result to the roasOS agent in the next instruction. The next batch then starts from what your customers answered to.

The claims in an ad are yours. roasOS flags claims that your product facts do not support, but you approve the words before they run.

On this page