github re-analysis due

brandu-mos/konquest-meta-ads-mcp

github

57-tool supervised Meta Ads MCP server for Claude Code. Open-core: full CRUD, multi-asset ads, targeting, diagnostics, safety gates. Premium adds 41 tools: optimization engine, vault intelligence, copy generation.

maintainer
brandu-mos
license
MIT
first seen
2026-06-01
last seen
2026-06-04
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

code evidence vv2.0.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 15

  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/identity.py :275 with open(_ACCOUNTS_YAML, "r", encoding="utf-8") as f:
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/ops.py :82 with open(normalized, "rb") as f:
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/setup.py :11 from pathlib import Path
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/vault_reader.py :71 with open(path, "r", encoding="utf-8") as f:
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/video.py :137 with open(normalized_path, "rb") as f:
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/engine/asset_gate.py :248 with open(path, 'rb') as f:
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/engine/storage.py :47 with open(registry_path, "r", encoding="utf-8") as f:
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/safety/duplicate_checker.py :101 with open(fpath, "r", encoding="utf-8") as f:
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/safety/file_lock.py :39 fd = os.open(lock_path, os.O_CREAT | os.O_EXCL | os.O_WRONLY)
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/safety/rollback.py :85 with open(filepath, "w", encoding="utf-8") as f:
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/safety/tiers.py :53 with open(config_path, "r", encoding="utf-8") as f:
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/validators/creative.py :60 with open(manifest_ref, "r", encoding="utf-8") as f:
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/validators/operational.py :11 from pathlib import Path
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/validators/runner.py :257 with open(manifest_ref, "r", encoding="utf-8") as f:
  • fs brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/validators/tracking.py :41 with open(CONFIG_PATH, "r", encoding="utf-8") as f:

network 4

  • net brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/api.py :20 import httpx
  • net brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/images.py :10 import httpx
  • net brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/ops.py :16 import httpx
  • net brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/video.py :19 import httpx

secrets 3

  • secrets brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/api.py :160 self._access_token = os.environ.get("META_ACCESS_TOKEN")
  • secrets brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/auth.py :18 token = os.environ.get("META_ACCESS_TOKEN")
  • secrets brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/setup.py :41 token = os.environ.get("META_ACCESS_TOKEN", "")

tool registrations 57

  • check_token_status brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/accounts.py :22
  • get_ad_accounts brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/accounts.py :33
  • get_account_info brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/accounts.py :100
  • get_account_pages brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/accounts.py :155
  • get_instagram_identities brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/accounts.py :186
  • discover_all_accounts brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/accounts.py :227
  • create_multi_asset_ad brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/ad_builder.py :154
  • get_ads brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/ads.py :226
  • get_ad_details brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/ads.py :294
  • create_ad_from_manifest brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/ads.py :333
  • update_ad brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/ads.py :942
  • get_adsets brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/adsets.py :70
  • get_adset_details brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/adsets.py :156
  • create_adset brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/adsets.py :226
  • update_adset brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/adsets.py :861
  • list_custom_audiences brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/audiences.py :152
  • get_campaigns brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/campaigns.py :57
  • get_campaign_details brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/campaigns.py :145
  • create_campaign brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/campaigns.py :191
  • update_campaign brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/campaigns.py :473
  • get_catalog_info brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/catalogs.py :28
  • get_catalog_products brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/catalogs.py :85
  • get_product_sets brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/catalogs.py :169
  • validate_catalog_connections brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/catalogs.py :203
  • create_product_set brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/catalogs.py :468
  • update_product_set brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/catalogs.py :518
  • get_ad_creatives brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/creatives.py :210
  • get_creative_details brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/creatives.py :294
  • create_ad_creative brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/creatives.py :381
  • update_ad_creative brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/creatives.py :597
  • duplicate_campaign brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/duplication.py :39
  • duplicate_adset brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/duplication.py :506
  • upload_ad_image brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/images.py :21
  • get_ad_image brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/images.py :177
  • get_insights brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/insights.py :326
  • get_bulk_insights brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/insights.py :472
  • generate_names brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/naming.py :146
  • upload_video_resumable brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/ops.py :29
  • bulk_rename_objects brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/ops.py :129
  • delete_campaign_structure brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/ops.py :169
  • diagnose_pixel_on_site brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/ops.py :270
  • resolve_page_identity brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/ops.py :365
  • get_pixel_info brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/pixels.py :186
  • get_pixel_events brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/pixels.py :212
  • get_event_stats brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/pixels.py :260
  • send_test_event brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/pixels.py :359
  • run_tracking_diagnostic brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/pixels.py :437
  • run_setup_check brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/setup.py :20
  • search_interests brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/targeting.py :38
  • search_behaviors brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/targeting.py :99
  • search_geo_locations brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/targeting.py :154
  • get_interest_suggestions brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/targeting.py :222
  • search_demographics brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/targeting.py :278
  • estimate_audience_size brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/targeting.py :336
  • read_client_vault brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/vault_reader.py :128
  • upload_video_asset brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/video.py :82
  • poll_video_processing brandu-mos-konquest-meta-ads-mcp-762c224/meta_ads_mcp/core/video.py :227

declared dependencies 1

  • facebook-business@>=22.0.0