PilotMCP
Platforms and tools

Meta Ads

The 44 read-only tools Pilot MCP serves for Meta Ads, taken from the server.

Pilot MCP serves 44 tools for Meta Ads, all read-only. Their names start with meta_. The connector's 28 write tools are not served: Pilot MCP is read-only.

Meta Ads, read-only: accounts, campaigns, ad sets and ads, insights and comparisons, creatives, audiences and targeting, pixels and automated rules.

What each entry shows

The name, description and parameters come from the list the server serves to your assistant (tools/list). Descriptions are in English: this is the text your assistant receives. Your assistant never fills in platform credentials: Pilot adds them on each call.

Tool families

Audiences and targeting

meta_browse_targeting

Meta Ads: Browse Targeting · read-only · idempotent

Finds Meta targeting options of a type (adinterest, adgeolocation, adeducationschool...) matching q, through the ad account's targetingsearch edge: the same lookup as search_targeting. Up to 100 options per page, one page unless pages asks for more; suite tells whether options remain.

ParameterTypeRequiredDescription
account_idstringyesAd account ID (act_xxx).
typestringyesadinterest, adgeolocation, adeducationschool, etc.
qstringyesSearch query: a term or a few characters.
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

meta_estimate_reach

Meta Ads: Estimate Reach · read-only · idempotent

Estimated audience size of a targeting spec on a Meta ad account (reachestimate): users_lower_bound, users_upper_bound and estimate_ready, for an optional optimization_goal. Creates nothing.

ParameterTypeRequiredDescription
account_idstringyes
targeting_specobjectyesTargeting spec: geo_locations, age_min, age_max, etc.
optimization_goalstringnoLINK_CLICKS, REACH, IMPRESSIONS, etc.

meta_get_custom_audience

Meta Ads: Get Custom Audience · read-only · idempotent

Details of one Meta custom audience by audience_id: id, name, subtype, approximate size bounds, operation_status and the owning account_id.

ParameterTypeRequiredDescription
audience_idstringyes
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

meta_get_delivery_estimate

Meta Ads: Get Delivery Estimate · read-only · idempotent

Meta delivery estimate: with adset_id, for that existing ad set's own targeting and optimization goal (estimate_mau_lower_bound, estimate_mau_upper_bound, estimate_ready); otherwise for a targeting_spec on the ad account, with an optional optimization_goal. One of adset_id or targeting_spec is required.

ParameterTypeRequiredDescription
account_idstringyesAd account ID, with or without the act_ prefix.
targeting_specobjectnoTargeting spec (geo_locations, age_min, age_max, etc.). Required without adset_id.
optimization_goalstringnoOptimization goal, e.g. LINK_CLICKS or REACH.
adset_idstringnoID of an existing ad set: estimates with its own targeting (account_id is then ignored).

meta_list_custom_audiences

Meta Ads: List Custom Audiences · read-only · idempotent

Lists the custom audiences of a Meta ad account with id, name, subtype, approximate size bounds (approximate_count_lower_bound, approximate_count_upper_bound) and description. Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
limitnumberno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

meta_list_saved_audiences

Meta Ads: List Saved Audiences · read-only · idempotent

Lists the saved audiences of a Meta ad account with id, name and targeting. Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
limitnumberno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

meta_search_targeting

Meta Ads: Search Targeting · read-only · idempotent

Searches Meta targeting options (interests, locations...) by the term q and a type (adinterest, adgeolocation...), through the ad account's targetingsearch edge: the same lookup as browse_targeting. Up to 100 options per page, one page unless pages asks for more; suite tells whether options remain.

ParameterTypeRequiredDescription
account_idstringyesAd account ID (act_xxx).
qstringyesSearch term.
typestringyesadinterest, adgeolocation, etc.
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

meta_validate_targeting

Meta Ads: Validate Targeting · read-only · idempotent

Sends a Meta targeting spec to the ad account's targetingvalidation edge and returns Meta's answer under data; valid only means the call succeeded. Creates and changes nothing.

ParameterTypeRequiredDescription
account_idstringyesAd account ID, with or without the act_ prefix.
targeting_specobjectyesTargeting spec to validate.

Campaigns, ad sets and ads

meta_get_ad

Meta Ads: Get Ad · read-only · idempotent

Details of one Meta ad by ad_id: id, name, status, adset_id, creative (its id) and the owning account_id.

ParameterTypeRequiredDescription
ad_idstringyes
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

meta_get_ad_rejections

Meta Ads: Get Ad Rejections · read-only · idempotent

Lists the ads of a Meta ad account whose effective status is DISAPPROVED or WITH_ISSUES, with id, name, effective_status and issues_info (the rejection or issue details). Paginated: limit rows per page (default 50), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
limitnumberno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

meta_get_adset

Meta Ads: Get Ad Set · read-only · idempotent

Details of one Meta ad set by adset_id: id, name, status, daily_budget, lifetime_budget (in the currency's minor unit), targeting and the owning account_id.

ParameterTypeRequiredDescription
adset_idstringyes
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

meta_get_campaign

Meta Ads: Get Campaign · read-only · idempotent

Details of one Meta campaign by campaign_id: id, name, status, objective, daily_budget, lifetime_budget (in the currency's minor unit) and the owning account_id.

ParameterTypeRequiredDescription
campaign_idstringyes
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

meta_list_ad_labels

Meta Ads: List Ad Labels · read-only · idempotent

Lists the ad labels of a Meta ad account with id, name and created_time. Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
limitnumberno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

meta_list_ads

Meta Ads: List Ads · read-only · idempotent

Lists the ads of a Meta ad account with id, name, status, effective_status, adset_id, campaign_id, campaign name, creative id and created_time. with_creative: true expands the creative (title, body, image and 1080x1080 thumbnail URLs, image_hash, video_id, object_story_spec for carousels, asset_feed_spec for dynamic formats). Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
limitnumberno
with_creativebooleanno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

meta_list_adsets

Meta Ads: List Ad Sets · read-only · idempotent

Lists the ad sets of a Meta ad account with id, name, status, daily_budget, lifetime_budget (in the currency's minor unit), campaign_id and targeting. Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
limitnumberno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

meta_list_campaigns

Meta Ads: List Campaigns · read-only · idempotent

Lists the campaigns of a Meta ad account with id, name, status, objective, daily_budget, lifetime_budget and created_time; budgets are in the currency's minor unit (cents for EUR or USD). status filters on effective_status (ACTIVE, PAUSED...). Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
limitnumberno
statusstringno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

Accounts

meta_check_account_issues

Meta Ads: Check Account Issues · read-only · idempotent

Checks a Meta ad account for problems: reads account_status, disable_reason, spend_cap, amount_spent and the funding source, and returns them with a list of issues: account not active (account_status other than 1), a disable reason, or more than 90% of the spend cap used.

ParameterTypeRequiredDescription
account_idstringyes

meta_get_account

Meta Ads: Get Account · read-only · idempotent

Details of a Meta ad account: id, name, account_status, currency, timezone_name and spend_cap. Legacy tool, kept for compatibility.

ParameterTypeRequiredDescription
account_idstringyes

meta_get_activities

Meta Ads: Get Activities · read-only · idempotent

Change history of a Meta ad account: activity events with event_type, event_time, object_id and actor_id. Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
limitnumberno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

meta_get_ad_account_activities

Meta Ads: Get Ad Account Activities · read-only · idempotent

Recent activity log of a Meta ad account (who changed what): event_type, event_time, object_id, object_name, actor_id, actor_name and extra_data, limit entries (default 50), first page only.

ParameterTypeRequiredDescription
account_idstringyesAd account ID, with or without the act_ prefix.
limitnumbernoMaximum number of results (default 50).

meta_get_minimum_budgets

Meta Ads: Get Minimum Budgets · read-only · idempotent

Minimum daily budgets Meta accepts on an ad account: currency, min_daily_budget_imp and min_daily_budget_high_freq. Useful to check a proposed ad set budget.

ParameterTypeRequiredDescription
account_idstringyes

meta_list_accounts

Meta Ads: List Accounts · read-only · idempotent

Lists the Meta ad accounts of the connected Meta user with id, name, account_status and currency, first page only. Legacy tool, kept for compatibility.

ParameterTypeRequiredDescription
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

Creatives

meta_get_ad_creative

Meta Ads: Get Ad Creative · read-only · idempotent

Details of one Meta ad creative by creative_id: id, name, title, body, image_url, thumbnail_url and the owning account_id.

ParameterTypeRequiredDescription
creative_idstringyes
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

meta_get_ad_images

Meta Ads: Get Ad Images · read-only · idempotent

Resolves Meta image hashes (from a creative or a carousel card) into full-size image URLs for an ad account: hash, url, width, height, permalink_url and url_128. Pass all hashes in one call; up to 10 pages are followed.

ParameterTypeRequiredDescription
account_idstringyes
hashesany[]yes

meta_list_ad_creatives

Meta Ads: List Ad Creatives · read-only · idempotent

Lists the ad creatives of a Meta ad account with id, name, title, body, image_url and thumbnail_url. Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
limitnumberno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

meta_list_ad_images

Meta Ads: List Ad Images · read-only · idempotent

Lists the images of a Meta ad account's library with id, name, url and hash. Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
limitnumberno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

meta_list_ad_videos

Meta Ads: List Ad Videos · read-only · idempotent

Lists the videos of a Meta ad account's library with id, title, source and length. Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
limitnumberno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

Pixels and automated rules

meta_get_automated_rule

Meta Ads: Get Automated Rule · read-only · idempotent

Details of one Meta automated rule by rule_id: id, name, status, evaluation_spec, execution_spec, schedule_spec, created_time, updated_time and the owning account_id.

ParameterTypeRequiredDescription
rule_idstringyesAutomated rule ID.
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

meta_get_pixel

Meta Ads: Get Pixel · read-only · idempotent

Details of one Meta pixel by pixel_id: id, name, creation_time, last_fired_time, is_unavailable, code and the owning ad account (owner_ad_account).

ParameterTypeRequiredDescription
pixel_idstringyesPixel ID.
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

meta_get_pixel_stats

Meta Ads: Get Pixel Stats · read-only · idempotent

Event statistics of one Meta pixel by pixel_id (its stats edge), optionally between start_time and end_time.

ParameterTypeRequiredDescription
pixel_idstringyesPixel ID.
start_timestringnoStart date (YYYY-MM-DD).
end_timestringnoEnd date (YYYY-MM-DD).
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

meta_get_rule_history

Meta Ads: Get Rule History · read-only · idempotent

Execution history of one Meta automated rule by rule_id (its history edge), limit entries (default 25).

ParameterTypeRequiredDescription
rule_idstringyesAutomated rule ID.
limitnumberno
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

meta_list_automated_rules

Meta Ads: List Automated Rules · read-only · idempotent

Lists the automated rules of a Meta ad account (its ad rules library) with id, name, status and evaluation_spec. Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
limitnumberno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

meta_list_pixels

Meta Ads: List Pixels · read-only · idempotent

Lists the Meta pixels of an ad account with id, name and code (the pixel's base code). Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
limitnumberno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

Insights and comparisons

meta_compare_campaigns_performance

Meta Ads: Compare Campaigns Performance · read-only · idempotent

Compares Meta campaigns side by side: for each ID in campaign_ids, its insights over date_preset (default last_30d) with the requested metrics (default spend, impressions, clicks, ctr, cpc) and the owning account_id. A campaign without delivery gets insights: null.

ParameterTypeRequiredDescription
campaign_idsany[]yes
date_presetstringno
metricsany[]no
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

meta_compare_periods_performance

Meta Ads: Compare Periods Performance · read-only · idempotent

Compares a Meta ad account over two date presets, period1 and period2 (e.g. last_7d and last_14d): account-level insights for each, with the same fields as get_account_insights. Each preset is read as Meta defines it, so last_14d also covers the last 7 days.

ParameterTypeRequiredDescription
account_idstringyes
period1stringyeslast_7d, last_14d, etc.
period2stringyeslast_7d, last_14d, etc.

meta_get_account_insights

Meta Ads: Get Account Insights · read-only · idempotent

Performance insights of a Meta ad account: spend, impressions, clicks, CPC, CPM, CTR, reach, frequency, actions, conversions, cost_per_action_type, action_values, purchase_roas, video plays and quartiles, with the campaign, ad set and ad IDs and names. level is account, campaign, adset or ad (default account); the window is date_preset (default last_7d) or time_range, which takes precedence; time_increment splits it by days, breakdowns adds dimensions, champs requests fewer fields and filtrage passes raw Meta filters. Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain.

ParameterTypeRequiredDescription
account_idstringyes
date_presetstringno
levelstringno
limitnumberno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.
breakdownsany[]noOptional breakdowns (age, gender, device_platform, publisher_platform, platform_position, country, region, impression_device, hourly_stats_aggregated_by_advertiser_time_zone); any other value is refused. Not all of them combine: when unsure, ask for one only.
time_incrementnumbernoSplits the results into periods of N days: 1 gives one row per day. Omitted: a single total for the whole window.
time_rangeobjectnoExplicit window { since: 'YYYY-MM-DD', until: 'YYYY-MM-DD' }, both bounds INCLUDED. Takes precedence over date_preset.
champsany[]noSubset of fields to request. Intersected with the default field list, plus video_thruplay_watched_actions and the three quality rankings (quality_ranking, engagement_rate_ranking, conversion_rate_ranking), returned only when named. An empty or missing list, or one with no known field, requests the default list.
filtrageany[]noRaw Meta filters, e.g. [{ field: 'ad.id', operator: 'IN', value: [...] }]. Omitted: no filter.

meta_get_account_performance_summary

Meta Ads: Get Account Performance Summary · read-only · idempotent

Key figures of a Meta ad account over date_preset (default last_30d): spend, impressions, clicks, CTR, CPC, CPM, reach and purchase conversions (purchase and omni_purchase actions). Purchase values are not requested from Meta, so conversionValue stays 0 and roas stays null: get_account_insights returns action_values and purchase_roas.

ParameterTypeRequiredDescription
account_idstringyes
date_presetstringno

meta_get_ad_insights

Meta Ads: Get Ad Insights · read-only · idempotent

Performance insights of one Meta ad by ad_id, with the same fields as get_account_insights plus the owning account_id, over date_preset (default last_7d), with optional breakdowns. Only the first page of rows is returned.

ParameterTypeRequiredDescription
ad_idstringyes
date_presetstringno
breakdownsany[]noOptional breakdowns (age, gender, device_platform, publisher_platform, platform_position, country, region, impression_device, hourly_stats_aggregated_by_advertiser_time_zone); any other value is refused. Not all of them combine: when unsure, ask for one only.
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

meta_get_adset_insights

Meta Ads: Get Ad Set Insights · read-only · idempotent

Performance insights of one Meta ad set by adset_id, with the same fields as get_account_insights plus the owning account_id, over date_preset (default last_7d), with optional breakdowns. Only the first page of rows is returned.

ParameterTypeRequiredDescription
adset_idstringyes
date_presetstringno
breakdownsany[]noOptional breakdowns (age, gender, device_platform, publisher_platform, platform_position, country, region, impression_device, hourly_stats_aggregated_by_advertiser_time_zone); any other value is refused. Not all of them combine: when unsure, ask for one only.
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

meta_get_campaign_insights

Meta Ads: Get Campaign Insights · read-only · idempotent

Performance insights of one Meta campaign by campaign_id, with the same fields as get_account_insights plus the owning account_id, over date_preset (default last_7d), with optional breakdowns. Only the first page of rows is returned.

ParameterTypeRequiredDescription
campaign_idstringyes
date_presetstringno
breakdownsany[]noOptional breakdowns (age, gender, device_platform, publisher_platform, platform_position, country, region, impression_device, hourly_stats_aggregated_by_advertiser_time_zone); any other value is refused. Not all of them combine: when unsure, ask for one only.
account_idstringnoMeta Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace.

meta_get_daily_spend_breakdown

Meta Ads: Get Daily Spend Breakdown · read-only · idempotent

Daily spend, impressions and clicks of a Meta ad account, one row per day, over date_preset (default last_30d), at level account, campaign or adset (default account). Only the first page of rows is returned.

ParameterTypeRequiredDescription
account_idstringyes
date_presetstringno
levelstringno

meta_get_insights

Meta Ads: Get Insights · read-only · idempotent

Insights of a Meta ad account between since and until (YYYY-MM-DD; both are needed, otherwise Meta's default window applies), at level account, campaign, adset or ad (default account), with the same fields as get_account_insights. Paginated: limit rows per page (default 100), one page unless pages asks for more; suite tells whether rows remain. Legacy tool, kept for compatibility.

ParameterTypeRequiredDescription
account_idstringyes
levelstringno
sincestringno
untilstringno
limitnumberno
pagesnumbernoMaximum number of pages to follow (default 1). Meta counts a single call for a whole cursor run: following pages costs much less than asking for one large page, which Meta rejects for volume.

Other tools

meta_get_top_performing_ads

Meta Ads: Get Top Performing Ads · read-only · idempotent

The top_n ads (default 10) of a Meta ad account with the highest value of a metric: roas (default), spend, ctr or cpc, over date_preset (default last_7d). Each row has ad_id, ad_name, spend, impressions, clicks, ctr, cpc, actions, action_values and roas, computed as purchase value over spend (0 when unknown). With cpc, the highest cost comes first. Ranks at most the first 500 ad rows Meta returns.

ParameterTypeRequiredDescription
account_idstringyes
metricstringno
top_nnumberno
date_presetstringno

meta_get_worst_performing_ads

Meta Ads: Get Worst Performing Ads · read-only · idempotent

The bottom_n ads (default 10) of a Meta ad account with the lowest value of a metric: ctr (default), cpc or spend, over date_preset (default last_7d). Each row has ad_id, ad_name, spend, impressions, clicks, ctr and cpc. With cpc, the lowest cost comes first. Ranks at most the first 500 ad rows Meta returns.

ParameterTypeRequiredDescription
account_idstringyes
metricstringno
bottom_nnumberno
date_presetstringno

On this page