
Meta Ads
io.github.mikusnuzPublished by GitHub account mikusnuzv1.6.1Updated Nov 3, 2026
MCP server for Meta Marketing API — Facebook & Instagram ad campaign management
Overview
Local MCP server for the Meta Marketing API that lets an assistant create, read, update and delete Facebook and Instagram ad campaigns, audiences, creatives…
- What you can do
- List, create, update, copy and delete campaigns, ad sets and ads, with previews and delivery estimates
- Manage creatives, images, videos and Instant Experience canvases, including uploads
- Build and edit custom, lookalike and saved audiences, search targeting interests and locations, estimate reach
- Pull account, campaign, ad set and ad insights, plus async reports for large date ranges
- Handle lead forms and leads, product catalogs, feeds and batch product operations
- Manage automated rules, A/B experiments, budget schedules, block lists, business users and system users, and send conversion or offline events
- When to use it
- Useful when an assistant should work directly on live Meta ad accounts: building a full campaign funnel, checking today's performance, pausing underperformers, setting up A/B tests or lookalike audiences, or reporting over long date ranges.
- Requirements
- Runs locally via npx, so Node.js 20 or later is needed. Requires a Meta Marketing API access token in META_ADS_ACCESS_TOKEN and an ad account ID in META_AD_ACCOUNT_ID; META_APP_ID and META_APP_SECRET are needed for token exchange and debug, META_BUSINESS_ID for business tools and META_PIXEL_ID for conversion tools. The token needs permissions such as ads_management, ads_read, business_management, leads_retrieval and catalog_management depending on the tools used.
Installation
In SourceWeft
- Open Meta Ads in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
meta-ads-mcp
MCP server for the Meta Marketing API v26.0 — 134 tools for managing Facebook & Instagram ad campaigns, audiences, creatives, insights, catalogs, and more.
When to Use
Use this MCP when you need to:
- "Create a new Facebook ad campaign" — use
create_campaign,create_adset,create_ad, andcreate_creativeto build a full funnel - "Check how my ads are performing today" — use
get_account_insightsorget_campaign_insightswith today's date range - "Pause all campaigns with ROAS below 2" — use
list_campaigns+get_campaign_insightsto find underperformers, thenupdate_campaignto pause - "Set up A/B test between two ad creatives" — use
create_experimentto run a controlled test between ad sets - "Create a lookalike audience from my customers" — use
create_custom_audience,add_users_to_audience, thencreate_lookalike_audience - "Upload ad images and create a carousel ad" — use
upload_imagefor each image, thencreate_creativewith carousel format - "Get a detailed performance report for last 30 days" — use
create_async_reportfor large date ranges, thenget_async_reportto retrieve - "Search the Facebook Ad Library for competitor ads" — use
search_ad_libraryto find public ad data - "Set up automated rules to pause underperforming ads" — use
create_rulewith conditions like CPA > threshold - "Manage my product catalog for dynamic ads" — use
create_catalog,create_feed, andupload_feedto set up dynamic product ads
What's New in v1.6.0
create_adsetacceptsbid_amount; creation and updates acceptdsa_beneficiaryanddsa_payor. For EU-targeted ads, supply each required value or configure the corresponding account default. The payer does not automatically copy the beneficiary.- Ad and ad-set lists use campaign/ad-set edges when scoped. Combined campaign/ad-set filters and explicit account IDs are checked for consistency.
create_adsetandupdate_adsetacceptdestination_type,attribution_spec,adset_schedule,pacing_type, andvalidate_only. Existing calls still perform their requested writes; setvalidate_only: trueto ask Meta to validate without mutation. A successful validation does not create an ad set.- Hourly schedules accept minute ranges and days (Sunday = 0); specify
timezone_typeasUSERorADVERTISER. Scheduling addsday_partingpacing. Meta validates effective lifetime budgeting, objective eligibility, and attribution restrictions. No budget or status is changed automatically. create_custom_audienceaccepts a JSONrule,pixel_id, andretention_daysfor rule-based audiences. Audience creation is a real write, not a dry run.
See the official ad-set creation and ad-set update contracts.
What's New in v1.5.0
- Conversion tools validate the existing
eventsJSON input and send it as the requireddataarray. Usetest_event_codeto verify receipt in Events Manager; offline events use a dataset ID andaction_source=physical_storefor store events. - Creative creation accepts top-level
destination_spec,wamo_whatsapp_identity_spec, anddegrees_of_freedom_specJSON objects. Dynamic creatives also acceptobject_story_specfor Page identity. To opt out of the v26 Shops destination default, setdestination_specto{"destination_type":"WEBSITE_AND_SHOP_OPT_OUT"}. - Includes complete async-report result retrieval, token extension, and budget schedule fixes since v1.4.1. Some detailed Insights breakdowns require an Ads Manager opt-in; an empty response does not necessarily mean zero performance.
Installation
Requires Node.js 20 or later, including the MCP host's npx environment.
Environment Variables
Tools (134)
Campaign Management (25)
Creatives (6)
Media Assets (12)
Audiences & Targeting (16)
Insights & Reporting (6)
date_preset values are lowercase Graph API identifiers such as today, yesterday, last_7d, and last_30d. create_async_report always creates an asynchronous job; get_async_report returns status immediately and, by default, fetches the paginated result edge after the status becomes Job Completed.
Leads (5)
Catalog & Commerce (17)
Automation & Rules (5)
Experiments (5)
Conversions (4)
Budget & Planning (8)
Brand Safety (5)
Account & Business (15)
Auth & Token (3)
Ad Library (1)
Resources (3)
Prompts (3)
Permissions Required
Your Meta access token needs the following permissions depending on which tools you use:
License
MIT
Source: README.md at commit ccb4489
Tools
0Version history
3- v1.6.1LatestOct 19, 2026
- v1.5.0Oct 8, 2026
- v1.2.1Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts