AI & Data Studio

Meta Ads MCP: connect Facebook and Instagram ads data to Claude or ChatGPT, and check it against your Data Studio report

Meta now runs its own Ads MCP server for Claude, ChatGPT and Perplexity, and it can create, edit and switch on ads as well as report on them. Here's how to connect it, how to use Meta's rules to keep it in check, the connector alternatives, and how to check its numbers against your Data Studio report.

Lazarina Stoy·

Meta Ads MCP: connect Facebook and Instagram ads data to Claude or ChatGPT, and check it against your Data Studio report

Meta runs an official Ads MCP server at mcp.facebook.com/ads that Claude, ChatGPT, Claude Code and Perplexity can connect to with your Meta login, no developer app required. It reports on Facebook and Instagram campaigns and can also create, edit and switch on ads, so set Meta’s rules in Business Suite before you use it. Then check its first answers against your Data Studio report (formerly Looker Studio), with the same attribution setting on both sides.

Below: routes, tools, setup, Meta’s rules, the alternatives, a parity check and the limits. “Facebook Ads MCP” and “Meta Ads MCP” are the same thing, and Instagram ads run through it too. If MCP is new to you, the GA4 post explains it; for every route side by side, see marketing data MCP servers compared.

I’m writing this from Meta’s developer documentation, Help Centre, newsroom and developer blog, the vendors’ docs and the repositories’ source, read on 14 October 2026. I haven’t connected Meta’s server, a connector’s MCP or a community server to an ad account, or run the parity check.

What Meta provides: one official Meta Ads MCP server, hosted by Meta

Meta announced “Meta ads AI connectors” on 29 April 2026 as an open beta “across regions”: the ads MCP server, plus an Ads CLI for developers. A 16 July 2026 update let your own app connect and added rules for what agents may do.

Question Meta’s Ads MCP server
Who hosts it Meta (“remote-hosted”); nothing to install
Server URL https://mcp.facebook.com/ads, the same for every assistant
Status Open beta since 29 April 2026; rules since 16 July 2026, in limited availability
Sign-in Facebook Login for Business (your Facebook account or a Meta Managed Account)
Permissions (token route) ads_mcp_management, ads_read, ads_management, catalog_management, business_management, pages_show_list, instagram_basic
Meta app needed? No, on the Help Centre route. Your own app needs the ads MCP use case
App Review? Only if your own app manages other businesses’ data: Advanced Access on ads_mcp_management
Read or write Both: 36 of its 91 documented tools change something
Price, rate limits Not stated on Meta’s pages

From Meta’s developer docs, Help Centre and developer blog, read 14 October 2026. Meta’s developer pages are undated. Tool counts are mine, from Meta’s seven tool pages.

Rollout is gradual: Meta warns “You may not have access to all of these tools and features yet”. Google’s Ads server is the opposite: read-only, and run on your own machine (the Google Ads version of this post).

Meta Ads, Facebook and Instagram, feeds Meta's hosted Ads MCP server, which serves Claude, Claude Code, ChatGPT and Perplexity; Meta Ads also feeds a partner connector, the only way into Data Studio since there's no Google-built Meta connector; a dashed line from the assistants to the Data Studio report is labelled check the answer here
Meta hosts the server the assistant uses. Your Data Studio report reads the same data through a partner connector, which makes it the check.

Pick your route by the assistant you use

Meta’s server is remote: a URL, not a program on your computer, so it works wherever your assistant accepts a remote connector, with no terminal.

Route Claude (web, Desktop) Claude Code ChatGPT Perplexity Terminal? Who holds the Meta authorisation Can it write?
Meta’s server, no app Yes (Free: one custom connector) Yes Developer mode, plan permitting Yes No You, through Meta Yes, within your rules
Meta’s server, your own app Not in Meta’s doc Yes (Meta’s command) Yes (your app ID) Not in Meta’s doc For Claude Code Your app Yes, within your rules
A connector’s hosted MCP Yes Yes Vendor’s app or URL Vendor-dependent No The vendor Depends on the vendor
Community server, local Desktop only Yes Not directly Not directly Yes You (your token) Depends on the server
Community server, hosted Yes Yes As a remote URL Vendor-dependent No The operator Depends on the server

From Meta’s, Anthropic’s and OpenAI’s help pages and each vendor’s docs, checked 14 October 2026. Plan details change monthly.

In ChatGPT, full MCP including writes is in beta for Business, Enterprise and Edu; Pro gets read/fetch in developer mode, which for a reporting question is no loss.

Decision tree: people asking in Claude, ChatGPT, Perplexity or Claude Code go to the connector MCP they already pay for, if it covers Meta, otherwise Meta's server through the Help Centre route; people building their own app use Meta's server with their own app, plus App Review if they manage other businesses' accounts
Most marketers land on Meta’s server with no app, or on the MCP their connector already includes.

What Meta’s server reads, and what it can change

By my count, Meta documents 91 tools in seven categories, and 36 of them create, change, activate or delete something. Reporting runs through ads_get_ad_entities (spend, impressions, CTR, CPC, CPM and conversions, with breakdowns and date ranges), plus trend, anomaly and benchmark tools. Account discovery returns each ad account’s currency and time zone, which the check needs later.

Category Tools Of which change something Example
Comprehensive reporting 7 0 “Which campaigns spent most last month?”
Ad creation and management 28 11 Create a campaign, edit an ad set, activate an ad, boost an Instagram post, upload custom-audience users
Catalog creation and management 34 16 Create or delete products, feeds and product sets
Signals and datasets 13 6 Create, update or delete pixel events and parameters
A/B tests and conversion lift 7 3 Create or update a test
Help and troubleshooting 2 0 Search Meta’s Help Centre
Activity logs 1 0 What changed on the account

Counted from Meta’s seven tool reference pages on 14 October 2026: names with create, update, delete, activate, connect, disconnect or boost count as changes. Meta says it’s “continuously adding” tools, so ask your agent what it has.

Paused isn’t the same as safe

  • Paused: Meta says write tools “create entities in a paused state; your AI client asks for confirmation before activation”.
  • Not marked paused: ads_update_entity edits existing campaigns, ad sets and ads, running or not. Audience uploads, audience and pixel deletes and A/B test changes carry no paused note either.
  • What turns spending on: ads_activate_entity, which Meta describes as “starts spending budget”.

Set up the Meta Ads MCP in Claude or ChatGPT

This is Meta’s setup, with the Claude and ChatGPT parts from Anthropic’s and OpenAI’s help pages. It’s the documented setup, untested by me. First set your rules (next section), and use a Meta login that sees only the ad accounts you mean to query.

1. Check you have access

In Meta Business Suite, open Settings and, below Integrations, look for Ads MCP server. If it isn’t there, Meta says you don’t have access yet.

2. Add the connector in Claude

In claude.ai or Claude Desktop, go to Customize → Connectors → + → Add custom connector, name it “Meta Ads” and paste https://mcp.facebook.com/ads as the URL (Anthropic’s custom connector guide).

3. Sign in and read the consent screen

Claude sends you to Facebook Login for Business. Read the permissions before you approve them.

4. Start with read-only prompts

Meta suggests “List my ad accounts.” and “Summarize the top-spending campaigns in <AD_ACCOUNT_ID> over the last 30 days.” I’d add “and tell me the attribution setting and date range you used”: Meta’s reporting tool page doesn’t say which attribution setting it applies by default.

Claude Code, with your own Meta app

Meta’s Help Centre lists Claude Code for the no-app route, pointing to Anthropic’s remote-server docs. Meta’s developer command is for the own-app route: add the Create & manage ads with ads MCP server use case to your app, set the Facebook Login for Business redirect URL, then:

# From Meta's get-started page. The documented setup, untested by me.
claude mcp add --transport http --client-id <META_APP_ID> meta-ads https://mcp.facebook.com/ads

For the curious, Meta’s token-route example of listing the tools (the token carries the manage permissions above: treat it like a password):

# From Meta's get-started page. The documented setup, untested by me.
curl -i -X POST "https://mcp.facebook.com/ads" \
    -H "Authorization: Bearer <ACCESS_TOKEN>" \
    --data-raw '{"jsonrpc":"2.0","method":"tools/list","id":1}'

ChatGPT and Perplexity

In ChatGPT, turn on developer mode and add an app with OAuth and https://mcp.facebook.com/ads as the server URL (OpenAI’s developer mode guide); on the own-app route, your Meta app ID goes in Advanced OAuth Settings as the OAuth Client ID. Perplexity uses the same URL through its custom remote connector guide.

The companion sheet has these steps as a Meta checklist, plus a rules plan and the parity worksheet:

Before you ask anything: limit what the agent can do with Meta’s rules

Whoever has full control of the business portfolio sets rules per ad account or catalogue in Business Suite (Settings → Integrations → Ads MCP server). In Meta’s words, “Our ads MCP server will enforce these rules”; a blocked action shows “Limited” next to “Take actions in this ad account”. Partners with shared access can set rules for their own staff. Meta’s rules doc lists what each one denies:

Rule (Business Suite label where Meta shows one · API action) What Meta says it denies My starting state for reporting only
“Create campaigns” · create_campaign Creating campaigns Blocked
create_ad_set, create_ad Creating ad sets, creating ads Blocked
“Edit or set budget” All budget changes, in the Help Centre’s words Blocked
“Budgets set above this amount” · edit_budget Budgets above a ceiling (the API also caps increases by a percentage or an amount) Only if you allow budget edits
edit_targeting Targeting and audience changes Blocked
edit_creative Creative changes Blocked
edit_status Delivery status changes, “such as pausing or activating” Blocked: it stops an agent switching spend on
all “Every agent action on the account” Test it before relying on it (see below)

From Meta’s rules doc and Help Centre, read 14 October 2026. Meta says rules “are in limited availability”. Catalogues have their own rules for product and product-set edits.

Blocking status changes has a cost: the agent can’t pause an overspending ad either. Meta suggests starting “in a read-only or approval-required posture” and widening later. Agencies can set rules across many accounts through Meta’s rules API.

What Meta doesn’t say, so don’t assume it:

  • whether the all rule also blocks reads. Meta describes rules that “grant an agent read access to performance data while withholding the ability to make changes to budgets, campaigns, or creative”, but it doesn’t document a single read-only switch;
  • whether rules cover tools that aren’t in the action list, such as custom-audience uploads, pixel events or A/B tests;
  • whether rules apply to apps that change your account outside Meta’s MCP server, such as a connector’s write actions. Meta says its ads MCP server enforces them, nothing more. For a connector, use the vendor’s own write switch.
An assistant's change request goes to Meta's Ads MCP server, then through your Business Suite rules, which block, cap or allow it, before reaching the ad account; below, a dashed lane from a connector's MCP with write actions on runs straight to the same ad account, labelled Meta's rules not documented here
Meta’s server checks your rules. A connector’s own writes reach the account by a route Meta’s rules aren’t documented to cover.

A reporting-only setup

  • ☐ Create campaigns, ad sets and ads: Blocked
  • ☐ Budget changes: Blocked
  • ☐ Targeting and creative: Blocked
  • ☐ Status (pause or activate): Blocked
  • ☐ First prompt: list its tools, and stop if a blocked change still works

For the agency side of this (who approves, what the client’s contract says), see client data and AI assistants.

Hosted options: connector MCPs that also feed your Data Studio report

Data Studio has no Google-built Meta connector, so every Meta report in Data Studio runs on a partner connector, and five of them also run MCP servers covering Meta Ads. Two columns matter: can it write to Meta, and does it document the attribution setting its MCP uses?

Vendor Meta Ads over MCP Writes to Meta? (vendor’s words) Attribution setting documented for the MCP? Same subscription feeds Data Studio
Windsor.ai Yes Yes: 20 Meta actions; writes “can be switched off if you want read-only access”; created paused Not stated Yes
Supermetrics Yes Beta (early access), opt-in per ad account, with approval modes; created paused Yes: the ad account’s or ad set’s setting (“There is no Supermetrics-side default”) Yes
Porter Metrics Yes Docs conflict: help says read-only; server docs list Meta campaign actions Not stated Yes
Catchr Yes No write actions documented Not stated Yes
Coupler.io Yes No: reads Meta only (can change Coupler’s own data flows) Not stated Yes

From each vendor’s MCP docs and write-action lists, checked 14 October 2026. Prices and plan limits are in marketing data MCP servers compared.

Coupler.io’s framing is a useful one: the AI “only queries the copy Coupler.io imported”, not the account. For choosing the connector, see Data Studio connectors compared and Porter vs Windsor vs Supermetrics.

Community Meta Ads servers: read the scope before you install

Before Meta shipped its server, GitHub filled the gap, and many of those servers now duplicate it with your personal token. Judge one on who holds the token, what it can change and its licence, not its stars:

Repository Stars Licence Last push Runs Auth Writes
pipeboard-co/meta-ads-mcp 1,305 Business Source License 1.1 23 Sep 2026 Hosted or self-host Pipeboard login or token Yes, 42 Meta tools; new campaigns paused
gomarble-ai/facebook-ads-mcp-server 364 MIT 5 Aug 2026 Local Your Meta user token (ads_read suggested) No: list, get and insights tools only
mikusnuz/meta-ads-mcp 85 MIT 8 Oct 2026 Local Access token in an environment variable Yes, “134 tools” including deletes
EfrainTorres/armavita-meta-ads-mcp 78 AGPL-3.0 16 Sep 2026 Local Token or browser login cache Yes, 125 tools; deletes need acknowledgement
irinabuht12-oss/google-ads-meta-ads-mcp 4,762 MIT 12 Oct 2026 README points to a hosted commercial service OAuth via the service Yes, with an approval step (vendor’s words)

Read from each repository’s README and GitHub metadata on 14 October 2026. Re-check before you install.

The most-starred one fronts a hosted commercial service and dates from April 2026. For most marketers, Meta’s own server plus rules is simpler.

Before you install a community server

  • ☐ Who holds the token: you, locally, or an operator’s servers?
  • ☐ Read-only or not, and which tools delete things.
  • ☐ Licence: BSL and AGPL carry conditions MIT doesn’t.
  • ☐ Last push and maintainer: someone answers issues.
  • ☐ Is the README selling a hosted product?
  • ☐ A token with the fewest permissions the job needs.

Check the answer against your Data Studio report

The assistant and your Data Studio report both read Meta’s ad insights, so for the same ad account, fields, fixed dates and attribution setting, the numbers should agree. Compare spend, impressions and clicks first, conversions second. This is a method, not a result: I haven’t run it on a client account.

Five boxes in a row: Claude or ChatGPT and Meta's server or a connector MCP point into Meta ad insights in the centre, reported in the ad account's time zone; a partner connector in Data Studio and your Data Studio chart point into it from the right; tags note that Meta's tool doesn't state its default attribution and that Data Studio caches; a strip lists what to match: same ad account, fixed dates, same attribution setting, same report time, same fields
Both paths read Meta’s insights. Match the account, dates and attribution setting, and the numbers should agree.
  1. Pick a fixed range that ended days ago. Meta says metrics can keep updating for a couple of days after an ad has completed, and insights “do not change after 28 days”.
  2. Note the ad account’s time zone and currency. Meta reports in the account’s time zone; the assistant can list both.
  3. Find your connector’s attribution setting. Catchr’s default is labelled “7-day click / 1-day view”; Coupler.io offers account, ad set or manual settings; Supermetrics has a “Conversion window”; Windsor.ai and Porter Metrics set it in the connection. Match it to Ads Manager.
  4. Ask the assistant to use the same setting and say which it used. Meta’s Insights API default is 7-day click plus 1-day view, per Meta’s reference, and use_unified_attribution_setting gives “the same behavior as in the Ads Manager”. Supermetrics’ MCP uses the ad set’s setting unless you name one.
  5. Match the report time. Counting by impression date or by conversion date moves conversions between days (Meta’s example: seen 1 January, converted 2 January).
  6. Refresh the Data Studio data source so you’re not comparing against a cache.
  7. Compare campaign rows in the worksheet, with Ads Manager as the tiebreak.



If your report was built before 12 January 2026 on the 7-day view or 28-day view window, those windows are gone from Meta’s API: expect a step down in conversions, not a broken connector.

Symptom Likely cause How to check
Spend matches, conversions don’t Different attribution setting Ask the assistant which it used; check the connector’s setting
Conversions dropped in a long-running report 7-day and 28-day view removed on 12 January 2026 Check the window the report was built on
Daily conversions shuffle between days Report time: impression vs conversion date Ask which report time it used
Recent days differ, older ones match Recent days still attributing End the range days back
Every day off a little Time zone Use the ad account’s time zone on both sides
Totals off by a day A relative range (“last 30 days” is the API’s default preset) Fixed dates on both sides
Data Studio is the odd one out Cache Refresh the data source
Reach is higher on one side Reach summed across days Compare the period total, not daily rows
Spend off across accounts Different account currencies One ad account at a time

From Meta’s Insights API reference and best practices, Meta’s developer blog, Google’s Data Studio freshness doc and the connector vendors’ discrepancy guides, read 14 October 2026.

More on caching in how data freshness works. The sheet’s Meta worksheet flags mismatched attribution settings before you compare:

The limits: spend, scope, client data and what Meta hasn’t published

Spend. Activation and edits change a live account. Keep the status and budget rules on until you’ve decided who approves changes.

Scope. The token route asks for ads_management, business_management and catalog_management: a key to the account. Meta’s general MCP page (which covers its other MCP servers) warns that agents can be steered by “malicious instructions hidden in tool outputs (prompt injection)” and says “Don’t grant write/manage scopes to AI agents that process untrusted input”.

Client data. Meta’s Platform Terms govern what you do with the data that comes back, and custom-audience uploads are personal data, even hashed. The agency checklist is in client data and AI assistants.

Bans. Meta says “it’s unlikely that an account would be banned simply for using it”; bans follow breaches of its advertising standards. Third-party reports link restrictions to high-volume automated changes: another reason to start read-only.

Unpublished. Meta states no price, MCP rate limits or retention, and its developer pages are undated: re-check them.

  • ☐ Rules set before the first prompt.
  • ☐ Read-only for the first week.
  • ☐ The Meta login sees only the accounts you meant.
  • ☐ The client’s contract allows AI processing of their ad data.
  • ☐ The number was parity-checked before it was shared.
  • ☐ Connected integrations reviewed, and old ones removed.

Meta Ads templates to check against

Pick one built on the connector you’d use for the check, so both sides share a data source:

The Facebook (Meta) Ads Data Studio dashboard template — a Data Studio dashboard by Catchr
Catchr’s free Meta Ads overview: impressions, reach, CPM, clicks, CTR, CPC, purchases and purchase ROAS scorecards, with spend over time. Open the template · by Catchr
The Facebook and Instagram Ads Data Studio dashboard template — a Data Studio dashboard by Supermetrics
Supermetrics’ free performance overview leads with amount spent, impressions and link clicks, with account, ad set, campaign objective and publisher platform filters: the totals to compare first. Open the template · by Supermetrics

Where to go next

Frequently asked questions

Is there an official Meta Ads MCP server?

Yes. Meta hosts one at https://mcp.facebook.com/ads, in open beta since 29 April 2026.

Do I need a Meta developer app or App Review?

Not on Meta’s Help Centre route. Your own app needs the ads MCP use case, and App Review only if it manages other businesses’ data.

Can it spend money?

Yes, if you let it: it can activate paused ads and edit live ones. Block status and budget changes with Meta’s rules.

Can I make it read-only?

Meta’s rules can block each kind of change, and Meta describes a read-access posture, but it doesn’t document a single read-only switch.

Why don’t the assistant’s conversions match my Data Studio report?

Usually the attribution setting, report time, time zone, recent days or the cache (table above).

Shopping Cart
Scroll to Top