Most "AI for marketing" is a prompt wrapper. You copy-paste a CSV of campaign data, ask Claude to analyse it, and get a confident-sounding summary of stale numbers. A tool call is different. Claude has live API access to your Meta account and can read campaigns, ad sets, creative performance, and audience breakdowns in real time. The distinction matters because stale data produces accurate-sounding wrong answers.

The difference between a wrapper and a tool

A wrapper passes data into a prompt. A tool call is Claude invoking a function that returns live data from an external system. With meta-ads-mcp, Claude can call get_campaigns (all campaigns with current performance), get_ad_sets (audience breakdown by ad set), get_ad_creative (current copy and creative URLs), and get_insights (performance metrics for any date range). These are genuine API calls returning real-time Meta data, not a cached export you uploaded an hour ago. The output quality difference when diagnosing performance issues is significant.

What meta-ads-mcp exposes

The MCP server wraps Meta's Marketing API as structured tools that Claude can call with typed parameters. The core tools cover the full campaign hierarchy: account-level spend and ROAS, campaign-level objectives and budgets, ad set-level audience targeting and CPM, ad-level creative performance and frequency. Beyond read operations, the server exposes draft operations, Claude can produce a proposed budget reallocation or a drafted ad copy variation as structured output that a human reviews before any change is made. The server intentionally separates read access from write access, with writes requiring explicit human confirmation.

Where the automation lives

The practical loop that works in production: Claude runs a daily audit of the account. It flags campaigns with CPL more than 30% above the 7-day rolling average. It identifies creatives where frequency has crossed 4.0 (fatigue threshold). It drafts budget reallocation recommendations with the specific percentage shifts and the data reasoning behind them. It drafts new ad copy variations for fatiguing creatives based on the current top-performer structure. The operator reviews the draft and approves or modifies. Claude does not touch budgets or creatives autonomously, the value is in the detection and the draft speed, not in removing the human from the loop.

Where you still need an operator

Claude can read everything in the Meta API. It cannot read the context that lives outside it: the product launch happening next week, the seasonal pattern you know from three years of running this account, the creative that bombed because the offer was wrong rather than the audience being wrong, the competitor move that explains the CPM spike. Operator judgment is the last mile, not because the tool is immature, but because some information is not in the data. The MCP stack handles the time-consuming audit and the structured draft. The operator provides the business context that determines whether the recommendation is right.