io.github.mikusnuz/meta-ads
MCP server for Meta Marketing API — Facebook & Instagram ad campaign management
Versions
1.2.1latestTools 134
get_product Get details of a specific product.
refresh_token Refresh a long-lived access token to extend its expiration. Returns a new long-lived token.
debug_token Debug an access token to inspect its properties, permissions, expiration, and validity. Requires META_APP_ID and META_APP_SECRET.
remove_business_user Remove a user from the configured business. Requires META_BUSINESS_ID env var.
list_canvases List Instant Experience (Canvas) creatives in the ad account.
get_canvas Get details of a specific Instant Experience (Canvas) by ID.
create_canvas Create a new Instant Experience (Canvas) on a Facebook Page. Requires page_id and body_elements JSON array defining the canvas layout.
delete_canvas Delete an Instant Experience (Canvas). This action is irreversible.
list_rules List automated rules for the ad account.
get_rule Get details of a specific automated rule.
create_rule Create a new automated rule for the ad account.
update_rule Update an existing automated rule.
delete_rule Delete an automated rule.
list_ads List ads in the ad account. Optionally filter by campaign, ad set, or status.
get_ad Get details of a specific ad by ID.
create_ad Create a new ad. Requires name, adset_id, and creative (JSON object_story_spec). Defaults to PAUSED status.
update_ad Update an existing ad. Only provided fields will be modified.
delete_ad Delete an ad. This action is irreversible.
copy_ad Copy an existing ad. Creates a duplicate within the same or different ad set.
get_ad_account Get details of the configured ad account including status, balance, currency, timezone, and spend info.
list_ad_accounts List all ad accounts accessible by the current user. Returns paginated results.
update_ad_account Update the configured ad account settings. Only provided fields will be modified.
get_ad_preview Get a preview of an ad in a specific format. Returns HTML iframe for rendering.
get_account_activities Get activity log for the ad account. Shows changes made to campaigns, ad sets, ads, etc.
list_account_users List users who have access to the ad account with their roles and permissions.
list_budget_schedules List ad budget schedules for the ad account. Returns paginated results.
create_budget_schedule Create a new ad budget schedule for the ad account.
update_budget_schedule Update an existing budget schedule. Only provided fields will be modified.
delete_budget_schedule Delete a budget schedule. This action is irreversible.
list_feeds List product feeds for a catalog.
create_feed Create a new product feed for a catalog.
upload_feed Upload/trigger a feed file upload for a product feed.
get_feed_uploads Get upload history for a product feed.
list_videos List ad videos uploaded to the ad account.
upload_video Upload an ad video from a public URL or a local file. Returns video ID for use in ad creatives.
get_video Get details of a specific ad video by ID.
delete_video Delete an ad video. This action is irreversible.
exchange_token Exchange a short-lived access token for a long-lived token. Requires META_APP_ID and META_APP_SECRET to be configured.
get_delivery_estimate Get delivery estimate for an ad set, including estimated daily reach. Note: the delivery_estimate edge exists on the ad set (and ad account) node, not on individual ads. Also note: as of v26.0, the daily_outcomes_curve, budget_guardrail, and estimate_dau fields are no longer returned (removed with no replacement).
list_rf_predictions List reach & frequency predictions for the ad account. Returns paginated results.
create_rf_prediction Create a new reach & frequency prediction. Provide targeting spec as JSON string, budget in cents, and scheduling info.
get_rf_prediction Get details of a specific reach & frequency prediction by ID.
delete_rf_prediction Delete a reach & frequency prediction. This action is irreversible.
search_targeting Search for targeting options (interests, behaviors, demographics, etc.) by keyword. Use this to find valid targeting IDs for ad set targeting specs.
search_locations Search for geographic locations (countries, regions, cities, zip codes) for ad targeting.
search_targeting_map Map targeting IDs to their full details (names, types, paths). Useful for resolving IDs obtained from other endpoints.
get_reach_estimate Get estimated audience reach for a given targeting specification. Useful for planning campaigns before creating them.
get_targeting_suggestions Get targeting suggestions based on existing targeting criteria. Meta suggests related interests, behaviors, and demographics.
search_ad_library Search the Meta Ad Library for ads. Allows searching by keywords, countries, and ad type. Useful for competitive research and transparency.
list_catalogs List product catalogs for the ad account.
get_catalog Get details of a specific product catalog.
create_catalog Create a new product catalog for the ad account.
update_catalog Update an existing product catalog.
list_product_sets List product sets within a catalog.
create_product_set Create a new product set within a catalog.
get_product_set Get details of a specific product set.
update_product_set Update an existing product set.
list_products List products within a catalog.
update_product Update an existing product in a catalog.
batch_products Batch create, update, or delete products in a catalog. Supports up to 5,000 items per request. Update operations support upsert.
get_batch_status Check the status of a catalog batch operation.
get_form_leads Get leads submitted through a lead generation form.
get_lead Get details of a specific lead by ID.
list_lead_forms List lead generation forms for a Facebook Page.
create_lead_form Create a new lead generation form on a Facebook Page. Requires pages_manage_ads permission.
get_lead_form Get details of a specific lead generation form.
get_account_insights Get performance insights for the ad account. Returns metrics like impressions, clicks, spend, reach, etc.
get_campaign_insights Get performance insights for a specific campaign.
get_adset_insights Get performance insights for a specific ad set.
get_ad_insights Get performance insights for a specific ad.
create_async_report Create an async insight report for large data queries. Returns a report_run_id to poll with get_async_report.
get_async_report Check status and retrieve results of an async insight report.
list_experiments List A/B test experiments (ad studies) for the ad account.
create_experiment Create a new A/B test experiment (ad study).
get_experiment Get details of a specific experiment (ad study).
update_experiment Update an existing experiment (ad study).
get_experiment_results Get results/cells of an experiment (ad study).
send_conversion_event Send a server-side conversion event via the Conversions API (pixel).
send_offline_event Send an offline conversion event to an offline event set.
list_offline_event_sets List offline conversion data sets for the ad account.
create_offline_event_set Create a new offline conversion data set.
list_custom_audiences List custom audiences in the ad account.
get_audience Get details of a specific custom audience by ID.
create_custom_audience Create a new custom audience. Subtype determines the audience source (CUSTOM, WEBSITE, APP, OFFLINE_CONVERSION, LOOKALIKE, ENGAGEMENT, etc.).
update_audience Update an existing custom audience. Only provided fields will be modified.
delete_audience Delete a custom audience. This action is irreversible.
add_users_to_audience Add users to a custom audience. Payload must be a JSON string containing hashed user data with a schema array defining the data types (e.g. EMAIL, PHONE, FN, LN).
remove_users_from_audience Remove users from a custom audience. Payload format is the same as add_users_to_audience.
create_lookalike_audience Create a lookalike audience based on an existing custom audience. Ratio (1-10) determines how closely the new audience resembles the source.
get_audience_health Get health status and delivery readiness of a custom audience. Shows match rate, size, and operation status.
list_saved_audiences List saved audiences in the ad account. Saved audiences are reusable targeting presets.
get_saved_audience Get details of a specific saved audience by ID.
list_images List ad images uploaded to the ad account.
upload_image Upload an ad image from a public URL or a local file. Returns image hash for use in ad creatives. Note: fetching from a URL requires the app to have Meta
get_image Get details of a specific ad image by ID.
delete_image Delete an ad image by hash. This action is irreversible.
list_businesses List all businesses accessible by the current user. Returns paginated results.
get_business Get details of a specific business by ID.
list_business_ad_accounts List ad accounts owned by the configured business. Requires META_BUSINESS_ID env var.
list_business_users List users of the configured business. Requires META_BUSINESS_ID env var.
add_business_user Add a user to the configured business by email. Requires META_BUSINESS_ID env var.
list_business_pages List Facebook Pages owned by the configured business. Requires META_BUSINESS_ID env var.
list_business_instagram_accounts List Instagram accounts owned by the configured business. Requires META_BUSINESS_ID env var.
list_system_users List system users of the configured business. Requires META_BUSINESS_ID env var.
create_system_user Create a new system user in the configured business. Requires META_BUSINESS_ID env var.
list_adsets List ad sets in the ad account. Optionally filter by campaign or status.
get_adset Get details of a specific ad set by ID.
create_adset Create a new ad set. Requires name, campaign_id, budget, optimization_goal, billing_event, and targeting. Defaults to PAUSED status.
update_adset Update an existing ad set. Only provided fields will be modified.
delete_adset Delete an ad set. This action is irreversible.
copy_adset Copy an existing ad set. Creates a duplicate within the same or different campaign.
get_adset_targeting_sentence Get human-readable targeting description for an ad set. Converts targeting spec into readable sentences.
get_adset_ads Get all ads belonging to a specific ad set.
get_adset_leads Get leads generated by a specific ad set. Requires leads_retrieval permission.
list_creatives List ad creatives in the ad account.
get_creative Get details of a specific ad creative by ID.
create_creative Create a new ad creative with object_story_spec. The spec defines the ad content (link, photo, or video) and the associated Facebook Page. Notes for v26.0: poll_spec and the poll type under interactive_components_spec are no longer supported and will be rejected. If the advertiser has a shop, eligible creatives now default to destination_spec.destination_type=WEBSITE_AND_SHOP — set it to WEBSITE_AND_SHOP_OPT_OUT to opt out.
update_creative Update an existing ad creative. Only name and url_tags can be modified after creation.
create_dynamic_creative Create a dynamic creative with asset_feed_spec. Meta automatically combines different images, videos, titles, bodies, and CTAs to find the best performing combinations.
generate_preview Generate an ad preview without needing an existing ad. Provide creative spec directly to see how it would look.
list_block_lists List publisher block lists for the ad account. Returns paginated results.
create_block_list Create a new publisher block list for the ad account.
add_to_block_list Add publisher URLs to an existing block list.
remove_from_block_list Remove publisher URLs from an existing block list.
delete_block_list Delete a publisher block list. This action is irreversible.
list_campaigns List campaigns in the ad account. Supports filtering by status and objective. Returns paginated results.
get_campaign Get details of a specific campaign by ID.
create_campaign Create a new ad campaign. Defaults to PAUSED status. Requires name and objective. Budget can be set at campaign or ad set level.
update_campaign Update an existing campaign. Only provided fields will be modified.
delete_campaign Delete a campaign. This action is irreversible.
copy_campaign Copy an existing campaign. Creates a duplicate with optional name override. Copies structure including ad sets and ads.
get_campaign_adsets Get all ad sets belonging to a specific campaign.
get_campaign_ads Get all ads belonging to a specific campaign.
get_campaign_leads Get leads generated by a specific campaign. Requires leads_retrieval permission.
Permissions 2
network medium env_vars low