Meta Ads MCP server: Facebook and Instagram campaigns from Claude or Codex
Meta shipped an official Ads MCP server on 29 April 2026, and it is the strongest of the platform-official servers: hosted rather than local, OAuth rather than a developer app, and read plus write from day one — with everything it creates landing paused until a human activates it. That last decision is the right one and worth copying.
What Meta's official server gives you
- Remote and OAuth-gated — no local process to run and no Developer App to register, which removes the step most people fail at.
- 29 tools spanning read and write from launch, rather than a read-only first release.
- Creations land paused. Nothing it makes goes live until a person activates it — a safety default, not a limitation.
What a full MCP server adds
Our Meta tool count is smaller than Meta's own, and pretending otherwise would be silly — they have every endpoint and we have the ones an ad-ops workflow uses. The difference is not breadth of API surface; it is that an approval decision belongs to an organization rather than to a conversation, and that the same key also reaches the platforms you are comparing Meta against.
| Meta's official server | Agent Planners MCP | |
|---|---|---|
| Meta tools | 29, read + write | 6 reads, 11 writes |
| Safety default | Creations land paused | Every write waits for an approval, paused or not |
| Who may write | Whoever holds the connection | Decided by the key's scopes, set by the organization |
| Audit trail | Not its job | Writes logged with the acting key as actor |
| Other platforms | Meta only | 16 more families on one endpoint |
| Budget units normalized | Meta's own convention | Encoded once, across platforms |
How to configure it
- 1Create a key in API & MCP with `tools:read`, plus `tools:write` if the agent should change campaigns.
- 2Connect Meta under Integrations over OAuth.
- 3Add the server to Claude Code, Claude Desktop or Codex with the snippet below.
- 4Run `describe_permissions`, then `list_accounts` for the ad account ids.
claude mcp add --transport http agentplanners https://www.agentplanners.com/api/mcp \
--header "Authorization: Bearer ap_live_…"The budget-unit trap, which is a 100x error
Meta's API expects budgets in MINOR currency units — cents. TikTok's expects MAJOR units. An agent working across both that gets this wrong is not off by a rounding error; it is off by a factor of one hundred, in whichever direction hurts more.
This is the clearest argument for the unit contract being a property of the tool rather than of the prompt. A prompt that says "remember Meta uses cents" is a suggestion; a typed tool that converts is a guarantee.
Use cases
- Meta against Google on one definition of cost and result, in one session, which is the decision Advantage+ structurally cannot make for you.
- Creative refresh — reading fatigue signals and drafting the replacement set, with the upload handled by a typed tool rather than a generic call.
- Budget rebalancing across ad sets, gated by a change cap so an agent cannot move more than you allow in one go.
- Reconciling Meta's reported conversions against settled orders from Shopify or SHOPLINE on the same key.
Frequently asked questions
- Does Meta have an official Ads MCP server?
- Yes — shipped 29 April 2026. It is remote and OAuth-gated rather than local, needs no Developer App, and offers 29 tools spanning read and write, with anything it creates landing paused until a person activates it.
- Is Meta's official MCP server safe to give an AI agent?
- Its paused-by-default behaviour is a genuinely good safety decision. What it does not provide is an organization-level decision about who may write, an approval step per change, or an audit trail — those live in the layer above it.
- Why do Meta budgets need converting?
- Meta's API expects minor currency units (cents) while TikTok's expects major units. An agent running across both that treats them the same is wrong by a factor of 100, which is why the conversion belongs in the tool rather than in the prompt.
- Can I use both Meta's server and a hosted one?
- Yes — they are different layers and MCP clients happily hold several servers. Use Meta's for depth of Meta API surface, and a hosted one when the work spans platforms or needs governance.