Complete Facebook Ads Library MCP with 15+ advanced tools for comprehensive ad intelligence. Provides deep insights into competitor advertising strategies, creative analysis, and market intelligence.
Server has 4 tools with basic schemas and descriptions, but significant gaps in parameter documentation, output schema clarity, and error handling. Tool names follow verb_noun convention (search_, discover_, analyze_), which is good. However, descriptions lack actionable context for LLM selection, many parameters are underdocumented, and output structures are not formally specified. No error recovery guidance. Schemas present but incomplete, several parameters lack descriptions or constraints. This is typical of community servers landing in the D range.
Deep analysis of ad creative elements
Analyze ad performance metrics for a brand
Discover competitor brands by industry keywords
Search Facebook Ads Library with advanced filters
Output schemas not documented. Tools return dicts with fields like 'ads', 'discovered_brands', 'analysis' but LLMs cannot see the structure of nested objects or what fields to expect. This forces LLMs to guess at response shape and breaks downstream tool chaining.
Parameter descriptions are generic or missing. 'ad_type' says 'Type of ads (ALL, POLITICAL_AND_ISSUE_ADS, etc.)' but does not explain when to use each type or what the LLM should choose. 'performance_metrics' array lacks description of valid metric names. LLMs cannot infer valid values.
No error recovery guidance. Code returns {'error': str(e), 'success': False} but does not tell the LLM what to do next. If API fails, should the agent retry? Call a different tool? Ask the user? No guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
No pagination or result limits documented. search_facebook_ads accepts 'limit' param but does not state max value, default behavior if omitted, or whether results are paginated. Returning thousands of ads could exhaust context window.
Facebook access token exposed as command-line argument. Code reads '--facebook-token' from sys.argv, which is logged in process listings and shell history. Should use environment variables only or secure vault injection.