
Meta Ads MCP
Run Facebook & Instagram (Meta) Ads end to end from your AI client — launch campaigns, upload creatives, edit budgets, analyze performance.
Add to your client
Copy the config for your MCP client and paste it into its config file.
Paste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"meta-ads-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://meta-ads.mcp.pipeboard.co/"
]
}
}
}Claude Desktop connects to remote servers through the `mcp-remote` proxy (installed on first run via npx). Restart Claude Desktop after saving.
Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf
Before you start
- A Pipeboard account (pipeboard.co) with a connected Facebook/Meta Ads account
- For remote MCP: an MCP-compatible client (Claude Pro/Max integrations, Cursor, or other) — no local setup
- For Claude integrations: a Claude Pro or Max plan
- Optional: a Pipeboard API token (pipeboard.co/api-tokens) for direct-token authentication
- For local self-hosting (advanced): your own Meta Developer App — see STREAMABLE_HTTP_SETUP.md
About Meta Ads MCP
A Python MCP server for managing Facebook and Instagram (Meta) Ads end to end from any MCP-compatible AI client. The recommended deployment is the Pipeboard remote MCP (streamable HTTP) at https://meta-ads.mcp.pipeboard.co/, where you connect your ad account once via OAuth and then drive campaigns, creatives, targeting, and insights through conversation. It is one of five ad-platform MCP servers in the Pipeboard family that share a single auth and write-confirmation safety model. A local self-hosted install is documented for advanced users.
Tools & capabilities (29)
mcp_meta_ads_get_ad_accountsGet ad accounts accessible by a user (by user_id or 'me'), with details.
mcp_meta_ads_get_account_infoGet detailed information about a specific ad account (act_XXXXXXXXX).
mcp_meta_ads_get_account_pagesGet Facebook Pages associated with a Meta Ads account, useful for ad creation.
mcp_meta_ads_get_campaignsGet campaigns for an account with optional limit and status filter.
mcp_meta_ads_get_campaign_detailsGet detailed information about a specific campaign.
mcp_meta_ads_create_campaignCreate a new campaign with an outcome-based (ODAX) objective, budget, status, and bid strategy.
mcp_meta_ads_get_adsetsGet ad sets for an account, optionally filtered by campaign.
mcp_meta_ads_get_adset_detailsGet detailed information about a specific ad set.
mcp_meta_ads_create_adsetCreate a new ad set with targeting, budget, optimization goal, billing event, and bid settings.
mcp_meta_ads_get_adsGet ads for an account, optionally filtered by campaign or ad set.
mcp_meta_ads_create_adCreate a new ad using an existing creative within an ad set.
mcp_meta_ads_get_ad_detailsGet detailed information about a specific ad.
mcp_meta_ads_get_ad_creativesGet creative details (text, images, URLs) for a specific ad.
mcp_meta_ads_create_ad_creativeCreate a new ad creative from an uploaded image hash, supporting single or dynamic (A/B) headlines/descriptions and CTA.
mcp_meta_ads_update_ad_creativeUpdate an existing ad creative's name, copy, headlines/descriptions, dynamic spec, or CTA.
mcp_meta_ads_upload_ad_imageUpload an image for use in creatives; returns image details including the hash.
mcp_meta_ads_get_ad_imageGet, download, and visualize a Meta ad image for an ad in one step.
mcp_meta_ads_update_adUpdate an ad's status or bid amount; returns a confirmation link.
mcp_meta_ads_update_adsetUpdate an ad set's status, bid strategy/amount, targeting, or frequency caps; returns a confirmation link.
mcp_meta_ads_get_insightsGet performance insights for a campaign, ad set, ad, or account, with breakdowns, level, and attribution windows.
mcp_meta_ads_get_login_linkGet a clickable login link for Meta Ads authentication.
mcp_meta_ads_create_budget_scheduleCreate a budget schedule (absolute or multiplier increase) for a campaign over a time window.
mcp_meta_ads_search_interestsSearch interest targeting options by keyword; returns id, name, audience_size, and path.
mcp_meta_ads_get_interest_suggestionsGet interest suggestions based on a list of existing interests.
mcp_meta_ads_validate_interestsValidate interest names or IDs for targeting, returning valid status and audience size.
mcp_meta_ads_search_behaviorsList available behavior targeting options with id, name, audience-size bounds, path, and description.
mcp_meta_ads_search_demographicsGet demographic targeting options by class (demographics, life_events, industries, income, etc.).
mcp_meta_ads_search_geo_locationsSearch geographic targeting locations (country, region, city, zip, geo_market, electoral_district).
mcp_meta_ads_searchGeneric search across accounts, campaigns, ads, and pages; auto-includes page search when the query mentions 'page'.
What this server can do
Meta Ads MCP provides tools for these capabilities — tap one to see every MCP server that does the same:
When to use it
- Launch and manage Facebook/Instagram ad campaigns, ad sets, and ads through conversation
- Upload images and build or A/B-test creatives (headlines, descriptions, CTAs) without leaving your AI client
- Pull performance insights and get AI-driven recommendations on budget, targeting, and creative
- Research and validate interest/behavior/demographic/geo targeting options
- Adjust budgets, bids, and frequency caps, and schedule budget increases for high-demand periods
Security notes
Remote MCP handles auth securely in the cloud with no local token storage; OAuth login to Pipeboard then connect your Facebook Ads account. A direct-token variant appends ?token=YOUR_PIPEBOARD_TOKEN to the URL (get a token at pipeboard.co/api-tokens) — keep that token secret. All write operations require explicit confirmation and new campaigns default to PAUSED. Licensed under Business Source License 1.1 (free for individual/business use; no competing hosted service; converts to Apache 2.0 on 2029-01-01).
Meta Ads MCP FAQ
Is this an official Meta product?
No. It is an independent open-source project that uses Meta's public APIs. Meta, Facebook, and Instagram are trademarks of their respective owners. For an officially approved Meta app, see Pipeboard.
What is the easiest way to set it up?
Use the remote MCP. In Claude (Pro/Max) add an integration with URL https://meta-ads.mcp.pipeboard.co/, or in Cursor add an mcpServers entry with that url, then log in to Pipeboard and connect your Facebook Ads account.
Can I authenticate without the interactive login?
Yes — append ?token=YOUR_PIPEBOARD_TOKEN to the MCP URL. Get a token at pipeboard.co/api-tokens. Keep it secret.
Can I self-host it locally?
Yes, for advanced users. The package supports a local streamable-HTTP transport and can be installed from source; you must create your own Meta Developer App. See STREAMABLE_HTTP_SETUP.md. The maintainers recommend the remote MCP instead.
How does it handle safety on write operations?
Writes are explicit and require confirmation, and new campaigns start paused where the platform supports it.
Alternatives to Meta Ads MCP
Compare all alternatives →AI-powered task-management system for AI-driven development that drops into Cursor, Windsurf, Claude Code, and more.
Background computer-use MCP server that drives native macOS, Windows, and Linux desktop apps without stealing focus.
Self-hosted MCP server for Jira and Confluence Cloud and Server/Data Center.
Compare Meta Ads MCP with: