Skip to main content
Glama

Server Details

Meta Ads MCP (Facebook + Instagram) - analyze performance, manage budgets, pause campaigns.

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
Repository
nowork-studio/notfair-plugin
GitHub Stars
3,828

TDQS

A3.8/5.0

Scored across 30 tools

Disambiguation4/5

Most tools have distinct purposes with clear prefixes (create, enable, pause, rename, update, list). Minor overlap exists between generic update tools (updateAdSet, updateCampaign) and their budget-specific counterparts, but descriptions clarify the distinction.

Naming Consistency3/5

The majority of tools follow a camelCase verb_noun pattern (e.g., createAd, listCampaigns), but a few use snake_case (generate_image, get_usage) and one is very long (fileInternalNotFairToolFeedback). This mix reduces consistency.

Tool Count4/5

30 tools is on the higher end but justified by the broad scope of Meta Ads management (campaigns, ad sets, ads, creatives, insights, accounts, pages, image generation, support). Each tool serves a specific need, though some consolidation could be considered.

Completeness3/5

The tool set covers most common workflows (CRUD with enable/pause/rename for each level, budget updates, insights, and creative management). Notable gaps include lack of delete operations for any entity and absence of a listAdCreatives tool.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • ChangedrunScript1 field changed
      • changedInput schema / properties / timeoutMs / description
        Previous value: -"Wall-clock cap in MILLISECONDS before the script is interrupted. Default 30000 (30s), max 45000 (45s). Examples: pass 45000 for a 45-second cap. Do NOT pass 45 — that's 45ms and will be rejected. Raise to 45000 when batching 15+ parallel calls via graphParallel."New value: +"Wall-clock cap before the script is interrupted. Default 30s, max 45s."
  2. 1 tool update
    • ChangedrunScript1 field changed
      • changedInput schema / properties / timeoutMs / description
        Previous value: -"Wall-clock cap before the script is interrupted. Default 30s, max 45s."New value: +"Wall-clock cap in MILLISECONDS before the script is interrupted. Default 30000 (30s), max 45000 (45s). Examples: pass 45000 for a 45-second cap. Do NOT pass 45 — that's 45ms and will be rejected. Raise to 45000 when batching 15+ parallel calls via graphParallel."
  3. 1 tool update
    • AddedaskSupport
  4. 1 tool update
    • Changedgenerate_image1 field changed
      • changedInput schema / properties / prompt / description
        Previous value: -"Image prompt. Include subject, style, composition, lighting, aspect ratio, and 'no text' if text-free. GPT Image 2 supports up to 32K characters and is strong at instruction-following."New value: +"Image prompt. Describe medium, subject, setting, mood, lighting, color palette, and camera/perspective in natural language — paragraph form outperforms keyword lists. See the tool description for ad-platform rules. Up to 32K chars."
  5. 2 tool updates
    • Addedgenerate_image
    • Addedget_usage
  6. 12 tool updates
    • AddedcreateAd
    • AddedcreateAdCreative
    • AddedcreateAdSet
    • AddedcreateCampaign
    • ChangedgetPagePostInsights1 field changed
      • changedInput schema / properties / metrics / description
        Previous value: -"Insight metric names. Defaults to a sensible set: post_impressions, post_impressions_unique, post_engaged_users, post_reactions_by_type_total, post_clicks."New value: +"Insight metric names. Defaults to: post_impressions_unique, post_impressions_paid_unique, post_impressions_organic_unique, post_clicks, post_reactions_by_type_total."
    • RemovedlistLeadGenForms
    • RemovedlistPageAds
    • RemovedpausePromotedPost
    • RemovedresumePromotedPost
    • AddedupdateAdCreative
    • AddedupdateAdSet
    • AddedupdateCampaign
  7. 2 tool updates
    • AddedfileInternalNotFairToolFeedback
    • RemovedsuggestImprovement
  8. 3 tool updates
    • AddedlistLeadGenForms
    • AddedlistPageAds
    • AddedrenameAd
  9. 4 tool updates
    • AddedgetPagePostInsights
    • AddedlistPages
    • AddedpausePromotedPost
    • AddedresumePromotedPost
  10. 4 tool updates
    • ChangedgetInsights1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Max rows per page; the tool follows paging up to ~20 pages."New value: +"Max total rows returned. The tool stops paginating once it has this many."
    • ChangedlistAds2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Max total ads returned. The tool stops paginating once it has this many."
      • addedInput schema / properties / statuses / description
        Added value: +"Filter by effective_status. Default (unset): Meta returns ACTIVE + PAUSED only."
    • ChangedlistAdSets2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Max total ad sets returned. The tool stops paginating once it has this many."
      • addedInput schema / properties / statuses / description
        Added value: +"Filter by effective_status. Default (unset): Meta returns ACTIVE + PAUSED only."
    • ChangedlistCampaigns2 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Max campaigns to return (after paging)."New value: +"Max total campaigns returned. The tool stops paginating once it has this many."
      • changedInput schema / properties / statuses / description
        Previous value: -"Filter by effective_status. Default: returns all (ACTIVE, PAUSED, ARCHIVED, DELETED)."New value: +"Filter by effective_status. Default (unset): Meta returns ACTIVE + PAUSED only — pass `['ACTIVE','PAUSED','ARCHIVED','DELETED']` to include archived and deleted campaigns."
  11. 17 tool updates
    • First observedenableAd
    • First observedenableAdSet
    • First observedenableCampaign
    • First observedgetAdAccount
    • First observedgetInsights
    • First observedlistAdAccounts
    • First observedlistAds
    • First observedlistAdSets
    • First observedlistCampaigns
    • First observedpauseAd
    • First observedpauseAdSet
    • First observedpauseCampaign
    • First observedrenameCampaign
    • First observedrunScript
    • First observedsuggestImprovement
    • First observedupdateAdSetBudget
    • First observedupdateCampaignBudget

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Meta (Facebook/Instagram) Ads MCP server for ad performance reporting, audience analysis, and competitor ad research.
    MIT
  • A
    license
    A
    quality
    Not graded
    maintenance
    Enables AI-powered analysis, management, and optimization of Meta advertising campaigns across Facebook and Instagram, including performance insights, budget optimization, and creative testing.
    33
    Business Source 1.1
  • A
    license
    B
    quality
    A
    maintenance
    Enables MCP clients to read and analyze Facebook (Meta) Ads marketing data, including campaigns, ad sets, ads, insights, and 190 metrics, with optional write tools that preview changes before applying.
    34
    81 npm
    Apache 2.0
  • F
    license
    A
    quality
    B
    maintenance
    A read-only MCP server that pulls Meta Ads campaign, ad-set, and ad performance data to help users spot problems and adjust them in Ads Manager.
    6
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.