Back to blog
Article

How to Connect Meta Ads to Claude

October 4, 2026
17 min read
By InsightfulPipe
On this page
How to Connect Meta Ads to Claude

InsightfulPipe publishes this guide, and the steps use its hosted Facebook Ads MCP server. Other ways to connect, including Meta's own ads MCP server, are covered near the end.

Last updated: 2026-09-30

Short answer: To connect Meta Ads to Claude, connect Facebook Ads in InsightfulPipe, add https://facebook-ads.insightfulmcp.com/ as a custom connector in Claude, and click Connect. You sign in with Facebook, so there is no Meta developer app, no app review and no server to host. Plans start from $29.99 a month.

The quick version: connect Meta Ads to Claude in six steps

Six steps, about five minutes, all in your browser. Each step has its own section below, with the exact labels you will see.

  1. In InsightfulPipe, open Connected accounts, click Connect account and pick Facebook Ads.
  2. Choose Read-only or Read & write, then sign in with Facebook and select your ad accounts.
  3. In Claude, open Customize > Connectors, click +, then Add custom connector.
  4. Paste https://facebook-ads.insightfulmcp.com/, click Continue, then Add and Connect.
  5. Start a new chat and switch the connector on from + > Connectors.
  6. Run the read-only check under "Verify it worked" before you let it change anything.

The two hosted routes at a glance:

InsightfulPipe

Meta's own server

Server URL

https://facebook-ads.insightfulmcp.com/

https://mcp.facebook.com/ads

Meta Ads actions

53: 38 read, 12 write, 3 deletes

Seven tool categories, no total

Per-account limits

Each action, switched by an owner, admin or operator

Rules, in limited availability

Setting ads live

You, in Ads Manager

Its activation tool, after your client confirms

Other platforms

Google Ads, GA4, LinkedIn Ads and 46 more

Meta ads only

Price

From $29.99 a month

No price published

Watch: connect Meta Ads to Claude and audit spend and ROAS from one prompt, 2 minutes 39 seconds

The video may show an earlier version of the setup screens. Follow the steps in this guide for the current labels.

What are you actually connecting?

You connect three things in a line: Claude, InsightfulPipe's hosted MCP server, and the Meta ad accounts you authorize. Claude never receives your Facebook password.

Claude → InsightfulPipe MCP server → your authorized Meta ad account

InsightfulPipe's Meta Ads MCP server page: a hosted server for Claude, ChatGPT and Cursor with 53 read and write actions, each enabled or disabled per account.

Claude sends a structured request over MCP. InsightfulPipe runs the matching call on Meta's Marketing API, version 25.0, with the OAuth access you granted.

Four things bound what the assistant can reach: your InsightfulPipe workspace, the ad accounts you connected, each account's list of actions, and your own role on the ad account. The Meta Ads MCP server page lists all 53 actions.

You do not need your own Meta developer app, an app review, a server to host or an API version to track.

Before you start

You need four things: a role on a Meta ad account, an InsightfulPipe workspace, a workspace role that can connect accounts, and an AI client that takes remote MCP servers.

  • A Meta ad account role. Your Facebook login needs a role on each ad account. Instagram placements live in the same ad account, so paid Instagram needs nothing extra.
  • An InsightfulPipe workspace. Plans start from $29.99 a month, and each ad account counts as one connection. Start a trial if you need one.
  • An owner, admin or operator seat. These roles connect accounts and choose their actions, and an owner or admin can change anyone's role at any time.
  • A client that takes remote MCP servers. Claude's Free, Pro, Max, Team and Enterprise plans all take custom connectors, and Free accounts get one (Anthropic).

Meta's own roles still apply. Meta lists three ad account roles, Admin, Advertiser and Analyst, and an Analyst can view ads and reports but cannot create or edit ads (Meta). InsightfulPipe cannot expand the authority of the Facebook login you connect.

Total time: about 5 minutes. Most of it is the Facebook sign-in in step 1.

Step 1: Connect Facebook Ads in InsightfulPipe

You pick the access level first and sign in with Facebook second. Each ad account you select becomes its own connection, with its own list of actions.

  1. Open Connected accounts and click Connect account.
  2. On Add an integration, find Facebook Ads and click Connect.
  3. Choose Read-only or Read & write.
  4. Review the actions under MCP / CLI actions, then click Continue with Facebook Ads.
  5. Sign in with Facebook and approve the permissions Meta shows.
  6. Select your ad accounts and click Connect.

Read-only asks Meta for ads_read alone. Read & write adds ads_management, which every write needs, plus a choice of User access or System-user access. Start read-only if reporting is the job: that connection locks every write until an owner or admin reconnects it with read and write.

InsightfulPipe's Facebook Ads setup, step 2 of 3, before any sign-in: choose Read-only or Read & write, and with Read & write, User access or System-user access.

Step 2: Add the connector URL in Claude

Claude adds the server as a custom connector, which takes one URL and one authorization.

  1. Copy the server URL: https://facebook-ads.insightfulmcp.com/
  2. In Claude, open Customize > Connectors.
  3. Click +, then Add custom connector.
  4. Name it, paste the URL, click Continue, then Add.
  5. Click Connect on the new connector.
  6. Sign in to InsightfulPipe if asked. Claude then lists the connector as connected.
The setup panel on InsightfulPipe's Meta Ads MCP server page: the server URL, the client tabs, and four Claude steps that end in Authorize access.

Once you're signed in, the connection finishes on its own. Claude reaches only the Facebook Ads accounts your workspace has connected and granted to you. If none is yours to use, Claude can't connect, so finish step 1 or ask an owner or admin for access.

On Team and Enterprise plans, an Owner adds the URL once under Organization settings > Connectors (Add, Custom, Web). Each member then clicks Connect in Customize > Connectors (Anthropic).

For one click, the Open Claude Directory button on our Meta Ads MCP server page adds the full InsightfulPipe server with every connected account. The URL above keeps Claude to Facebook Ads.

Claude's Add custom connector dialog with the name Facebook Ads and https://facebook-ads.insightfulmcp.com/ filled in, ready for Continue.

Step 3: Turn the connector on in a new chat

Claude turns connectors on per conversation, so switch the Facebook Ads connector on in each chat where you want it.

  1. Start a new chat.
  2. Click + at the lower left and open Connectors.
  3. Switch the Facebook Ads connector on.

Reports go through the server's query_data tool and changes through execute_action. Under Customize > Connectors, the connector's Tool permissions set each tool to Always allow, Needs approval or Blocked (Anthropic), so set query_data to Always allow and execute_action to Needs approval.

A new Claude chat with the + menu open on Connectors and the Facebook Ads connector switched on.

Step 4: Choose which actions the assistant may run

Every connected ad account has its own list of actions, and an owner, admin or operator switches each one on or off. The server enforces that list in Claude, ChatGPT, Cursor and every other client.

  1. In InsightfulPipe, open Connected accounts.
  2. On the ad account's row, click the actions count. Its tooltip reads Configure actions for this account.
  3. Switch actions on or off across the All, Read only, Write and Destructive tabs.
  4. Click Save actions.

On a new read and write connection, the Destructive tab shows delete_campaign, delete_adset and delete_ad switched off until an owner, admin or operator switches them on. The server refuses anything switched off: "This action is disabled for this connected account. An owner or admin must enable it for the account."

InsightfulPipe's 53 Meta Ads actions on a new Read and write connection: 38 read and 12 write actions on, each a switch, and 3 deletes off until an owner, admin or operator switches them on. New objects start paused, and going live stays in Ads Manager.

Step 5 (optional): ChatGPT, Claude Code, Cursor, Gemini CLI and Codex CLI

The same URL works in any client that takes remote MCP servers, and each finishes with the same InsightfulPipe sign-in. The action list from step 4 holds in all of them.

ChatGPT. Developer mode runs on Plus, Pro, Business, Enterprise and Education accounts on the web. Turn it on under Settings > Security and login, then go to ChatGPT Plugins, select + and create an app with the URL. Pick Developer mode and the app from the + menu in each new chat. Write actions ask for confirmation by default (OpenAI).

Cursor. Use the install link on our MCP server page or add the URL to ~/.cursor/mcp.json. At Needs authentication, click Connect, then Open, and sign in to InsightfulPipe if asked.

The terminals. One line each:

claude mcp add --transport http facebook-ads-mcp https://facebook-ads.insightfulmcp.com/
gemini mcp add --transport http facebook-ads-mcp https://facebook-ads.insightfulmcp.com/
codex mcp add facebook-ads-mcp --url https://facebook-ads.insightfulmcp.com/

In Claude Code, run /mcp, select facebook-ads-mcp and choose Authenticate. The default local scope loads the server in the current project only, so add --scope user to use it everywhere (Claude Code docs). Gemini CLI signs in with /mcp auth facebook-ads-mcp, and Codex CLI opens the browser itself.

Verify it worked

Check three things, shortest first. None of them writes anything, so run all three before any change.

1. The connection is live. In a new Claude chat, find the Facebook Ads connector switched on under + > Connectors. In Claude Code, claude mcp list shows facebook-ads-mcp as Connected.

2. A prompt that cannot do harm. Paste this as it is.

List the Meta ad accounts available to this connection.
Return the account name, ad account ID, currency, and status.
Do not run a report and do not change anything.

3. A real read. Ask for last week's spend by campaign, then compare one number with Ads Manager for the same dates. A gap usually means a different date range, time zone or attribution setting, not a broken connection.

If a check fails, go to Troubleshooting below.

Prompts to run first

Start with reports, and name the ad account in the first line. A request for an account you cannot use returns the accounts you can use.

Prompt

What the assistant does

"What was ROAS by campaign in the last 14 days?"

Pulls campaign insights with purchase value

"Break down last month's spend and CPA by placement"

Compares Feed, Stories, Reels and other placements

"Which ads have a frequency above 4 and a falling CTR?"

Finds creative fatigue

"Estimate the audience for women aged 25 to 44 in Germany who like yoga"

Runs targeting search and an audience estimate

"What changed on this ad account this week?"

Reads the account's change history

"Pause every ad with a CPA above $40 this week"

Pauses them; setting them live again stays with you

Two prompts to paste as they are:

Use Meta ad account [AD_ACCOUNT_ID].

Compare the last 30 complete days with the previous 30 complete days.
Break the report down by campaign.
Include spend, impressions, clicks, purchases, cost per purchase and ROAS.
Use Meta ad account [AD_ACCOUNT_ID].

List every ad with a frequency above [FREQUENCY] over the last 14 days.
For each one, show spend, and CTR for this period and the previous 14 days.
Propose which to pause, but do not change anything yet.

The prompt library and the Facebook Ads Claude skills are free to use, and 50 Facebook Ads prompts for Claude goes further.

What the assistant may change, and which switches stay with you

The Facebook Ads server exposes 53 actions: 38 read, 12 write and 3 deletes. Every limit on them is a switch, and each one names the person who flips it.

  • Every action. An owner, admin or operator switches each one on or off per ad account, and the server refuses anything switched off.
  • New work starts paused. The server creates campaigns, ad sets and ads paused, for you to set live in Ads Manager when they are ready.
  • Setting ads live. That switch stays with you. The assistant can pause anything, and the server refuses any request to go live, because PAUSED is the only status it accepts.
  • Spend. Budget and bid edits on something already live apply at once. To keep the assistant off spend, an owner, admin or operator switches off update_campaign and update_adset. Budgets travel in cents: 5000 means $50.00 on a USD account.
  • Deletes. delete_campaign, delete_adset and delete_ad are permanent in Meta, so they stay off until an owner, admin or operator switches them on.
  • Read-only. A read-only connection locks every write until an owner or admin reconnects it with read and write.
  • Roles. Members with the User role run only enabled reads, on the ad accounts an owner or admin grants them.
  • IDs. Every campaign, ad set, ad, creative, audience or pixel ID in a request must belong to the ad account you picked.

Those switches make InsightfulPipe the safest way to let an AI agent change a Meta Ads account: the agent builds and pauses inside limits your admins set, and setting ads live stays with you. Whichever route you pick, set an account spending limit in Ads Manager before any agent edits a budget. Start a trial to put these switches on your own ad account.

Claude reading the InsightfulPipe Facebook Ads connector's own rules: update_campaign accepts only PAUSED, so a paused campaign goes live only in Facebook Ads Manager.

Troubleshooting

Most problems fall into two groups: Claude cannot see the connector, or the server refuses an action on purpose. Messages appear exactly as you will see them.

  • The connector does not appear in the chat. Switch it on from + > Connectors in a new chat. In ChatGPT, pick Developer mode in each chat; in Claude Code, run /mcp.
  • "You don't have access to any Facebook Ads accounts. Contact your workspace administrator to request access." No Facebook Ads account in this workspace is yours to use. Finish step 1, or ask an owner or admin for access.
  • "This action is disabled for this connected account. An owner or admin must enable it for the account." An owner, admin or operator switches it on under Configure actions for this account.
  • "This account is connected read-only, so this action cannot be enabled for it. An owner or admin must reconnect it with Read & Write permissions." Reconnect with Read & write, then switch on the writes you need.
  • "Unsupported value for 'status' in action 'update_campaign': ACTIVE." Working as designed: the server accepts only PAUSED, so set the campaign live yourself in Ads Manager.
  • "Your role does not have permission to execute write actions. Only operators, admins, and owners can execute write operations." Your workspace role runs reads only, and an owner or admin can change it.
  • The assistant picks the wrong ad account. The server refuses it and lists the accounts you can use. Ask for that list first, then name the account by ID.
  • The report is empty. Widen the date range, drop optional filters and confirm the account delivered in that period. An empty report is not always an authentication problem.

More fixes live in the MCP troubleshooting guide.

Meta's own ads MCP server, and the other routes

Meta hosts its own ads MCP server at https://mcp.facebook.com/ads, announced in open beta on April 29, 2026, with no published price.

  • Setup. Add the URL as a custom connector and sign in with Facebook. Meta's help article lists ChatGPT, Claude, Claude Code and Perplexity, and its announcement says: "For MCP, no developer credentials, API setup, or coding required."
  • Setting ads live. Write tools create entities paused, and "your AI client asks for confirmation before activation," says its ad creation page. Its ads_activate_entity tool "starts spending budget".
  • Limits. With full control of a business portfolio, you can allow or block agent actions per ad account in Business Suite, including budgets above a set amount. Meta's rules guide calls these rules "in limited availability".
  • Scope. Meta ads only, plus tools for catalogs, datasets, A/B tests and lift studies.
Meta's Ads MCP Server overview page, updated July 14, 2026: a Meta-hosted server at mcp.facebook.com/ads that works with any MCP-compatible AI agent.

Meta's server covers Meta alone, sets ads live through its own tool once your client confirms, and keeps its per-account rules in limited availability. InsightfulPipe leaves setting ads live to a person, lets your own admins switch every action, and puts Google Ads, GA4, LinkedIn Ads and 46 more platforms on one login. MCP clients hold several servers at once, so you can run both.

Windsor.ai, Whatagraph, Supermetrics, Markifact and Pipeboard also publish ways to connect Meta Ads to Claude, each with its own account and defaults, so this guide covers only InsightfulPipe and Meta's server.

HAVE QUESTIONS?

Frequently asked questions

Yes. With InsightfulPipe, connect Facebook Ads, add https://facebook-ads.insightfulmcp.com/ as a custom connector under Customize > Connectors, click Connect, and switch the connector on in a new chat.

Related articles

Best GA4 MCP Servers in 2026 (13 Compared)
Blog

Best GA4 MCP Servers in 2026 (13 Compared)

The best GA4 MCP server in 2026 is InsightfulPipe. It is the only hosted server with dedicated write actions in all nine areas of the GA4 Admin API, lets you switch each of its 62 actions on or off per property, and keeps its 12 destructive actions off until an admin switches them on.

Read article
How to Connect Google Ads to Claude
Blog

How to Connect Google Ads to Claude

With InsightfulPipe, you connect Google Ads to Claude with one URL: connect Google Ads in the app, add https://google-ads.insightfulmcp.com/ as a custom connector in Claude, and click Authorize access.

Read article
Best Google Ads MCP Servers in 2026 (12 Compared)
Blog

Best Google Ads MCP Servers in 2026 (12 Compared)

The best Google Ads MCP server in 2026 is InsightfulPipe, and the safest to let write: 99 Google Ads actions, each switched on or off per ad account, with destructive actions off until your admin switches them on.

Read article
Instagram Competitor Analysis with Claude: A Step-by-Step Guide
Blog

Instagram Competitor Analysis with Claude: A Step-by-Step Guide

InsightfulPipe connects Claude to your Instagram insights and Meta's Ad Library, so you can run an Instagram competitor analysis in one chat: pick 3 to 5 rivals, then compare posting frequency, format mix, engagement rate and the ads they run.

Read article
DataForSEO MCP Server: SERP Analysis in Claude
Blog

DataForSEO MCP Server: SERP Analysis in Claude

InsightfulPipe's hosted DataForSEO MCP server lets Claude run live Google SERP checks through 82 DataForSEO actions from one URL. Your admin switches each action on or off per account, and DataForSEO bills usage to your own account.

Read article
How to Query Marketing Data Without SQL
Blog

How to Query Marketing Data Without SQL

InsightfulPipe lets you query marketing data without SQL: connect 50 platforms to Claude, ChatGPT or Cursor, ask in plain language, and check the GAQL or GA4 request that ran. Here are the setup, nine prompts and every other no-SQL route.

Read article

Ready to connect your data?

Join hundreds of agencies and brands using InsightfulPipe to connect marketing data to AI.

Start a trial today.