That single rule is what makes an ads API safe to hand to an agent: creation, activation and rollback are different corridors with their own checks, and a delete against a live object is downgraded to a pause rather than executed. Budget increases above the configured percentage and any activation stop for confirmation, so nothing starts spending without a person saying so.
A Meta Marketing API server built as a supervised operating layer rather than a thin wrapper: reads for accounts, campaigns, ad sets, ads, insights and catalogs, plus a write corridor that creates everything paused and runs validators before touching the API.
- check_token_status, get_ad_accounts, get_account_info, get_account_pages, get_instagram_identities, discover_all_accounts — account health and identity discovery
- get_campaigns, get_campaign_details, get_adsets, get_adset_details, get_ads, get_ad_details — the object tree, read-only
- get_insights — performance normalised per objective, so an ecommerce account reports purchases and ROAS while a lead-gen account reports leads and CPL
- get_pixel_info, get_pixel_events, get_event_stats, send_test_event, run_tracking_diagnostic — pixel and conversion tracking diagnostics
- get_catalog_info, get_catalog_products, get_product_sets, validate_catalog_connections — catalog and dynamic-ads checks
- list_custom_audiences, search_interests, search_behaviors, search_geo_locations — targeting research
- create_campaign, create_adset, create_ad_from_manifest, update_campaign, update_adset, update_ad — the paused-only write corridor, with ABO/CBO rules enforced before the call
- upload_video_asset, upload_video_resumable, poll_video_processing, create_multi_asset_ad — creative upload and multi-asset ad assembly
- build_activation_pack and execute_activation_pack — preflight every object, then flip status parent-first
- build_rollback_pack and execute_rollback_pack — undo children-first, with deletes on active objects downgraded to pauses
A Meta Marketing API access token in META_ACCESS_TOKEN (a system user token is recommended); META_APP_SECRET and META_APP_ID are optional and used for appsecret_proof. VAULT_PATH points at a marketing vault directory when you use the client-intelligence features. Installed with uv sync and launched as a Python module. The public repository ships 57 tools under MIT; a separate premium bundle adds 41 more.
One command plus a key — uv sync, then supply credentials
