Meta Ads MCP Server
Enables creation and management of Meta ads from Facebook Page posts and access to Facebook/Instagram ad performance data, Pages, and related ad assets.
Allows access to Google Analytics through the Markifact MCP server's shared login, alongside Meta Ads operations.
Supports Instagram ad creatives and placements, Instagram media-based ads, and management of Instagram accounts linked to the Meta ad account.
Provides tools for managing Meta Ads campaigns, ad sets, ads, creatives, audiences, catalogs, reporting, diagnostics, and Ad Library research, including Facebook and Instagram ad placements.
Allows access to Slack through the Markifact MCP server's shared login, alongside Meta Ads operations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Meta Ads MCP ServerPull last 7 days Meta Ads performance by ad set with ROAS and cost per result."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Meta Ads MCP Server
Meta Ads MCP server for Claude, ChatGPT, Codex, Cursor and any MCP client. 85 Meta Ads operations: 40 reads that run instantly and 45 writes that wait for your approval. Hosted, one OAuth login, nothing to install locally.
Setup guide: markifact.com/meta-ads-mcp
Endpoint:
https://api.markifact.com/mcp/meta-ads
This is the Meta Ads endpoint of the Markifact MCP server. It is the full Markifact server with Meta Ads as the entry point, so the same login also reaches every other platform Markifact connects, from Meta and Google Analytics to Sheets and Slack. If you only run Meta Ads, this is the one to install.
What you can do
Reports. Campaign, ad set and ad performance with placement, device, age, gender, country and hour breakdowns, attribution windows, calculated metrics such as ROAS and frequency, and objective results.
Changes. Create and update campaigns, ad sets and ads, including Advantage+ setups. Single image, video, carousel, catalog and Instagram-post creatives with media upload. Budgets, bids, statuses, schedules, targeting, regional regulation fields.
Audiences and assets. Custom, lookalike and saved audiences, lead forms, catalogs and product sets, media library, ad review feedback, Pages and Instagram accounts linked to the ad account.
Diagnostics. Pixel and Conversions API setup checks, disapproval reasons, ad-level review feedback, and the Meta Ad Library for competitor research.
Related MCP server: Meta Marketing API MCP Server
Install
Sign up at markifact.com first (free credits included), connect Meta Ads on the Connections page, then add the server to your client. The Meta Ads MCP setup guide has the same steps with screenshots.
Client | Steps |
Claude (web and desktop) | Settings → Connectors → Add custom connector → URL |
Claude Code |
|
ChatGPT and Codex | Install the Markifact plugin from the Plugin Directory and call it with |
Cursor | Settings → MCP → Add server → URL |
Codex CLI | Add to |
Gemini CLI |
|
Windsurf | Add the snippet from |
Any MCP client | Streamable HTTP at |
Details per client are in docs/clients.md. Every client completes the same browser login; the server never asks for API keys or tokens in the chat.
Prompts that work
Weekly performance by ad set
Pull Meta Ads performance by ad set for the last 7 days versus the previous 7. Include spend, impressions, CPM, CTR, results, cost per result and ROAS. Flag anything with cost per result up more than 25%. Do not make changes.Creative fatigue
Which ads in the "Prospecting" campaign have frequency above 3 and CTR down more than 20% over the last 14 days? List them with spend and results.Placement breakdown
Break down last month's spend and results by placement for the whole account. Which placements have the worst cost per result?Launch a campaign, paused
Create a Meta Advantage+ sales campaign for our Black Friday creative. Budget $200 a day, target US, use the uploaded video, and leave it paused so I can review it before it goes live.Pause with a preview
List active ad sets with cost per result above $80 over the last 14 days, then pause them. Show me the list and wait for my approval before pausing anything.Name the account, the date range and the metrics, ask for a read before a write, and say whether changes are allowed.
How writes work
Every write is an approval-gated operation. The client asks for a change, the server prepares it and shows the exact target (account, campaign ID, current value, proposed value), and nothing runs until you confirm. Reads never ask. The server can only reach accounts the authorized Meta Ads login can already see.
Operations (85)
Generated from the Markifact operation registry.
Operation | What it does | Type |
| Checks a Meta catalog for data quality, policy, and feed issues, returning aggregated diagnostic issue groups with severity and affected… | Read |
| Creates a Meta ad creative from a raw creative payload and returns the new creative_id. | Write, approval required |
| Creates a new Meta ad from an existing ad creative ID. | Write, approval required |
| Creates Meta ads from existing Facebook Page posts or Instagram media (no media upload, no copy authoring). | Write, approval required |
| Create a new Meta Ads ad set with budget, targeting, optimization, and promoted object settings. | Write, approval required |
| Create a new campaign in Meta Ads with customizable settings including objective, budget, targeting, and scheduling. | Write, approval required |
| Creates new Meta carousel ads with 2-10 cards containing images or videos (bulk mode only). | Write, approval required |
| Creates Advantage+ Catalog / dynamic Ads (carousel or single image) via product sets (bulk mode). | Write, approval required |
| Create a native Meta A/B split test or ad study using existing campaign/ad-set variants, including instant forms. | Write, approval required |
| Creates flexible ads with multiple media (up to 10) and text variations (up to 5 each). | Write, approval required |
| Low-level tool that creates a Meta product set inside a catalog from a raw Meta filter passed to Meta as-is. | Write, approval required |
| Creates new Meta ads using single image creative assets. | Write, approval required |
| Creates new Meta ads using single video creative assets. | Write, approval required |
| Permanently deletes a Meta product set from a catalog. | Write, approval required |
| Create a copy of an existing Meta ad with optional creative enhancement controls and the ability to move the copy to a different ad set. | Write, approval required |
| Create a new Meta Ads ad set by duplicating an existing ad set with the option to copy associated ads or move to a different campaign. | Write, approval required |
| Create a new Meta Ads campaign by duplicating an existing campaign with the option to copy associated ad sets and ads. | Write, approval required |
| Generates preview iframe URLs of Meta advertising campaigns and ad creatives for a selected placement like INSTAGRAM_FEED, FACEBOOK_FEED,… | Read |
| Retrieves detailed account information from Meta Ads including status, timezone, currency, business info, spending limits, and settings. | Read |
| Retrieves historical account activity and changes for Meta advertising accounts | Read |
| Fetches one Meta ad by ID with its status, review feedback (disapproval reasons per policy and placement), delivery issues,… | Read |
| Fetches a Meta ad creative by ad_id or creative_id and returns the raw creative payload. | Read |
| Retrieve ad set settings and configuration from Meta Ads including budget, targeting, optimization, bid strategy, and all ad set-level… | Read |
| Retrieve campaign settings and configuration from Meta Ads including budget, status, objective, bid strategy, and all campaign-level… | Read |
| Read a native Meta A/B experiment or ad study, its test cells and available measurement results. | Read |
| Gets Meta media details for images and videos using image_hash or video_id. | Read |
| Gets full details for a single Meta catalog product by retailer id (SKU) or Meta product id, including review status and rejection reasons. | Read |
| Retrieves Meta Ads (Facebook/Instagram) data with customizable metrics, dimensions, filters, date ranges, sorting options, and built-in… | Read |
| Search and retrieve ads from Meta's Ad Library to spy on competitors | Read |
| Get publisher block lists for Meta Ads account with filtering options for applied lists | Read |
| Lists ads in a Meta ad account, optionally only the ads of one ad set or campaign, with any status including paused, plus creative… | Read |
| List all ad sets in ad account with status and dates | Read |
| List all campaigns in ad account with status and dates | Read |
| Lists Meta catalogs the connected user can access. | Read |
| List native Meta A/B tests, split tests and ad studies owned by a business portfolio. | Read |
| Lists the Instagram accounts linked to the Facebook Pages on the Meta Ads connection, with the Pages each one is linked to. | Read |
| Lists the posts of an Instagram account on the Meta Ads connection (Reels, feed posts, stories) with permalink, shortcode and media id,… | Read |
| Lists the Meta ad account's media library (videos and images) with optional name/filename search applied by Meta at the source. | Read |
| Lists the Facebook Pages available on the Meta Ads connection, with their IDs. | Read |
| Lists product sets inside a Meta catalog with their filters and product counts. | Read |
| Lists or searches products inside a Meta catalog with an optional raw Meta filter. | Read |
| Search and browse available Meta Ads reporting metrics and dimensions before running reports. | Read |
| Renames Meta Ads ads to update their display names | Write, approval required |
| Renames Meta Ads ad sets to update their display names | Write, approval required |
| Renames Meta Ads campaigns to update their display names | Write, approval required |
| Attaches an existing creative (by creative_id) to an existing ad (by ad_id), replacing whatever creative was attached before. | Write, approval required |
| Search for Meta Ads targeting options: geo locations (countries, cities, regions, zips), locales (languages), interests, education… | Read |
| Select Meta Ads accounts once and reuse them across multiple meta_ads_get_report nodes,no repeated account selection. | Read |
| Fallback Meta Ads ad patch tool for advanced or unsupported cases at the ad level, such as renaming an ad, changing… | Write, approval required |
| Updates the status of Meta Ads ads (active, paused, or deleted) for ad management | Write, approval required |
| Fallback Meta Ads ad set patch tool for advanced or unsupported cases. | Write, approval required |
| Update audience targeting on a Meta Ads ad set: custom audiences, lookalike audiences, interests, behaviors, education, work, income,… | Write, approval required |
| Updates the bid amount (Bid Cap / Cost Cap) or minimum ROAS of Meta Ads ad sets. | Write, approval required |
| Updates the budget (daily or lifetime) of Meta Ads ad sets for budget management. | Write, approval required |
| Updates language targeting (locales) for a Meta Ads ad set. | Write, approval required |
| Includes or excludes location targeting for a Meta Ads ad set. | Write, approval required |
| Updates the placement targeting of a Meta Ads ad set. | Write, approval required |
| Updates the start_time and/or end_time (schedule) of a Meta Ads ad set. | Write, approval required |
| Updates the status of Meta Ads ad sets (active, paused, or deleted) for ad set management | Write, approval required |
| Fallback Meta Ads campaign patch tool for advanced or unsupported cases such as spend cap, special ad category, promoted object or per ad… | Write, approval required |
| Updates the bidding strategy of a Meta Ads campaign. | Write, approval required |
| Updates the budget (daily or lifetime) of Meta Ads campaigns for budget management. | Write, approval required |
| Updates the status of Meta Ads campaigns (active, paused, or deleted) for campaign management | Write, approval required |
| Update a native Meta A/B experiment or ad study using Meta's update parameters, such as name, schedule, cells or objectives. | Write, approval required |
| Updates a Meta product set's name, raw Meta filter, or both. | Write, approval required |
| Low-level bulk tool that creates, updates, or deletes catalog products by sending raw Meta items_batch requests as-is. | Write, approval required |
| Uploads a single image or video to a Meta ad account and returns its media reference (image_hash for images, video_id & auto-generated… | Write, approval required |
| Check Conversions API (CAPI) health metrics for a Meta Ads pixel including event match quality, server side tracking, coverage,… | Read |
| Create a Meta custom audience in an ad account. | Write, approval required |
| Creates a Meta custom conversion on an ad account, defined by a rule over pixel events or URLs (e.g. | Write, approval required |
| Creates a Meta Instant Form (lead gen form) on a Facebook page for Lead Ads campaigns, with contact fields, custom qualifying questions,… | Write, approval required |
| Create a Meta lookalike audience from an existing source custom audience. | Write, approval required |
| Get a single Meta custom or lookalike audience by ID with its full definition: the website or engagement rule, lookalike specification and… | Read |
| Gets the full configuration of a single Meta Instant Form (lead gen form): questions, intro card, thank-you page, privacy policy,… | Read |
| Get details for a specific Meta Ads tracking pixel including configuration | Read |
| Get statistics for a Meta Ads pixel with various aggregation types and optional date filtering | Read |
| Lists all pixels connected to a Meta Ads account with tracking and configuration details | Read |
| List custom audiences and lookalike audiences from a Meta Ads account. | Read |
| List all custom conversions configured in a Meta Ads account. | Read |
| Lists all lead gen forms from a Facebook page | Read |
| Lists the apps a Meta Ads account can promote (id, name, platforms, store URLs, app events). | Read |
| List saved audiences (reusable targeting presets) from a Meta Ads account, with their full targeting specification, readable targeting… | Read |
| Retrieves lead form submissions from Meta Ads (Facebook and Instagram) lead generation campaigns | Read |
| Updates a Meta custom audience (rename, description, website rule, retention window, opt-out link, customer file source, lookalike spec,… | Write, approval required |
| Updates the status of a Meta Instant Form (lead gen form): ACTIVE, ARCHIVED, DELETED, or DRAFT. | Write, approval required |
The server exposes ten MCP tools. find_operations searches this list, get_operation_inputs returns the exact input schema, run_operation runs reads and run_write_operation runs approval-gated writes. The remaining tools handle connections, files and media uploads. Architecture notes are in the main repo.
Related
FAQ
Do I need a Meta developer app or system user token?
No. Markifact is an approved Meta tech provider and the server runs on Markifact's infrastructure. You authorize the Facebook login that already has access to your ad accounts, and the server can only reach what that login can see.
Can it upload creatives?
Yes. Upload images and video through the client, and the server attaches them to new or existing ads. Catalog and Instagram-post creatives are supported too.
Can it change my campaigns?
Yes, and every change is previewed and waits for your approval in the chat. Reads run immediately. Nothing is written without a confirmation.
Which AI clients work?
Any MCP client with OAuth support: Claude (web, desktop, Code), ChatGPT and Codex, Cursor, Windsurf, Gemini CLI and others. Install steps for each are above.
What does it cost?
The server is free to install. It needs a Markifact account, which starts with free credits. Plans are on the pricing page.
Support and policies
Email contact@markifact.com or open an issue. See SECURITY.md, PRIVACY.md and TERMS.md. Licensed under MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
- mcpOAuthio.autoady.www
Run Meta ads from your AI assistant: briefings, drop diagnosis, winners, budgets, receipts.
Launch Meta ads with your AI agent. Bulk-create Facebook and Instagram ads, import creatives from public Google Drive links, and launch partnership ads with authorized creators. Reuse proven ad settings, create fresh variations, and review saved builds and previews before launch. Requires an Ads Uploader account with MCP access and a connected Meta account.
60+ Meta Ads tools for AI agents: audits, campaign management, audiences and CAPI tracking.
Facebook / Meta Ads automation with AI: analyze performance, test creatives, optimize spend.
Related MCP Servers
- AlicenseAqualityNot gradedmaintenanceEnables AI-powered analysis, management, and optimization of Meta advertising campaigns across Facebook and Instagram, including performance insights, budget optimization, and creative testing.33Business Source 1.1
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Facebook and Instagram advertising data through the Meta Marketing API. It supports full campaign lifecycle management, performance analytics, audience targeting, and creative optimization.2,200 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables management and analysis of Meta (Facebook/Instagram) ads through natural language conversations, with 30 tools for reading and writing ad data.MIT
- AlicenseNot gradedqualityDmaintenanceEnables full read/write management of Facebook ad campaigns, ad sets, ads, and creatives via the Meta Marketing API through natural language, with AI creative generation, performance analytics, and PDF reporting.MIT