M

how i write KILLER ad copy with sonnet 5 + meta MCP

7 min readView source ↗

Cover image

most people write ad copy by staring at a blank screen and guessing what might work.

the copy they produce is disconnected from everything already happening in their account. it doesn't reference what angles are currently running, what's working, what's dying, or what the performance data says about which buying triggers their audience actually responds to.

sonnet 5 just dropped. it's the most agentic model anthropic has ever released at this price point. and when you connect it to your live ad account through the meta MCP, it doesn't write copy from imagination. it writes copy from data.

here's the exact workflow. how we connect the two, what we ask for, and why the copy produced by this process is fundamentally different from anything produced by prompting a model with no account context.

the architecture: why two tools solve one problem

Article image

writing great ad copy requires two kinds of intelligence.

intelligence about the account. what's currently running. which creatives are performing. which hooks are generating the highest thumbstop. which angles are fatiguing. which audience segments are responding to which buying triggers. which formats are winning for this specific offer.

intelligence about language. how to turn a buying trigger into a script. how to structure a hook that stops a scroll. how to build a 60-second argument that moves someone from awareness to action. how to make copy sound like a human wrote it, not a model.

most operators use AI for the second part and skip the first part entirely. they paste their offer into a chat window and ask for copy. the model has no idea what's already running in the account, what's working, or what's dying. it generates from its training data, which means it produces the most average version of a meta ad for your category.

the meta MCP handles the first kind of intelligence. it connects sonnet 5 directly to your live ad account and gives it read access to everything: campaign structure, creative performance data, audience signals, cost metrics, hook-level engagement rates.

sonnet 5 handles the second kind. but now it has the account context to write copy informed by what's actually happening, not what it imagines might work.

setting up the connection (one-time setup)

step 1: create a system user token

go to developers.facebook.com. navigate to business settings, then system users. create a new system user with admin access to the accounts you want connected. generate a token with these permissions: ads_management, ads_read, and business_management.

step 2: add the meta MCP to your claude config

on mac, the config file lives at ~/Library/Application Support/Claude/claude_desktop_config.json. on windows: %APPDATA%\Claude\claude_desktop_config.json.

add this block:

step 3: verify

restart claude desktop. select sonnet 5 as the model. ask it what meta ads tools it has access to. it should return the available API endpoints. if nothing comes back, check for JSON syntax errors and confirm node.js v18+ is installed.

phase 1: account intelligence extraction

the account diagnostic prompt:

phase 2: ICP extraction from performance data

the ICP extraction prompt:

phase 2b: competitive research through the meta ads library (cowork + meta MCP)

open sonnet 5 in cowork mode with the meta MCP connected. cowork lets sonnet 5 browse, search, and pull structured data from external sources while maintaining the session context from your account analysis.

the competitive research prompt:

phase 3: copy generation (the production layer)

with the account intelligence report, the buyer brief, and the competitive research all loaded as context, sonnet 5 now writes copy using the same buying trigger method we use across all our accounts.

the method: before writing any copy, identify the specific buying trigger the ad is built on. the specific reason a specific person would buy this specific thing right now. the emotional texture of the frustration, the failed attempts behind it, the embarrassing result they haven't told anyone about. then build the script structure on top of that trigger.

the copy generation prompt:

phase 4: the anti-slop audit

if you want us to audit your service business and show you how we'd connect this exact sonnet 5 + meta MCP copy workflow to your account, DM me "META" and we'll build it.

($10M+ generated for service-based businesses through meta ads funnels, fully done-for-you)

zack

Prompts

Based on the performance analysis above, build a buyer profile.
 
The winning creatives tell us what buying triggers resonate. 
The hook categories tell us what emotional entry points work. 
The format performance tells us how this audience prefers to consume information.
 
Synthesize a profile that answers:
1. what specific pain points are the top-performing creatives tapping?
2. what objections are the winning scripts handling inline?
3. what awareness stage is the best-performing content targeting?
4. what tone and format does this audience respond to most?
5. what buying triggers are working now that weren't working 30 days ago?
6. what buying triggers stopped working in the last 30 days?
 
Output a buyer brief for every script we write in this session.
Search the Meta Ad Library for [competitor names or category keywords].
 
Find all active ads running for more than 30 days.
For each one, document:
1. format type
2. hook structure
3. angle category
4. CTA type
5. estimated run time
 
Then analyze:
- what angle categories dominate in this category
- what gap angles exist that nobody is running
- for any ad running 60+ days: reverse-engineer WHY it works.
  The buying trigger, awareness stage, objection handled inline,
  format choice. Principles, not surface.
 
Output the gap analysis and reverse-engineered principles 
from the top 3 longest-running competitors.
You are a professional direct response meta ad copywriter. 
Using the account intelligence report, buyer brief, and competitive 
research above, generate 5 new ad scripts.
 
Requirements:
1. each script must target a different buying trigger than current 
   top performers (filling angle gaps, not duplicating what's running)
2. each script must use a different format type than the current 
   best-performing format
3. each script structured as 60-second video:
   - HOOK (0-5s): stop the scroll before conscious decision
   - PROBLEM AGITATION (5-20s): one specific detail making ICP feel recognized
   - MECHANISM REVEAL (20-45s): why this approach solves the problem
   - PROOF MOMENT (45-55s): one specific result, metric, or timeframe
   - CTA (55-60s): one action, nothing else
4. no hedging language whatsoever
5. conversational and direct, read-it-out-loud test
 
For each script also provide:
- recommended naming tag (e.g., PAIN-SELF-PA-003)
- which gap it fills
- which buying trigger it targets
{
  "mcpServers": {
    "meta-ads": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-meta-ads"],
      "env": {
        "META_ACCESS_TOKEN": "your_system_user_token_here",
        "META_AD_ACCOUNT_ID": "act_your_account_id_here"
      }
    }
  }
}
Review each of the 5 scripts above and flag any lines failing these checks:
 
1. would claude write this line by default? rewrite with more 
   personality and specificity.
2. any line starting with filler openers? kill it, start mid-thought.
3. three consecutive sentences the same length? vary the rhythm.
4. corporate vocabulary present? replace with human language.
5. any hedging? replace with absolute statements and specific proof.
6. read each script out loud. flag anything sounding like recitation.
 
Output the cleaned versions.
Pull the performance data for all active creatives in this account 
over the last 14 days.
 
For each creative, extract:
- hook category (from the naming convention: AUTH, CONT, PAIN, PROOF, MECH)
- format type (SELF, HEAD, STAT, UGC, SPLIT)
- CTR, thumbstop rate, CPL, ROAS
- frequency
- daily trend (improving, stable, declining)
 
Then aggregate and tell me:
1. which hook categories are generating the highest CTR and lowest CPL
2. which format types are performing best
3. which creatives are showing fatigue signals
4. which buying triggers are producing qualified leads
5. what angle gaps exist: buying triggers NOT currently being tested

Related articles