meta-ads-mcp-patched
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| META_APP_ID | No | Meta app ID (optional) | |
| META_PIXEL_ID | No | Meta pixel ID (optional) | |
| META_APP_SECRET | No | Meta app secret (optional) | |
| META_BUSINESS_ID | No | Meta business ID (optional) | |
| META_AD_ACCOUNT_ID | Yes | Meta ad account ID, numeric without act_ prefix (required) | |
| META_ADS_ACCESS_TOKEN | Yes | Meta Ads access token (required) |
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_campaignsA | 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_campaignA | 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_adsetsA | 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_adsetC | Create a new ad set. Requires name, campaign_id, budget, optimization_goal, billing_event, and targeting. Defaults to PAUSED status. |
| update_adsetA | 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_adsA | 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_adA | 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_estimateB | Get delivery estimate for an ad including estimated daily reach and cost. |
| list_creativesB | List ad creatives in the ad account. |
| get_creativeA | Get details of a specific ad creative by ID. |
| create_creativeB | 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_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_imagesB | List ad images uploaded to the ad account. |
| upload_imageA | Upload an ad image from a public URL or a local file path. Returns image hash for use in ad creatives. |
| get_imageA | Get details of a specific ad image by ID. |
| delete_imageA | Delete an ad image by hash. This action is irreversible. |
| list_videosA | List ad videos uploaded to the ad account. |
| upload_videoA | Upload an ad video from a public URL or a local file path. 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_audiencesB | 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_audienceA | 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_audiencesA | 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_estimateA | Get estimated audience reach for a given targeting specification. Useful for planning campaigns before creating them. |
| get_targeting_suggestionsA | 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_insightsC | Get performance insights for a specific ad set. |
| get_ad_insightsB | 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_leadsC | 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_formA | 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_catalogsA | List product catalogs for the ad account. |
| get_catalogB | Get details of a specific product catalog. |
| create_catalogA | 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_rulesB | 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_eventB | Send an offline conversion event to an offline event set. |
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 |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Green-pep/meta-ads-mcp-patched'
If you have feedback or need assistance with the MCP directory API, please join our Discord server