meta-ads-mcp
Server Details
Facebook / Meta Ads automation with AI: analyze performance, test creatives, optimize spend.
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
create_email_report1 field changed- added
Input schema / properties / account_goalsAdded value: +{ + "description": "Business goals for this account (e.g. \"Aim for 65-75 leads/day, ROAS above 3.0x\"). If omitted, previously saved goals are used.", + "maxLength": 5000, + "type": "string" +}
1 tool update
- Changed
bulk_get_insights3 fields changed- added
Input schema / properties / adset_idsAdded value: +{ + "description": "Filter to ads from these adsets only (ad level only). Applied server-side at Meta API level. Can be combined with campaign_ids. Example: [\"6017617490963\"]", + "items": { + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / campaign_idsAdded value: +{ + "description": "Filter to ads from these campaigns only (ad level only). Applied server-side at Meta API level. Example: [\"6017617490961\", \"6017617490962\"]", + "items": { + "type": "string" + }, + "type": "array" +} - changed
Input schema / properties / compact / descriptionPrevious value: -"When true, returns pivoted data (campaign_id, campaign_name, <metric>_by_period) for smaller response. Use \"fields\" param to specify metrics (default: spend). Use when querying many campaigns. Default: false"New value: +"For campaign/adset: returns pivoted data (campaign_id, campaign_name, <metric>_by_period). For ad level: strips derived metrics (ctr, cpc, cpm, reach, conversion_value). Ad level defaults to compact=true; pass false to get all fields."
3 tool updates
- Changed
bulk_get_insights4 fields changed- added
Input schema / properties / ad_name_containsAdded value: +{ + "description": "Filter to ads whose name contains any of these strings (case-insensitive, ad level only). Example: [\"Video\", \"Static\", \"Carousel\"]", + "items": { + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / afterAdded value: +{ + "description": "Pagination cursor for ad-level queries. Pass the next_cursor from a previous ad-level response to fetch the next 500 ads. Use with a single account_id.", + "type": "string" +} - changed
Input schema / properties / level / descriptionPrevious value: -"The aggregation level. Supported values: \"account\", \"campaign\", \"adset\""New value: +"The aggregation level. Supported values: \"account\", \"campaign\", \"adset\", \"ad\". Ad level returns parsed metrics per ad (spend, impressions, clicks, ctr, roas) with hierarchy context (adset_name, campaign_name). Use account_ids and ad_name_contains to scope ad-level queries." - changed
Input schema / properties / level / enumPrevious value: -[ - "account", - "campaign", - "adset" -]New value: +[ + "account", + "campaign", + "adset", + "ad" +]
- Changed
get_ad_accounts14 fields changed- removed
Input schema / properties / access_token / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - removed
Input schema / properties / access_token / defaultRemoved value: -null - added
Input schema / properties / access_token / descriptionAdded value: +"Meta API access token (optional - will use cached token if not provided)" - removed
Input schema / properties / access_token / titleRemoved value: -"Access Token" - added
Input schema / properties / access_token / typeAdded value: +"string" - removed
Input schema / properties / limit / defaultRemoved value: -200 - added
Input schema / properties / limit / descriptionAdded value: +"Maximum number of accounts to return (default: 200)" - removed
Input schema / properties / limit / titleRemoved value: -"Limit" - removed
Input schema / properties / user_id / defaultRemoved value: -"me" - added
Input schema / properties / user_id / descriptionAdded value: +"Meta user ID or \"me\" for the current user (default: \"me\")" - removed
Input schema / properties / user_id / titleRemoved value: -"User Id" - added
Input schema / requiredAdded value: +[] - removed
Input schema / titleRemoved value: -"get_ad_accountsArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "get_ad_accountsOutput", - "type": "object" -}New value: +null
- Changed
search9 fields changed- removed
Input schema / properties / access_token / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - removed
Input schema / properties / access_token / defaultRemoved value: -null - added
Input schema / properties / access_token / descriptionAdded value: +"Meta API access token (optional - will use cached token if not provided)" - removed
Input schema / properties / access_token / titleRemoved value: -"Access Token" - added
Input schema / properties / access_token / typeAdded value: +"string" - added
Input schema / properties / query / descriptionAdded value: +"Search query string to find relevant Meta Ads records" - removed
Input schema / properties / query / titleRemoved value: -"Query" - removed
Input schema / titleRemoved value: -"searchArguments" - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "title": "Result", - "type": "string" - } - }, - "required": [ - "result" - ], - "title": "searchOutput", - "type": "object" -}New value: +null
3 tool updates
- Added
bulk_upload_ad_images - Added
bulk_upload_ad_videos - Added
upload_ad_video
1 tool update
- Changed
create_ad_creative1 field changed- added
Input schema / properties / asset_customization_rulesAdded value: +{ + "anyOf": [ + { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Asset Customization Rules" +}
1 tool update
- Added
create_email_report
4 tool updates
- Changed
duplicate_ad1 field changed- added
Input schema / properties / pb_tokenAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Pb Token" +}
- Changed
duplicate_adset1 field changed- added
Input schema / properties / pb_tokenAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Pb Token" +}
- Changed
duplicate_campaign1 field changed- added
Input schema / properties / pb_tokenAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Pb Token" +}
- Changed
duplicate_creative1 field changed- added
Input schema / properties / pb_tokenAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Pb Token" +}
2 tool updates
- Added
get_creative_details - Changed
get_instagram_accounts3 fields changed- changed
Input schema / properties / account_id / descriptionPrevious value: -"Meta Ads account ID (format: act_XXXXXXXXX). Fallback if page_id not provided."New value: +"Meta Ads account ID (format: act_XXXXXXXXX)." - removed
Input schema / properties / page_idRemoved value: -{ - "description": "Facebook Page ID. Returns the Instagram Business Account linked to this page (preferred for instagram_actor_id).", - "type": "string" -} - added
Input schema / requiredAdded value: +[ + "account_id" +]
1 tool update
- Added
get_instagram_accounts
1 tool update
- Changed
create_ad_creative2 fields changed- added
Input schema / properties / thumbnail_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Thumbnail Url" +} - added
Input schema / properties / video_idAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Video Id" +}
2 tool updates
- Changed
create_ad_creative1 field changed- added
Input schema / properties / ad_formatsAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Ad Formats" +}
- Changed
update_ad_creative1 field changed- added
Input schema / properties / ad_formatsAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Ad Formats" +}
1 tool update
- Changed
bulk_get_insights1 field changed- changed
Input schema / properties / level / enumPrevious value: -[ - "account", - "campaign", - "adset", - "ad" -]New value: +[ + "account", + "campaign", + "adset" +]
2 tool updates
- Changed
create_ad_creative7 fields changed- added
Input schema / properties / image_hash / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / image_hash / defaultAdded value: +null - removed
Input schema / properties / image_hash / typeRemoved value: -"string" - added
Input schema / properties / image_hashesAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Image Hashes" +} - added
Input schema / properties / messagesAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Messages" +} - added
Input schema / properties / optimization_typeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Optimization Type" +} - changed
Input schema / requiredPrevious value: -[ - "account_id", - "image_hash" -]New value: +[ + "account_id" +]
- Changed
update_ad_creative2 fields changed- added
Input schema / properties / messagesAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Messages" +} - added
Input schema / properties / optimization_typeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Optimization Type" +}
2 tool updates
- Changed
create_adset1 field changed- added
Input schema / properties / bid_constraintsAdded value: +{ + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Bid Constraints" +}
- Changed
update_adset1 field changed- added
Input schema / properties / bid_constraintsAdded value: +{ + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Bid Constraints" +}
1 tool update
- Changed
bulk_get_insights1 field changed- changed
Input schema / properties / level / descriptionPrevious value: -"The aggregation level. Supported values: \"account\", \"campaign\""New value: +"The aggregation level. Supported values: \"account\", \"campaign\", \"adset\""
Related MCP Connectors
TikTok Ads automation with AI: analyze performance, manage campaigns, optimize creatives.
- mcp-serverOAuthco.flyweel
Access Google & Meta Ads data via AI. Analyse campaign performance in seconds.
AI marketing agent for paid social: Meta ads campaigns, ad creative generation, lead delivery.
- AdCrunchOAuthdev.adcrunch
Ask AI about your ads — query Meta, TikTok, and Google Ads performance in natural language.
Related MCP Servers
- AlicenseAqualityNot gradedmaintenanceEnables AI-powered analysis, management, and optimization of Meta advertising campaigns across Facebook and Instagram, including performance insights, budget optimization, and creative testing.33Business Source 1.1
- AlicenseNot gradedqualityDmaintenanceEnables full read/write management of Facebook ad campaigns, ad sets, ads, and creatives via the Meta Marketing API through natural language, with AI creative generation, performance analytics, and PDF reporting.MIT
- AlicenseNot gradedqualityDmaintenanceEnables management and analysis of Meta (Facebook/Instagram) ads through natural language conversations, with 30 tools for reading and writing ad data.MIT
- AlicenseNot gradedqualityAmaintenanceManage ad campaigns across Meta, Google, and TikTok, create campaigns, analyze performance, spy on competitors, and generate AI creatives.13MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.