PaidSync>Blog>Platform

Meta Ads MCP Server with Full Write Access

Founder written
Author: Ahmed Ashraf|14 min read|Updated September 2, 2026

PaidSync is a Meta Ads MCP server with full write access. One endpoint, https://mcp.paidsync.ai/mcp, signed in with OAuth 2.0 using your PaidSync login, gives Claude, ChatGPT, Gemini CLI, Perplexity, Copilot Studio, and Cursor 83 Meta tools, 34 of them writes. The AI can build campaigns, ad sets, ads, and creatives, manage audiences, pixels, lead forms, and automated rules, and pull every performance breakdown. Every write is held for your approval before it runs. Free at $0 for 15 tasks a month.

81 live tools for Facebook and Instagram ads, every change held for your confirmation, inside the same server that runs Google Ads, LinkedIn, TikTok, GA4, and GTM. Compared honestly against Meta's own ads MCP.


An MCP server turns an ad platform's API into typed tools an AI assistant can call. Connect one to Claude or ChatGPT and "pause every ad set with a cost per purchase above $60 this week" becomes something the assistant can check, propose, and, once you approve, run. This page covers PaidSync's Meta surface in full. What the 83 tools do, how the approval gate works, what the server deliberately does not do, how it compares with Meta's own ads MCP, and how to connect it to each AI client.

It is written for both halves of that audience. Marketers who want to run Meta Ads from a chat window, and agent builders who want to know exactly what the protocol surface looks like before wiring it into a workflow. Each section is labeled.

What a Meta Ads MCP server does

Three things, in practice. It reads, so the assistant can pull spend, results, cost per result, and breakdowns by placement, device, age, gender, country, and time without you exporting from Ads Manager. It writes, so campaigns, ad sets, ads, creatives, audiences, pixels, lead forms, budget schedules, and automated rules can be created or changed from conversation. And it gates, so nothing the AI proposes runs until a human confirms it.

Reading is table stakes across every Meta Ads MCP available in 2026, including Meta's own. The depth of the write surface, whether the server works on your account today, whether it also sees the rest of your stack, and how honest the gating is are where they differ. Those four points are the spine of this page.

Meta's Marketing API is object-heavy. A single ad is a campaign, an ad set, a creative, and an ad object, each with its own status, budget, and targeting fields. A useful Meta MCP has to model all four layers as tools, not just the campaign layer, or the assistant ends up able to read a problem it cannot fix. PaidSync's set covers all four, plus the objects around them.

All 83 Meta Ads tools by category

PaidSync's live server exposes 83 Meta tools (server total 500+ across 14 platforms). 46 of them read, 34 write, and 3 handle the connection itself. Five of the writes build from scratch. The table below names every tool by category, so the count is checkable. The same catalog is discoverable live from any session via paidsync_context with the Meta group selected, described in the agent-builder section.

CategoryToolsWritesNamed tools
Account, Pages, and Instagram111connect_facebook_ads, facebook_auth_status, disconnect_facebook_ads, list_fb_ad_accounts, set_fb_ad_account, get_fb_account_info, get_fb_account_controls, update_fb_account_controls, list_fb_pages, list_fb_instagram_accounts, get_fb_billing_transactions
Campaigns76list_fb_campaigns, create_fb_campaign, update_fb_campaign, pause_fb_campaign, enable_fb_campaign, duplicate_fb_campaign, delete_fb_campaign
Ad sets and schedules97list_fb_adsets, create_fb_adset, update_fb_adset, pause_fb_adset, enable_fb_adset, duplicate_fb_adset, delete_fb_adset, set_fb_adset_schedule, validate_fb_eu_targeting
Ads and creatives1710list_fb_ads, create_fb_ad, update_fb_ad, pause_fb_ad, enable_fb_ad, duplicate_fb_ad, delete_fb_ad, create_fb_dco_ad, list_fb_creatives, create_fb_creative, upload_fb_ad_image, upload_fb_ad_video, validate_fb_ad_assets, get_fb_ad_preview, get_ad_preview, get_fb_ad_image_permalink, get_fb_creative_hd_thumbnail
Audiences and targeting research136list_fb_audiences, create_fb_custom_audience, create_fb_lookalike_audience, create_fb_engagement_audience, update_fb_audience, delete_fb_audience, upload_customer_list_to_fb_audience, get_fb_audience_insights, search_fb_interests, search_fb_locations, search_fb_behaviors, search_fb_demographics, get_fb_locale_codes
Pixels, conversions, and catalogs61list_fb_pixels, configure_fb_pixel, get_fb_pixel_events, list_fb_custom_conversions, list_fb_catalogs, get_fb_catalog
Lead forms31list_fb_lead_forms, create_fb_lead_form, get_fb_leads
Budgets and pacing31get_fb_budget_pacing, create_fb_budget_schedule, list_fb_budget_schedules
Automated rules21create_fb_automated_rule, list_fb_automated_rules
Reporting and diagnostics120get_fb_performance, get_fb_adset_performance, get_fb_ad_performance, get_fb_performance_by_placement, get_fb_performance_by_device, get_fb_performance_by_age_gender, get_fb_performance_by_country, get_fb_performance_by_time, get_performance_trend, get_delivery_issues, get_fb_account_activity, search_ad_library

Four groups carry most of the operational weight. Creative production is the one Meta advertisers ask about first. upload_fb_ad_image and upload_fb_ad_video put media into the account, validate_fb_ad_assets checks image accessibility, Page access, the Instagram link, and placement compatibility before anything is published, create_fb_creative assembles single-image, single-video, and carousel creatives, and create_fb_dco_ad builds a dynamic creative ad set where Meta tests every combination of bodies, titles, and images. Audiences go the full distance, from a customer list upload through upload_customer_list_to_fb_audience to a lookalike built on top of it, and the four search tools let the assistant find interest, behaviour, location, and demographic IDs instead of guessing. Pixels and lead forms mean the measurement and the lead capture live in the same session as the campaigns. configure_fb_pixel sets up the pixel, get_fb_pixel_events shows what it is receiving, and create_fb_lead_form builds an instant form that attaches to an ad. Reporting has eight breakdowns and a trend tool, and get_delivery_issues lists every ad and ad set with a delivery problem, with Meta's error code and message, before you go looking.

The five build tools are create_fb_campaign, create_fb_adset, create_fb_ad, create_fb_creative, and create_fb_dco_ad. That is the full campaign object chain, so an assistant can go from "nothing" to a live ad without a single Ads Manager click. It still cannot switch that ad on without you, which is the next section.

One detail worth knowing. create_fb_campaign discloses Meta's own bid strategy default when you set a campaign budget and leave the strategy blank, and it sends that default explicitly so the applied value is visible in the result. Small, but it is the kind of thing a hosted server should do for you and a raw API call does not.

For marketers

Run Meta Ads from a chat window

The practical shape of a week on PaidSync's Meta stack looks like three kinds of prompt. A report prompt, a build prompt, and a cleanup prompt. Here is one of each, with the tools that run underneath.

"Show me the last 7 days by campaign, then by placement, and tell me which ad sets are pacing under budget." The assistant calls get_fb_performance for the campaign view, get_fb_performance_by_placement to split Instagram Reels from Facebook Feed, and get_fb_budget_pacing for the ad sets that are behind. Three reads, no confirmation needed, one answer in plain numbers.

"Duplicate the Spring Sale campaign for the UK, point the ad set at a 1% lookalike of last quarter's buyers, and keep everything paused." The assistant proposes duplicate_fb_campaign, then create_fb_lookalike_audience from your existing purchasers audience, then update_fb_adset with the new audience and UK geography. Each write shows up as a preview first, because the Meta create, update, and pause tools default to dry_run true. You approve each one. The campaign lands paused because you said so, not because the tool decided.

"Find every ad whose CTR fell by half since launch and pause it." get_fb_ad_performance and get_performance_trend find the candidates, the assistant lists them with the numbers, and pause_fb_ad runs once per ad after you confirm the list. If you want this to run every Monday without asking, create_fb_automated_rule hands the schedule to Meta and the rule shows up in Ads Manager like any other.

Because the same server carries Google Ads (149 tools), LinkedIn (34), TikTok (13), GA4 (26), GTM (39), Search Console (6, read only), and Merchant Center (16), the follow-up "did the Meta budget shift move GA4 purchases, and is Google Shopping now overspending on the same products" is answered in the same session, not in another tab. That cross-platform session is the practical difference between a Meta connector and a paid-media server. For prompt ideas, 15 Meta Ads prompts for Claude is a working list, and the Meta Ads audit guide shows the deeper account-review workflow.

Trust is the honest concern with write access, and the answer is procedural, not promissory. Nothing applies without your confirmation. Previews show the exact planned change first. Destructive operations need a second, explicit step. Approval cards carry one-tap undo and a 7-day outcome check, so a change you regret on Thursday is reversible and a change you approved on Monday reports back on what it did. If you would rather have a specialist watch the account for you, the workspace ships a Creative Fatigue Watcher, a Budget Pacer, a ROAS Guardian, and a Wasted Spend Hunter that run on the same gated tools.

Connect a Meta ad account to Claude, ChatGPT, or Gemini CLI and run the first report in minutes.

Start free, 15 tasks, no card Read the category guide
For agent builders

The protocol surface behind the 83 tools

PaidSync is one MCP endpoint covering 14 platforms, https://mcp.paidsync.ai/mcp, over Streamable HTTP. Details on the MCP server page. Authentication is OAuth 2.0 with dynamic client registration and PKCE, so a client that speaks the current MCP authorization flow signs in with the PaidSync login and never sees a long-lived token. An API key also works for read-only use as https://mcp.paidsync.ai/mcp?api_key=ps_your_key_here. Applying a change requires the OAuth sign-in, by design.

To keep client context small, tools/list returns a lean starter set. The full catalog is discovered at runtime through paidsync_context, which returns the active ad account, connected platforms, and the grouped tool catalog, and executed through paidsync_exec. That two-call pattern means an agent can enumerate and invoke all 83 Meta tools without a 500+-tool schema payload sitting in every conversation. Account context is explicit. list_fb_ad_accounts walks the accounts the Meta login can see, set_fb_ad_account binds one, and every Meta call after that carries the bound account, so an agent working across a Business Manager with several ad accounts never guesses which one it is writing to.

Safety is enforced server-side, not left to the client. Every write is held for approval. The Meta create, update, and pause tools carry a dry_run argument that defaults to true, so a naive agent that forgets to preview still gets a preview. Destructive operations require confirm_destructive. Sessions can be revoked at any time, and platform tokens are encrypted at rest with AES-256-GCM. Repeatable work can be saved as a workflow with paidsync_workflows_save and run with paidsync_workflows_run; workflows are TypeScript compositions of the same tools, so they inherit the same approval gate.

For discovery and verification, the domain publishes OAuth authorization-server and protected-resource metadata (RFC 8414 and RFC 9728), an MCP server card, agent-auth.json, security.txt, and a Content-Signal directive, so an agent can establish what this server is and how to authenticate against it before the first task. The Meta bulk operations reference documents the argument shapes for the write tools.

Meta's official ads MCP, compared honestly

Meta runs its own ads MCP server at mcp.facebook.com/ads. It went into open beta on April 29, 2026, and it reads and writes, which puts it alongside TikTok's official Ads MCP as one of the two first-party ads servers that can change an account, not just report on it. Two facts matter before you rely on it. Access is gated per ad account with an is_ads_mcp_enabled flag, and US and higher-spend accounts were enabled first. Accounts outside the rollout get an error rather than a waitlist. On July 16, 2026 Meta added developer-app connections and server rules, which is the point at which agencies with their own Meta developer app could route through it. Meta's documentation lives at developers.facebook.com, and our walkthrough of setup, tool coverage, and guardrails is Meta's official ads MCP, a practical guide.

Meta's server is a good product for a Meta-only advertiser whose account is in the rollout. It is first party, it needs no third-party trust decision, and there was no separate charge for it in beta. The honest comparison is about scope, not quality. PaidSync's Meta surface sits inside a server that also runs 13 other platforms, it works on any ad account you can authorise today, every write is held for approval, and a question that spans Meta, Google, and GA4 is answered in one prompt. The table uses Meta's public documentation and our own registry as of September 2026. Full head-to-head at PaidSync vs Meta MCP.

DimensionPaidSyncMeta's official ads MCP
EndpointOne endpoint, https://mcp.paidsync.ai/mcp, for all 14 platformsmcp.facebook.com/ads, Meta only
StatusLive, 83 Meta tools, any account you can authoriseOpen beta since April 29, 2026
Read and writeYes, 46 reads and 34 writesYes, read and write
Account availabilityEvery ad account the Meta login can seePer-account gating with is_ads_mcp_enabled, US and higher-spend accounts first
Developer-app connections and server rulesNot required, connect with the PaidSync loginAdded July 16, 2026
Platforms in one session14 (Google Ads, LinkedIn, TikTok, GA4, GTM, Search Console, Merchant Center, and more)Meta only
Approval gate on every writeYes, held for confirmation, dry_run on by defaultMeta's own controls; see the guide for the campaign-status behaviour
Cross-platform question in one promptYesNo
Partner statusMeta Business Partner; founder is a Google Premier Partner with $500M+ managedMeta, first party
PriceFree $0 (15 tasks), Pro from $99 a monthNo separate charge in beta

Quick verdict.

Meta is your only paid channel and your account is in the rollout: Meta's official ads MCP. First party, no separate charge, no third party to trust.

Your account is not enabled yet, or you are outside the US and not a high spender: PaidSync works on the account today, with the same read and write depth.

You run Meta alongside Google, LinkedIn, TikTok, GA4, or GTM, or you want a confirmation step on every change: PaidSync. One endpoint covers the stack, one prompt crosses platforms, and every write waits for you.

The two can sit side by side in the same client. Nothing about either server blocks the other.

What this does not do

Stated plainly, because scoping a tool accurately beats overselling it.

  • One object per call. Each create or update acts on one campaign, ad set, ad, or audience. A change across forty ad sets is forty approved tasks or one create_fb_automated_rule that Meta runs on a schedule. Spreadsheet-style bulk import is not the shape of this tool set.
  • Advantage+ creative enhancements are not exposed. Advantage+ audience expansion is a parameter on the ad set tools, on by default. The automatic text, music, and template enhancements Meta applies to creatives are not switches in create_fb_creative.
  • Catalogs are read, not built. list_fb_catalogs and get_fb_catalog show what is there. Catalog sales campaigns and collection creatives are not created by this tool set. Product and feed writes live on the Merchant Center side of the server, for Google.
  • No organic. No posting, no Page management, no comment moderation. This is an ads server.
  • Nothing spends without a human decision. Every write waits for your confirmation. Autonomy is opt-in per agent, inside budget guardrails you set, and can be switched off at any time. A Meta automated rule you create through PaidSync is then Meta's rule, visible and editable in Ads Manager.

Connect it to your AI client

The server URL is the same everywhere, https://mcp.paidsync.ai/mcp, and the transport is Streamable HTTP everywhere. What differs is where each client hides the "add a server" screen. The summaries below are taken from PaidSync's client setup registry, verified in September 2026. Each Meta guide walks the full flow with screenshots.

ClientWhere to add PaidSyncMeta guide
ClaudeIn claude.ai or the Claude Desktop app, open Settings, then Connectors, search PaidSync, click Connect, and sign in with your PaidSync login. Connectors work on every Claude plan, including Free, which allows one custom connector.Meta Ads to Claude
Claude CodeIn your terminal, run claude mcp add --transport http paidsync https://mcp.paidsync.ai/mcp. Start a session, type /mcp, pick paidsync, and sign in in the browser window that opens. For a team, commit a .mcp.json at the repo root with the same http server entry.Same steps as Claude
ChatGPTOpen Settings, then Security and login, and turn on Developer mode. Go to chatgpt.com/plugins, click the plus button, name the app PaidSync, paste the server URL, choose OAuth, and sign in with your PaidSync login on first use. Developer mode is available on Plus, Pro, Business, Enterprise, and Education plans on the web.Meta Ads to ChatGPT
Gemini CLIRun gemini mcp add --transport http paidsync https://mcp.paidsync.ai/mcp, then type /mcp auth paidsync and sign in. Gemini Code Assist and Antigravity read an httpUrl entry in ~/.gemini/settings.json. The consumer Gemini app does not accept custom MCP servers.Meta Ads to Gemini
Copilot StudioOpen your agent, then Tools, Add a tool, New tool, Model Context Protocol. Paste the server URL, choose OAuth 2.0 with Dynamic discovery, transport Streamable HTTP, click Create, then Add to agent, and publish to the Microsoft 365 Copilot channel. Copilot Studio needs a work or school account. The consumer Copilot app does not accept custom MCP servers.Meta Ads to Microsoft Copilot
PerplexityOpen your profile menu, then All settings, then Connectors, then Custom connector. Name it PaidSync, paste the server URL, choose OAuth and Streamable HTTP, save, and sign in when prompted. Connectors work on every Claude plan, including Free.Meta Ads to Perplexity
CursorAdd a paidsync entry with url set to the server URL in .cursor/mcp.json (or ~/.cursor/mcp.json for every project). Open Cursor Settings, then MCP, and sign in when Cursor prompts for OAuth. Windsurf uses the same shape with serverUrl.Same steps as Cursor

Prefer an API key for read-only reports? Use https://mcp.paidsync.ai/mcp?api_key=ps_your_key_here as the URL in any of these clients. Applying a change still requires the OAuth sign-in. GitHub Copilot in VS Code is a different product from Microsoft 365 Copilot; there, run MCP: Add Server, choose HTTP, paste the same URL, and sign in when prompted.

Pricing

Every plan includes all 14 platforms and every ad account you connect; there is no per-account or per-platform charge. Every tool call counts as one task, whether it reads a report or drafts a change. A dry-run preview and the approved write are two tasks. Full detail at paidsync.ai/pricing.

PlanPriceIncluded
Free$0/mo15 tasks a month, no card required
ProFrom $99/mo600 tasks ($99), 1,200 tasks ($149), or 4,000 tasks ($199)
TeamFrom $249/mo5 seats, 6,000 shared tasks
Done For YouCustomFully managed paid media

Put 83 Meta Ads tools and 13 more platforms in front of your AI assistant today.

What is a Meta Ads MCP server?

An MCP (Model Context Protocol) server exposes Meta Marketing API actions as typed tools that AI assistants such as Claude, ChatGPT, and Gemini CLI can call. A Meta Ads MCP server lets the assistant read performance, build campaigns and ad sets, upload creatives, manage audiences and pixels, and change budgets on Facebook and Instagram through conversation instead of Ads Manager clicks. PaidSync's Meta surface is 83 tools with full write access at one endpoint, https://mcp.paidsync.ai/mcp. Meta's own server at mcp.facebook.com/ads has been in open beta since April 29, 2026.

How many Meta Ads tools does PaidSync have?

83 live Meta tools, inside a server of 500+ tools across 14 platforms. 46 read, 34 write, and 3 handle the connection itself. The set covers campaigns, ad sets and schedules, ads and creatives (image and video upload, carousel and dynamic creative, pre-publish asset validation, previews), custom, lookalike, and engagement audiences with customer list upload, interest, behaviour, location, and demographic search, pixels and custom conversions, catalogs, lead forms, budget schedules and pacing, automated rules, billing transactions, and performance reporting by placement, device, age and gender, country, and time.

Can the AI create Meta campaigns, or only read reports?

It can create. Five tools build from scratch: create_fb_campaign, create_fb_adset, create_fb_ad, create_fb_creative, and create_fb_dco_ad. The rest of the 34 write tools act on existing objects, so the assistant can update, pause, enable, duplicate, and delete campaigns, ad sets, and ads, upload media, create audiences, configure a pixel, create lead forms and budget schedules, and create automated rules. Every one of those writes is held for your approval before it runs, and the create, update, and pause tools preview by default with dry_run set to true.

How is PaidSync different from Meta's official ads MCP?

Meta's official ads MCP at mcp.facebook.com/ads went into open beta on April 29, 2026. It is first party, Meta only, and reads and writes. Access is gated per ad account with an is_ads_mcp_enabled flag, and US and higher-spend accounts were enabled first. On July 16, 2026 Meta added developer-app connections and server rules. PaidSync is a third-party Meta Business Partner server with 83 Meta tools, one endpoint, 14 platforms in the same session, an approval gate on every write, and cross-platform questions answered in one prompt. It works on any ad account you can authorise today. Detail at /vs/meta-mcp.

Can I run PaidSync and Meta's official ads MCP together?

Yes. MCP clients such as Claude, ChatGPT, and Cursor support several servers in one workspace. Some teams keep Meta's server for Meta-native tasks and use PaidSync as the daily driver for cross-platform work, audits, and tracking setup. Nothing about either server blocks the other.

Is it safe to give an AI write access to a live Meta ad account?

PaidSync applies nothing without your confirmation. Every write is held for approval in chat, the Meta create, update, and pause tools default to dry_run true so you see the planned change before anything touches the account, and destructive operations such as delete_fb_campaign need an explicit confirm_destructive step. Approval cards carry one-tap undo and a 7-day outcome check. Your Meta tokens are encrypted at rest with AES-256-GCM. Read operations run without confirmation because they change nothing.

Does this cover Instagram ads too?

Yes. Instagram ads run through the same Meta ad account and Ads Manager, so one PaidSync connection covers Facebook and Instagram placements. list_fb_instagram_accounts lists the Instagram accounts linked to your Pages, and get_fb_performance_by_placement breaks results out by placement (Feed, Reels, Stories, and the rest).

What does PaidSync's Meta tool set not cover?

Each create or update call works on one object, so a change across forty ad sets is forty approved tasks or one automated rule. Advantage+ audience expansion is a parameter on the ad set tools; Advantage+ creative enhancements are not exposed in create_fb_creative. Catalogs can be listed and read, but catalog sales campaigns and collection creatives are not built by this tool set. There is no organic posting, no Page management, and no comment moderation. Search Console stays read only, and PaidSync never writes to it.

How much does the PaidSync Meta Ads MCP cost?

Free is $0 for 15 tasks a month with no card. Pro starts at $99 a month for 600 tasks, with 1,200 tasks at $149 and 4,000 at $199. Team starts at $249 a month for 5 seats and 6,000 shared tasks. Done For You is custom-priced, fully managed paid media. Every plan includes all 14 platforms and every ad account you connect; there is no per-account or per-platform charge.

Which AI assistants work with the PaidSync Meta Ads MCP?

Claude (web, desktop, and Claude Code), ChatGPT in developer mode, Gemini CLI and Gemini Code Assist, Perplexity, Microsoft 365 Copilot through a Copilot Studio agent, GitHub Copilot in VS Code, Cursor, Windsurf, and any client that speaks MCP over Streamable HTTP. The consumer Gemini app and the consumer Copilot app do not accept custom MCP servers. Guides for Meta specifically: Claude, ChatGPT, Gemini, Perplexity, Microsoft Copilot.