mcp-facebook-ads
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| META_APP_ID | Yes | Your Meta App ID | |
| META_APP_SECRET | Yes | Your Meta App Secret | |
| META_API_VERSION | No | Meta API version | v25.0 |
| META_ACCESS_TOKEN | Yes | Your Meta Access Token with permissions: ads_management, ads_read, business_management, pages_read_engagement | |
| META_AD_ACCOUNT_ID | Yes | Your Meta Ad Account ID (e.g., act_123456 or numeric ID) |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_ad_accountsB | Get ad accounts the token can access. |
| get_account_infoC | Get detailed info for one ad account (incl. opportunity_score = Kansscore in Ads Manager). |
| get_account_opportunity_recommendationsC | Kansscore-uitleg: openstaande aanbevelingen (zelfde bron als Ads Manager). summary_only groepeert per type; anders ruwe items (max limit). |
| get_account_pagesC | Get Facebook pages connected to ad account business. |
| get_campaignsC | Get campaigns with optional status/objective filters. |
| get_campaign_detailsC | Get one campaign with rich details. |
| create_campaignC | Create a campaign (paused by default for safe review). |
| update_campaignC | Update campaign status/budget/name. |
| delete_campaignB | Archive a campaign (safe delete). |
| get_adsetsC | Get ad sets, optionally filtered by campaign. |
| get_adset_detailsC | Get one ad set in detail. |
| create_adsetC | Create ad set with targeting and optimization settings. |
| update_adsetD | Update ad set fields. |
| delete_adsetC | Archive ad set. |
| get_adsC | Get ads with optional filters. |
| get_ad_detailsC | Get one ad with details. |
| create_adC | Create ad from an existing creative. |
| update_adC | Update ad status, name, or creative. |
| delete_adB | Archive ad. |
| get_ad_creativesC | Get creatives attached to an ad. |
| upload_ad_imageC | Upload an image by public URL to use in creatives. |
| upload_ad_videoB | Upload a local video file to the ad account. Let op: |
| create_ad_creativeC | Create a link ad creative. |
| create_ad_video_creativeB | Create a link ad creative that uses a previously uploaded video (video_id). Dit maakt een |
| create_asset_feed_ad_creativeC | Create a dynamic creative using raw |
| update_ad_creativeC | Update mutable creative fields. |
| get_ad_previewsC | Generate ad previews for a specific format. |
| get_insightsC | Get insights on account or a specific campaign. |
| get_account_insightsC | Get account summary insights. |
| compare_performanceC | Compare two periods for spend/clicks/conversions. |
| search_interestsC | Search interest targeting options. |
| search_behaviorsC | Search behavior targeting options. |
| search_demographicsC | Search demographic targeting options. |
| search_geo_locationsC | Search geolocation targeting options. |
| estimate_audience_sizeC | Estimate audience size for targeting specification. |
| get_campaign_templatesA | Get built-in campaign templates by objective. |
| create_campaign_from_templateC | Create a campaign from a best-practice template. |
| analyze_campaignC | Analyze campaign performance and return practical recommendations. |
| suggest_budget_allocationC | Suggest budget shifts based on campaign CTR and CPC. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 39 tools
Most tools target clearly distinct resources and actions (campaign vs adset vs ad vs creative). Some overlap remains between get_insights, get_account_insights, and compare_performance, and between get_ad_accounts and get_account_info, but descriptions help differentiate.
The set is predominantly snake_case with a verb_noun pattern. Minor deviations exist, such as get_account_info versus get_campaign_details/get_adset_details/get_ad_details, and multiple similar prefixes for creative tools.
39 tools is heavy for this domain and exceeds the 25+ threshold for 'too many'. Several tools could be consolidated, including the multiple creative-creation tools, insight variants, and separate targeting search tools.
Core CRUD/lifecycle coverage exists for campaigns, adsets, ads, and creatives, plus targeting searches, uploads, previews, and insights. Minor gaps include no delete_ad_creative and no clear adset/ad-level insights tool.