
Pipeboard Meta Ads MCP Server: Manage Facebook and Instagram Ads from Claude
Not the official Meta Ads MCP server. This one is built by the community. Meta Ads makes its own: Meta Ads MCP Server →
Lets your assistant analyze Facebook and Instagram ad performance and build or change campaigns, ad sets and ads in your Meta ad account.
This is Pipeboard's Meta Ads server, not Meta's own. You connect it by adding a web address to your assistant and signing in to Pipeboard, then linking your Facebook ad account. It can create and change live ads that spend your budget, so it suits people who already run Meta campaigns and want to work on them in chat. Pipeboard has a free plan and paid tiers. Meta also ships its own hosted ads server, covered in the questions below.
Good for
- Media buyers who want to pull Meta ad results and ask questions about them in chat
- Marketers who launch and test campaigns, ad sets and creatives from an assistant
- Agencies that also run Google, TikTok, Snap or Reddit ads through Pipeboard
Works in
14 should work
Tap an app to see how to set it up and any known problems.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Install meta-ads MCP
Claude Code
- 1
Copy this prompt.
Add the meta-ads MCP server to Claude Code. Run this command: claude mcp add --transport http meta-ads https://meta-ads.mcp.pipeboard.co/ Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Sign-in with the vendor account (OAuth).
Built from the package data we hold. Not yet tested by us.
Tools
Lists the ad accounts you can reach
Returns the ad accounts linked to your Meta login, with spend and balance in normal currency units rather than cents.
Try: “Which Meta ad accounts do I have access to?”
Network ·
get_ad_accountsShows details for one ad account
Returns details for one ad account such as status, currency and spend cap. You can ask for extra fields like funding source or minimum daily budget.
Try: “Show the spend cap and currency for act_123456.”
Network ·
get_account_infoLists Facebook pages tied to an account
Returns the Facebook pages connected to an ad account, which you need when you create ads.
Try: “Which pages can I run ads from in act_123456?”
Network ·
get_account_pagesFinds pages in an account by name
Searches an account's pages by a word in their name, or returns all of them if you give no search term.
Try: “Find the page named 'Acme Coffee' in act_123456.”
Network ·
search_pages_by_nameLists campaigns in an account
Lists campaigns for an ad account. You can filter by status such as ACTIVE, PAUSED or ARCHIVED and set how many to return.
Try: “List the active campaigns in act_123456.”
Network ·
get_campaignsShows one campaign's settings
Returns the settings of a single campaign, including its objective, status and budget fields.
Try: “Show the details of campaign 120200000000.”
Network ·
get_campaign_detailsCreates a campaign, paused by default
Creates a new Facebook or Instagram campaign with one of the outcome-based objectives, budget mode, bid strategy, spend cap and special ad categories. The status defaults to PAUSED, so nothing runs until you turn it on.
Try: “Create a paused traffic campaign called 'Spring sale' in act_123456.”
Write ·
create_campaignChanges a campaign's name, status or budget
Edits an existing campaign. You can rename it, switch it on or off, change budgets, bid strategy or spend cap, and move budgets from campaign level to ad set level.
Try: “Pause campaign 120200000000 and set its daily budget to 50 dollars.”
Write ·
update_campaignLists ad sets in an account or campaign
Lists ad sets for an account, optionally only those inside one campaign.
Try: “List the ad sets in campaign 120200000000.”
Network ·
get_adsetsShows one ad set's settings
Returns the settings of one ad set, including targeting, budget and schedule.
Try: “Show the targeting of ad set 120300000000.”
Network ·
get_adset_detailsCreates an ad set with targeting and budget
Creates an ad set inside a campaign with an optimization goal, budget, schedule and targeting. Which goals are valid depends on the campaign objective and destination.
Try: “Create an ad set in campaign 120200000000 targeting women 25 to 40 in Canada with a 20 dollar daily budget.”
Write ·
create_adsetChanges an ad set's budget, bid or limits
Edits an existing ad set. You can change its name, budgets, bid strategy and frequency caps, and turn it on or off.
Try: “Cap ad set 120300000000 at 3 impressions per person per week.”
Write ·
update_adsetLists ads in an account
Lists ads for an account, optionally filtered by campaign or ad set.
Try: “List the ads in ad set 120300000000.”
Network ·
get_adsShows one ad's settings
Returns the settings and status of a single ad.
Try: “Show the details of ad 120400000000.”
Network ·
get_ad_detailsShows the creatives used by an ad
Returns the creative details attached to one ad. You need the ad ID, so list ads first.
Try: “What creative is ad 120400000000 using?”
Network ·
get_ad_creativesShows one creative by ID
Returns the full details of a single ad creative when you already have its ID.
Try: “Show creative 120500000000.”
Network ·
get_creative_detailsFetches an ad's image so the assistant can see it
Downloads the image an ad is currently serving and hands it back for the assistant to look at.
Try: “Look at the image in ad 120400000000 and suggest better copy.”
Network ·
get_ad_imageFetches an image from its hash
Downloads an ad image from its hash when you have no ad, for example one returned by an earlier upload.
Try: “Show me the image with hash abc123 in act_123456.”
Network ·
get_image_by_hashGets a video's source link and status
Returns the source URL, thumbnail, processing status and basic details of an ad video.
Try: “Is video 120600000000 finished processing?”
Network ·
get_ad_videoCreates an ad from an existing creative
Creates a new ad in an ad set using a creative that already exists. The status defaults to PAUSED.
Try: “Create a paused ad in ad set 120300000000 using creative 120500000000.”
Write ·
create_adChanges an ad's name, status or creative
Edits an ad. You can rename it, switch it on or off, change its bid or tracking, or swap in a different creative.
Try: “Pause ad 120400000000.”
Write ·
update_adUploads an image for use in ads
Uploads an image to an ad account from base64 data or a link and returns the image hash to use in creatives. When you give a link, the server fetches it.
Try: “Upload https://example.com/banner.png to act_123456.”
Write ·
upload_ad_imageWorks out crop boxes for ad placements
Calculates centered crop coordinates for an image size so it fits each placement ratio. It runs the maths only and does not call Meta.
Try: “Compute crops for a 1600 by 900 image.”
Read ·
compute_image_cropsBuilds a creative from an image, video or post
Creates an ad creative from an uploaded image hash, a video, or an existing page post. It supports several modes, including multiple headlines and descriptions for testing.
Try: “Create a creative with image hash abc123, headline 'Spring sale' and a Shop now button.”
Write ·
create_ad_creativeRenames a creative or changes its testing options
Updates only a creative's name and its optimization settings. Meta does not allow editing text, image or link on an existing creative, so you create a new one for that.
Try: “Rename creative 120500000000 to 'Spring v2'.”
Write ·
update_ad_creativePulls performance numbers
Returns performance data for an account, campaign, ad set or ad over a date range, such as spend, clicks and conversions.
Try: “Show spend and results by campaign for the last 7 days in act_123456.”
Network ·
get_insightsSchedules a budget boost for a busy period
Adds a scheduled budget increase to a campaign for a time window, either as an amount or a multiplier.
Try: “Raise campaign 120200000000's budget 1.5 times from Friday to Sunday.”
Write ·
create_budget_scheduleSearches interest targeting options
Searches Meta's interest targeting options by keyword and returns IDs, names and audience size.
Try: “Find interests related to 'trail running'.”
Network ·
search_interestsSuggests more interests from ones you have
Given interests you already use, returns related interests you could target.
Try: “Suggest interests similar to Basketball and Soccer.”
Network ·
get_interest_suggestionsEstimates how many people a targeting mix reaches
Estimates the audience size for a combination of location, age, interests and behaviors using Meta's delivery estimate.
Try: “Estimate the audience for women 25 to 40 in Canada interested in yoga.”
Network ·
estimate_audience_sizeLists behavior targeting options
Returns the behavior targeting options Meta offers, with IDs and audience size ranges.
Try: “List available behavior targeting options.”
Network ·
search_behaviorsLists demographic targeting options
Returns demographic options such as life events, industries, income or family status, depending on the class you pick.
Try: “List the life event targeting options.”
Network ·
search_demographicsFinds locations to target
Searches countries, regions, cities, zip codes and other places and returns their targeting keys.
Try: “Find the targeting key for Toronto.”
Network ·
search_geo_locationsGives a link to sign in to Meta
Starts a short-lived local page for signing in with Meta and returns the sign-in link. It is for the self-run server and is on unless the operator turns it off.
Try: “Give me a link to log in to Meta Ads.”
Network ·
get_login_linkSearches the public Facebook Ads Library
Searches Meta's public Ads Library for ads that mention your terms in the countries you pick, with fields like spend ranges and delivery dates. It is on unless the operator turns it off.
Try: “Search the Ads Library in the US for ads mentioning 'running shoes'.”
Network ·
search_ads_archive
Read from the source code
Permissions
high risk · 5 things to watch · 3 advisories
High risk
It can create and change live Facebook and Instagram ads, including switching them on and changing budgets, so a wrong change can start spending from your ad account. Create items paused, review every change, and use a Meta login that only reaches the ad accounts you need.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can start ads that spend real money
update_campaign, update_adset and update_ad can switch ads on and change budgets, so a wrong change can start spending from your ad account. Create items paused, and check each change before you approve it. github.com
The token-in-URL option puts a secret in the address
The README offers a Pipeboard token inside the server URL. URLs end up in logs, history and screenshots, so prefer the normal sign-in unless a client needs the token. github.com
Your ad data passes through Pipeboard
The hosted server is run by Pipeboard, not Meta. Review its terms and privacy policy before linking an account with client data. github.com
Older versions of the self-run server had serious bugs
Three advisories hit every version of the meta-ads-mcp package before the fix: GHSA-9gw6-46qc-99vr (leaked the operator Meta token to unauthenticated HTTP callers) affects versions below 1.0.109, and GHSA-2v2f-mvfg-ph56 (token header bypass) and GHSA-45gf-fjxp-cjpq (SSRF in upload_ad_image) affect versions below 1.0.115. The 1.0.128 release is past all three fixes. Update if you run your own copy. osv.dev
The license is source-available, not open source
It uses the Business Source License 1.1 and becomes Apache 2.0 in 2029. You may not offer it as a competing hosted service. github.com
Security advisories
3 known advisories, all fixed in a newer version.
- Unauthenticated HTTP MCP tool calls could leak the operator's Meta access token (self-run HTTP mode).critical · Fixed in 1.0.109 · GHSA-9gw6-46qc-99vr
- X-Pipeboard-Token header bypass reused the operator's Meta token.high · Fixed in 1.0.115 · GHSA-2v2f-mvfg-ph56
- Server-side request forgery in upload_ad_image through an unrestricted image_url fetch.high · Fixed in 1.0.115 · GHSA-45gf-fjxp-cjpq
Technical details
| Talks to | Pipeboard's hosted service. Meta Graph API. Image links you give to upload_ad_image |
|---|---|
| Sign-in and keys | Hosted: you sign in to Pipeboard and link your Facebook ad account there, or put a Pipeboard API token in the server URL. A self-run copy uses a Meta access token you create in your own Meta app. |
| Scopes |
|
Questions
Is the Pipeboard Meta Ads MCP server official?
No. It is made by Pipeboard, a third party, not by Meta. The README calls Pipeboard a badged Meta Business Partner with an approved Meta app, but Meta's own hosted ads server is a separate product.
How is it different from Meta's own ads server?
Meta's server is first-party and covers Meta only. Pipeboard's adds other ad networks under one login and has a free plan, and the README says it asks for confirmation on every write. See the Meta Ads page for Meta's server.
What is the Pipeboard Meta Ads MCP server URL?
https://meta-ads.mcp.pipeboard.co/ (the README shows it on the main branch). Add it to your client, sign in to Pipeboard and link your Facebook ad account.
Is it free?
There is a free plan, then paid tiers, according to the README. One tool, generate_report, is described as a Pipeboard Pro feature and only exists when the operator turns it on.
Can it spend my money or change live ads?
Yes. It can create campaigns, ad sets and ads, switch them on and change budgets. New campaigns and ads default to paused, and the README says writes need explicit confirmation, so approve each change.
Does it need a developer token or Meta app?
Not for the hosted server. You sign in to Pipeboard and link your Facebook account. Only a self-run copy needs a Meta access token from your own Meta app.
Can I use it in ChatGPT, Claude or Cursor?
Yes. The README gives steps for Claude (Settings, Integrations) and a Cursor config, and says to paste the URL into any other MCP client. Use the install box above.
Why does the tool count differ from the README?
The list here is what the open-source code registers by default, 35 tools. The README says the hosted server has 42 and the code has more that an operator can turn on, such as ad duplication and reports.
Can I run it myself?
Yes, but the README recommends the hosted server. The self-run copy needs your own Meta app and a Meta access token, and its HTTP mode should not be exposed to an untrusted network.
Information
updated Nov 2, 2026
- Publisher
- Community
- Endpoint
https://mcp.pipeboard.co/meta-ads-mcp- Transport
- Streamable HTTP
- Auth
- OAuth
- Version
- 1.0.128
- License
- BUSL-1.1
- Last commit
- Oct 20, 2026
- Open issues
- 12
Other Meta Ads MCP servers
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 4Hide
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com