Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| META_APP_ID | No | App ID — required for token exchange/debug | |
| META_PIXEL_ID | No | Pixel ID — required for conversion tools | |
| META_APP_SECRET | No | App secret — required for token exchange/debug | |
| META_BUSINESS_ID | No | Business Manager ID — required for business tools | |
| META_AD_ACCOUNT_ID | Yes | Ad account ID (numeric, without act_ prefix) | |
| META_ADS_ACCESS_TOKEN | Yes | Meta Marketing API access token |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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. |
| 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. |
| 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. |
| 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_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. |
| get_ad_preview | Get a preview of an ad in a specific format. Returns HTML iframe for rendering. |
| get_delivery_estimate | Get delivery estimate for an ad including estimated daily reach and cost. |
| 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. |
| 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. |
| list_images | List ad images uploaded to the ad account. |
| upload_image | Upload an ad image from a public URL. Returns image hash for use in ad creatives. |
| get_image | Get details of a specific ad image by ID. |
| delete_image | Delete an ad image by hash. This action is irreversible. |
| list_videos | List ad videos uploaded to the ad account. |
| upload_video | Upload an ad video from a public URL. 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. |
| 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_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. |
| 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. |
| 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. |
| 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. |
| 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. |
| get_lead_form | Get details of a specific lead generation form. |
| 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. |
| get_product | Get details of a specific product. |
| update_product | Update an existing product in a catalog. |
| 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_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_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_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_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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| campaign_wizard | Step-by-step guide to create a full ad campaign from scratch |
| performance_report | Analyze ad performance with detailed breakdowns and recommendations |
| audience_builder | Build and refine target audiences using Meta's targeting tools |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| account-info | Ad account overview — status, balance, currency, timezone, and total spend |
| campaigns-overview | All active campaigns with budget information |
| spending-today | Today's spending summary — spend, impressions, clicks, and reach |