Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
META_APP_IDNoApp ID — required for token exchange/debug
META_PIXEL_IDNoPixel ID — required for conversion tools
META_APP_SECRETNoApp secret — required for token exchange/debug
META_BUSINESS_IDNoBusiness Manager ID — required for business tools
META_AD_ACCOUNT_IDYesAd account ID (numeric, without act_ prefix)
META_ADS_ACCESS_TOKENYesMeta Marketing API access token

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_campaignsB

List campaigns in the ad account. Supports filtering by status and objective. Returns paginated results.

get_campaignA

Get details of a specific campaign by ID.

create_campaignA

Create a new ad campaign. Defaults to PAUSED status. Requires name and objective. Budget can be set at campaign or ad set level.

update_campaignB

Update an existing campaign. Only provided fields will be modified.

delete_campaignA

Delete a campaign. This action is irreversible.

copy_campaignA

Copy an existing campaign. Creates a duplicate with optional name override. Copies structure including ad sets and ads.

get_campaign_adsetsA

Get all ad sets belonging to a specific campaign.

get_campaign_adsA

Get all ads belonging to a specific campaign.

get_campaign_leadsA

Get leads generated by a specific campaign. Requires leads_retrieval permission.

list_adsetsB

List ad sets in the ad account. Optionally filter by campaign or status.

get_adsetC

Get details of a specific ad set by ID.

create_adsetB

Create a new ad set. Requires name, campaign_id, budget, optimization_goal, billing_event, and targeting. Defaults to PAUSED status.

update_adsetB

Update an existing ad set. Only provided fields will be modified.

delete_adsetA

Delete an ad set. This action is irreversible.

copy_adsetA

Copy an existing ad set. Creates a duplicate within the same or different campaign.

get_adset_targeting_sentenceB

Get human-readable targeting description for an ad set. Converts targeting spec into readable sentences.

get_adset_adsA

Get all ads belonging to a specific ad set.

get_adset_leadsA

Get leads generated by a specific ad set. Requires leads_retrieval permission.

list_adsB

List ads in the ad account. Optionally filter by campaign, ad set, or status.

get_adA

Get details of a specific ad by ID.

create_adC

Create a new ad. Requires name, adset_id, and creative (JSON object_story_spec). Defaults to PAUSED status.

update_adA

Update an existing ad. Only provided fields will be modified.

delete_adA

Delete an ad. This action is irreversible.

copy_adA

Copy an existing ad. Creates a duplicate within the same or different ad set.

get_ad_previewB

Get a preview of an ad in a specific format. Returns HTML iframe for rendering.

get_delivery_estimateA

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_creativesC

List ad creatives in the ad account.

get_creativeA

Get details of a specific ad creative by ID.

create_creativeA

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_creativeA

Update an existing ad creative. Only name and url_tags can be modified after creation.

create_dynamic_creativeA

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_previewA

Generate an ad preview without needing an existing ad. Provide creative spec directly to see how it would look.

list_imagesC

List ad images uploaded to the ad account.

upload_imageA

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's URL-fetch capability — if that fails with an OAuthException 'Application does not have the capability to make this API call', use file_path to upload the raw bytes instead, which does not require that capability.

get_imageA

Get details of a specific ad image by ID.

delete_imageB

Delete an ad image by hash. This action is irreversible.

list_videosB

List ad videos uploaded to the ad account.

upload_videoB

Upload an ad video from a public URL or a local file. Returns video ID for use in ad creatives.

get_videoA

Get details of a specific ad video by ID.

delete_videoA

Delete an ad video. This action is irreversible.

list_canvasesB

List Instant Experience (Canvas) creatives in the ad account.

get_canvasA

Get details of a specific Instant Experience (Canvas) by ID.

create_canvasB

Create a new Instant Experience (Canvas) on a Facebook Page. Requires page_id and body_elements JSON array defining the canvas layout.

delete_canvasA

Delete an Instant Experience (Canvas). This action is irreversible.

list_custom_audiencesC

List custom audiences in the ad account.

get_audienceA

Get details of a specific custom audience by ID.

create_custom_audienceB

Create a new custom audience. Subtype determines the audience source (CUSTOM, WEBSITE, APP, OFFLINE_CONVERSION, LOOKALIKE, ENGAGEMENT, etc.).

update_audienceA

Update an existing custom audience. Only provided fields will be modified.

delete_audienceA

Delete a custom audience. This action is irreversible.

add_users_to_audienceA

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_audienceB

Remove users from a custom audience. Payload format is the same as add_users_to_audience.

create_lookalike_audienceB

Create a lookalike audience based on an existing custom audience. Ratio (1-10) determines how closely the new audience resembles the source.

get_audience_healthA

Get health status and delivery readiness of a custom audience. Shows match rate, size, and operation status.

list_saved_audiencesB

List saved audiences in the ad account. Saved audiences are reusable targeting presets.

get_saved_audienceA

Get details of a specific saved audience by ID.

search_targetingA

Search for targeting options (interests, behaviors, demographics, etc.) by keyword. Use this to find valid targeting IDs for ad set targeting specs.

search_locationsB

Search for geographic locations (countries, regions, cities, zip codes) for ad targeting.

search_targeting_mapA

Map targeting IDs to their full details (names, types, paths). Useful for resolving IDs obtained from other endpoints.

get_reach_estimateB

Get estimated audience reach for a given targeting specification. Useful for planning campaigns before creating them.

get_targeting_suggestionsB

Get targeting suggestions based on existing targeting criteria. Meta suggests related interests, behaviors, and demographics.

get_account_insightsC

Get performance insights for the ad account. Returns metrics like impressions, clicks, spend, reach, etc.

get_campaign_insightsC

Get performance insights for a specific campaign.

get_adset_insightsB

Get performance insights for a specific ad set.

get_ad_insightsC

Get performance insights for a specific ad.

create_async_reportA

Create an async insight report for large data queries. Returns a report_run_id to poll with get_async_report.

get_async_reportB

Check status and retrieve results of an async insight report.

get_form_leadsB

Get leads submitted through a lead generation form.

get_leadA

Get details of a specific lead by ID.

list_lead_formsB

List lead generation forms for a Facebook Page.

create_lead_formB

Create a new lead generation form on a Facebook Page. Requires pages_manage_ads permission.

get_lead_formC

Get details of a specific lead generation form.

list_catalogsB

List product catalogs for the ad account.

get_catalogB

Get details of a specific product catalog.

create_catalogB

Create a new product catalog for the ad account.

update_catalogC

Update an existing product catalog.

list_product_setsB

List product sets within a catalog.

create_product_setB

Create a new product set within a catalog.

get_product_setA

Get details of a specific product set.

update_product_setC

Update an existing product set.

list_productsB

List products within a catalog.

get_productA

Get details of a specific product.

update_productB

Update an existing product in a catalog.

batch_productsA

Batch create, update, or delete products in a catalog. Supports up to 5,000 items per request. Update operations support upsert.

get_batch_statusC

Check the status of a catalog batch operation.

list_feedsA

List product feeds for a catalog.

create_feedB

Create a new product feed for a catalog.

upload_feedC

Upload/trigger a feed file upload for a product feed.

get_feed_uploadsB

Get upload history for a product feed.

list_rulesC

List automated rules for the ad account.

get_ruleB

Get details of a specific automated rule.

create_ruleB

Create a new automated rule for the ad account.

update_ruleC

Update an existing automated rule.

delete_ruleB

Delete an automated rule.

list_experimentsA

List A/B test experiments (ad studies) for the ad account.

create_experimentB

Create a new A/B test experiment (ad study).

get_experimentB

Get details of a specific experiment (ad study).

update_experimentA

Update an existing experiment (ad study).

get_experiment_resultsB

Get results/cells of an experiment (ad study).

send_conversion_eventA

Send a server-side conversion event via the Conversions API (pixel).

send_offline_eventA

Send offline conversion events through the Conversions API to a dataset. Store events must use action_source=physical_store.

list_offline_event_setsC

List offline conversion data sets for the ad account.

create_offline_event_setC

Create a new offline conversion data set.

list_budget_schedulesB

List budget schedules attached to a campaign or ad set. Returns paginated results.

create_budget_scheduleC

Create a budget schedule on a campaign or ad set.

update_budget_scheduleC

Update an existing budget schedule. Only provided fields will be modified.

delete_budget_scheduleA

Delete a budget schedule. This action is irreversible.

list_rf_predictionsB

List reach & frequency predictions for the ad account. Returns paginated results.

create_rf_predictionC

Create a new reach & frequency prediction. Provide targeting spec as JSON string, budget in cents, and scheduling info.

get_rf_predictionA

Get details of a specific reach & frequency prediction by ID.

delete_rf_predictionA

Delete a reach & frequency prediction. This action is irreversible.

list_block_listsB

List publisher block lists for the ad account. Returns paginated results.

create_block_listC

Create a new publisher block list for the ad account.

add_to_block_listA

Add publisher URLs to an existing block list.

remove_from_block_listA

Remove publisher URLs from an existing block list.

delete_block_listA

Delete a publisher block list. This action is irreversible.

get_ad_accountB

Get details of the configured ad account including status, balance, currency, timezone, and spend info.

list_ad_accountsA

List all ad accounts accessible by the current user. Returns paginated results.

update_ad_accountB

Update the configured ad account settings. Only provided fields will be modified.

get_account_activitiesB

Get activity log for the ad account. Shows changes made to campaigns, ad sets, ads, etc.

list_account_usersC

List users who have access to the ad account with their roles and permissions.

list_businessesA

List all businesses accessible by the current user. Returns paginated results.

get_businessB

Get details of a specific business by ID.

list_business_ad_accountsA

List ad accounts owned by the configured business. Requires META_BUSINESS_ID env var.

list_business_usersA

List users of the configured business. Requires META_BUSINESS_ID env var.

add_business_userA

Add a user to the configured business by email. Requires META_BUSINESS_ID env var.

remove_business_userA

Remove a user from the configured business. Requires META_BUSINESS_ID env var.

list_business_pagesA

List Facebook Pages owned by the configured business. Requires META_BUSINESS_ID env var.

list_business_instagram_accountsA

List Instagram accounts owned by the configured business. Requires META_BUSINESS_ID env var.

list_system_usersA

List system users of the configured business. Requires META_BUSINESS_ID env var.

create_system_userB

Create a new system user in the configured business. Requires META_BUSINESS_ID env var.

exchange_tokenA

Exchange a short-lived access token for a long-lived token. Requires META_APP_ID and META_APP_SECRET to be configured.

refresh_tokenA

Extend a valid long-lived user access token through Meta's documented token exchange flow. Requires META_APP_ID and META_APP_SECRET.

debug_tokenA

Debug an access token to inspect its properties, permissions, expiration, and validity. Requires META_APP_ID and META_APP_SECRET.

search_ad_libraryB

Search the Meta Ad Library for ads. Allows searching by keywords, countries, and ad type. Useful for competitive research and transparency.

Prompts

Interactive templates invoked by user choice

NameDescription
campaign_wizardStep-by-step guide to create a full ad campaign from scratch
performance_reportAnalyze ad performance with detailed breakdowns and recommendations
audience_builderBuild and refine target audiences using Meta's targeting tools

Resources

Contextual data attached and managed by the client

NameDescription
account-infoAd account overview — status, balance, currency, timezone, and total spend
campaigns-overviewAll active campaigns with budget information
spending-todayToday's spending summary — spend, impressions, clicks, and reach

TDQS

B3.2/5.0

Scored across 134 tools

Disambiguation3/5

Many tools have clearly distinct purposes (e.g., create_campaign vs create_adset), but the sheer number (134) creates inevitable overlap among lead-related tools (get_lead, get_campaign_leads, get_adset_leads, get_form_leads), targeting search tools (search_targeting, search_targeting_map), and business/account listing tools. Descriptions help, but similar naming patterns and volume increase misselection risk.

Naming Consistency5/5

All tool names use consistent snake_case with a verb_noun pattern (list_campaigns, create_campaign, delete_campaign, get_campaign_insights). Even compound names like add_users_to_audience and remove_from_block_list follow a predictable verb_object structure, with no mixing of conventions.

Tool Count1/5

134 tools is far beyond the typical well-scoped range (3–15) and constitutes an extreme mismatch for a single MCP server. Even a comprehensive API surface could be organized into fewer, more focused tools or resources; the large count makes discovery and correct selection difficult.

Completeness4/5

The server covers an extensive range of Meta Ads operations including campaigns, ad sets, ads, creatives, audiences, catalogs, rules, and business management. However, some lifecycle gaps exist (e.g., no delete for creatives, catalogs, product sets, or saved audiences), though agents can often work around these.

Maintenance

ActivityMaintained
ResponsivenessLimited data