MCPs, agents, and the limits of AI in digital advertising

MCPs, agents, LLMs, and the one thing the "fire your agency" posts keep leaving out.

Right now, your LinkedIn feed might be one long tutorial on plugging Meta Ads MCP into Claude and never speaking to your agency again. One connector, one prompt, one agent, and the whole account runs itself.

The setup part is at least true. Meta shipped its Ads MCP, TikTok added one, and Google’s had theirs for a while. Connecting them is genuinely easy: read the help article, copy a URL string into your connectors, log in to your ad account, and done. (The guides make it sound like a heist. It’s a few clicks.)

But “easy to connect” and “works properly” are two different sentences, and most of those posts skip the part where you find out what the thing actually does. Our co-founder and CTO, Torkel Öhman, just spent a whole episode of Digital marknadsföring med Tony Hammarlund on exactly this (in Swedish, but the argument travels). Here’s the version we’d put in writing.

A useful clue from the platforms themselves

Before we go any further, it’s worth asking a simple question.

Google owns Gemini. Meta owns Llama. Anthropic has Claude. If language models are the future of optimization, why aren’t the platforms using them to run their own bidding systems?

Because they aren’t.

Google’s bidding algorithms aren’t powered by Gemini. Meta’s auction system isn’t powered by Llama. Performance Max isn’t making budget decisions with a language model. The companies building the most advanced LLMs in the world still rely on specialized machine-learning systems for bidding, forecasting, and budget allocation.

That should tell you something about the difference between generating language and optimizing spend.

The AI stack everyone is talking about

Part of the confusion comes from people using different AI terms as if they mean the same thing. They don’t.

Most of the systems being sold into marketing right now are built from four different layers. MCPs connect tools. Agents execute workflows. LLMs generate language and content. Optimization models handle forecasting, bidding, and budget allocation.

The trouble is that all four get bundled together under one label — AI — as if they were interchangeable. They aren’t. An MCP isn’t intelligent. An agent isn’t intelligent. An optimization model isn’t an LLM. And an LLM doesn’t become good at optimization just because it can talk fluently about optimization.

What an MCP actually is

An MCP is a pipe. It moves data between a platform and whatever model you’re using — Claude, ChatGPT, Gemini — in a format the platform approves of, so you don’t get your account flagged for poking the API the wrong way. An agent sits on top and automates a flow through that pipe.

That’s it.

Neither one holds a single opinion about what to do with the data. There’s no strategy in the connector; it simply makes the data easier to read and the changes easier to make. The intelligence, supposedly, lives in the model on the other end.

And the clue about what that model is designed to do is right there in the name: Large Language Model.

Language is the job description.

“But it gives me an answer every time”

It does. That’s the problem.

A deterministic system gives you the same answer to the same question. One plus one is two today, it’ll be two tomorrow, and the calculation behind it doesn’t drift. A language model isn’t built that way. Ask it the same question twice, and you can get two different answers because it isn’t calculating the answer — it’s predicting what a good answer looks like.

For a headline, that’s fantastic. Two different headlines never hurt anyone, and you were going to test them anyway. The same goes for ad copy, images, product descriptions, campaign names, and first drafts of almost anything.

For a budget, it’s a different story.

Budget is the biggest lever you have. It’s real money, and it’s a mathematical problem.

Torkel’s analogy is the one we keep coming back to. A weather forecaster can tell you there’s a 70% chance of rain on Saturday, and that’s genuinely useful. You do not want your banker telling you there’s a 70% chance you have 100 kronor in your account. For some questions, you want probabilities. For others, you want the number.

Show a model a campaign with a great ROAS, and it’ll happily suggest backing a truck of money up to it. Sometimes that’s correct. Often, the campaign is already saturated, a competitor just disappeared, demand spiked because of payday, or the attribution is incomplete. The campaign is benefiting from things the model simply can’t see.

Reasoning is not optimization

Some of the confusion is understandable because modern models reason surprisingly well. Give Claude a spreadsheet, and it’ll spot patterns. Give ChatGPT campaign data, and it’ll generate sensible recommendations. Give Gemini a performance report, and it’ll probably summarize it better than your dashboard does.

But recommendation and optimization are different jobs.

A strategist can look at five campaigns and suggest where the budget should go. An optimization engine has to evaluate thousands of possibilities continuously, account for uncertainty, model future outcomes, and make trade-offs under hard constraints — and then do it again tomorrow, and the day after.

That’s not a language problem.

The challenge isn’t describing the decision. It’s making the decision repeatedly, consistently, and correctly over time.

It’s also why performance marketing is harder than a single prompt makes it look. The promotion you launched three weeks ago still affects today’s numbers. The audience you exhausted last month affects tomorrow’s. Optimization systems are built to maintain that state and account for the consequences of previous decisions. Language models work from whatever context happens to be in front of them. Those are fundamentally different design goals, and one reason agent-driven systems can look brilliant in week one and a lot less brilliant by month six.

What you should absolutely hand it

None of this is an argument against the tools. It’s an argument for using them where they’re brilliant — and honestly, that’s a lot of places.

Ad copy, in bulk. You’ve got hundreds of products, landing pages, and ads. Copy that’s actually tied to each product beats generic copy that reads fine and fits nothing. Let the model draft 90% of it and spend your own hours on the launches that matter.

Images, for the long tail. The second-tier offers, the cut-outs, the forgotten product photos from 2019, the campaign that needs assets but not a production company. (Keep a human on the Super Bowl ad.)

Campaign setup. It’s well-defined, repetitive, and on some platforms it’s roughly a thousand clicks. It’s nowhere near the model’s weak spots.

Reporting. This might be the best use case of all. “What were my best ads last month?” “What do the top performers have in common?” “What changed versus the previous period?” That’s a report you’d otherwise build by hand. Now it’s a sentence. And if two runs produce slightly different summaries, your strategy survives the difference.

“But the platform’s own agent will tell me what’s going on”

Meta AI, Ask Advisor, Ads Advisor — they’re well-built, and they have sensible guardrails because keeping you safe inside their ecosystem is very much in the platform’s interest.

The catch is the ecosystem.

Each platform sees a single silo. Meta favors Meta. Google favors Google. And both make their money by selling more ads.

Your Meta performance might be moving because of your Google spend. Your Google performance might be moving because of Meta spend. Or because a competitor went dark. Or because demand changed. Or because your warehouse ran out of stock.

The platform’s agent can’t see most of that. It only knows the world through its own window.

That blind spot is the same reason you should be careful asking any model why. Why did this period spike? Why did that campaign tank?

It will tell you. Confidently. Every time.

But performance marketing is full of variables the model can’t see — demand, competition, margins, returns, tracking, inventory, seasonality, a change on your website, a shift in the market — and it only knows what you’ve shown it. The rest gets filled in with statistically plausible guesses. Because those guesses sound convincing, they’re easy to trust right up until they aren’t.

The future probably looks like both

The most likely outcome isn’t that language models take over advertising. It’s that they become the interface to advertising.

You’ll ask which campaigns are saturating, and an agent will gather the data. You’ll ask for ten new ad variations, and a model will generate them. You’ll ask for last month’s performance, and it’ll write the report.

Meanwhile, underneath the conversation, an entirely different system handles the forecasting, bidding, budget allocation, and optimization.

The interface becomes language. The decision-making involves mathematics.

That split is more or less the whole bet behind Amanda AI: deterministic systems doing the optimization underneath, language models handling communication, reporting, and content on top. Not competing technologies — complementary ones. Language models are excellent at language. Optimization engines are excellent at optimization. The mistake is asking one to be the other.

It was never all or nothing

The reason this discussion gets messy is that the internet only ships with two settings: “fire everyone and automate everything” or “it’s all hype.”

The useful answer sits in the boring middle.

Hand over the repetitive work. Keep the checkpoints. Test carefully. Figure out what the tool is actually good at before you bet the budget on it.

That answer isn’t exciting, which is probably why it doesn’t show up in many LinkedIn posts.

So if you want to try this properly, test — just not in production. Paste the same campaign data into Claude, Gemini, and ChatGPT. Ask the same question a few times. Compare the answers the way you’d read a new hire’s first draft. You’ll find out quickly where the model is sharp and where it’s improvising.

Then keep a human in the loop. Specifically, the one who knows what good looks like. Copy is easy to review. Images need an eye. Strategy needs judgment.

That’s the real headline hiding underneath all the MCP excitement. The hours got cheap. One click doesn’t run the account.

So connect the MCP. Let the agent build the report. Let the model write the ads.

Just don’t confuse any of that with an optimization engine.

Because sooner or later, somebody still has to decide where the money goes.

And that part was never a language problem.

In this article

Related content

Agentic AI is having a moment. Tools that book your meetings, answer your emails, and build your apps. The pitch sounds great. The execution is more complicated. Here’s where AI agents genuinely help, where they don’t, and what most of the pitches are leaving out.
Your search account looks great on paper. Strong CTR. Efficient CPCs. ROAS, the CFO can’t argue with.
There’s just one problem. A chunk of that spend? You were getting that traffic anyway.
Ever feel like your marketing efforts are putting in the work, but the conversions are just taking their sweet time to show up? If you’ve ever tracked a campaign and wondered why the magic isn’t happening immediately, you’re not alone. Welcome to the world of conversion lag.

Stay updated

Get on the (email) list!

    
       

Stay updated

Join our newsletter