99takes
Free account, 350 credits to start

Your agent writes the copy.
99takes tells you who won't buy it.

An MCP server for Claude Code. It puts your ad and landing page copy in front of researched personas from your audience before budget runs on it. What you get back are the objections that stop the click.

The problem

The agent can write anything. It just can't know whether it lands.

It doesn't know your buyers

It knows language, patterns and a thousand landing pages. What makes your buyers hesitate on this specific decision was in no training set.

It has no memory of your account

Which message already worked for you disappeared with the last session. Every conversation starts from zero.

Asking it means being agreed with

"Is this copy good?" gets answered by every model — pleasantly, plausibly, and about a text it wrote itself a moment ago.

The mechanics

One command, then it's part of how you work.

Connect once, and from then on the tool sits where the copy is written.

Set up once
claude mcp add --transport http 99takes \
  https://srcblvgafgkdeaaowhfu.supabase.co/functions/v1/mcp \
  --header "x-api-key: YOUR_KEY"
Then, in conversation
> Write me a headline for our HRIS landing page.

  The employee record that keeps itself up to date.

> Check it against our mid-market purchasing audience.

  ⚙ simulate_copy

  Your copy LOSES against the comparison version.
  Score 5.1 vs 6.0 (-0.9), 14 of 48 sim runs picked yours.

  Objections, lowest score first:
  - Head of IT, 120 employees (3.8/10): Doesn't say what it replaces.
    I can't tell if this sits next to our HR system or takes it over.
    Source: review · g2-2026-03-11
  - Head of People, 400 employees (4.6/10): "Keeps itself up to date"
    reads like a promise that lands on me in the next audit.

Example with invented data.

Your account at run.99takes.com creates the command with your key. Without a key, you sign in through your browser on the first call. All steps, including claude.ai, are on the setup page. The conversation is an illustrative example.

Why it belongs inside the agent

Checking is half the job. Rewriting is the other half.

A human reads a report and files it away. An agent reads the objections, rewrites, and checks again — inside the same minute.

Step 1

Write

The agent drafts the headline, the ad, the section — exactly as it does today.

Step 2

Collect the pushback

10 to 14 personas read along, each also under the others’ jobs, and tell you, in a sentence, where they get stuck.

Step 3

Check the rewrite

The new version runs against the old one. That's how you know it's better and not merely different.

Why this isn't the same thing

Every objection shows where it came from.

A persona in this system is not an invented role with a name and a stock photo. It draws on public customer voices and, if you add it, your own material. Every objection it raises carries the place it came from.

Where an objection has no evidence behind it, none is shown. We would rather print nothing than a source that doesn't exist.

What a citation looks like (reconstructed, not a real quote)

"To this day I don't know whether that thing replaces our HR system or sits next to it. That's the reason we didn't take it further."

review · g2-2026-03-11

Built for

People who write copy in the terminal and don't want to wait.

Growth and dev teams

You already build landing pages with an agent. The copy is the one part nobody checks before it goes live.

Freelancers

For a tool you need twice a month, a credit pack without a subscription is enough. It is valid for 12 months.

Agencies

A second opinion before client sign-off — and a record of why this version and not the other one.

What it isn't good for

A simulation doesn't replace a measurement.

If your page has traffic and conversions, your own numbers are the better source — test, don't simulate. The value sits precisely before that: in the window where nothing can be measured yet, because nothing is running.

And it isn't an oracle. It tells you which of two versions carries further with these personas and where they get stuck. Whether your offer is right is not a question it answers.

Access

Create an account and run your own checks

The account is free and starts with 350 credits, no payment details needed.

In claude.ai you add 99takes as a connector, without a key. In Claude Code you run one command.

All steps, a check sentence and help are on the setup page. What a run costs after that is on the pricing page.

FAQ

What people want to know first

What does the tool actually do?

It gives your agent in Claude Code a tool called simulate_copy. You hand it a piece of copy, it puts that copy in front of several researched personas from your audience, such as a B2B buying committee or consumers, and compares it with a second version. What comes back are the specific objections that stop the click.

Why not just ask the model whether the copy is good?

Because it will agree with you. A model that just wrote a piece of copy judges it with the same knowledge it used to write it, and without knowing what your buyers actually said. The difference isn't the model. It's the body of evidence it checks against.

Why a comparison instead of a score?

Because a score on a single piece of copy means nothing — there is no yardstick that makes a 6.4 good or bad. Two versions side by side is an answerable question: which one carries further? If you don't bring one, 99takes puts one next to yours.

Where do the personas come from?

From public customer voices and, if you add it, your own material. Every quoted statement carries its origin, and any objection that leans on one hands that origin back to you. Where a persona isn't backed by evidence, no source is shown — rather than a source we made up.

Does this replace A/B testing?

No, it comes before it. An A/B test needs traffic, which new copy by definition doesn't have yet — by the time you reach significance, budget has already run through the copy you wanted to check. Once you have traffic and conversions, your own data is the better source.

Does it work outside Claude Code?

Yes, in claude.ai you add the same address as a connector. There is no separate HTTP interface; everything runs through MCP.

What does it cost?

Runs are billed in credits. The account starts free with 350 credits; comparing two versions with 12 personas, each also reading under the others’ jobs, takes about 73, or about 19 as 1:1 with each persona under its own job only. After that there are plans from €49 a month or credit packs without a subscription. All prices net at https://www.99takes.com/en/pricing.

Why we check copy before the traffic arrives is laid out under the A/B test alternative. What the full landing page service looks like: landing page optimization. What the jury checks beyond the score, from core and edge to the competitor check: what 99takes checks.