Skip to main content
Glama

Adbloop Meta Ads

create_campaign

Create ONE Meta campaign (created PAUSED for review). Free-plan friendly — counts toward your monthly campaign limit. To launch many at once or from a Drive folder, use bulk_create_campaigns (Pro). Needs a public imageUrl (or Drive/Dropbox share link) for image ads. WRITES live.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appIdNoApp ID for App Promotion campaigns.
useCBONo
headlineNo
imageUrlNoImage for the ad. Paste a PUBLIC https image URL, OR a single Google Drive / Dropbox file share link (shared so 'Anyone with the link can view') — these are auto-converted. For a single campaign, ask the user for ONE image's share link. (Listing a whole Drive folder to spin up one campaign per image is a Pro feature.)
videoUrlNo
catalogIdNo
cboBudgetNo
countriesNoISO country codes; defaults to IN.
ctaButtonNo
objectiveYes
leadFormIdNoInstant-form ID for lead campaigns (instant_forms / website_and_instant_forms).
websiteUrlNo
appStoreUrlNoApp store URL for App Promotion campaigns.
bidStrategyNoLOWEST_COST_WITHOUT_CAP / COST_CAP / LOWEST_COST_WITH_BID_CAP / LOWEST_COST_WITH_MIN_ROAS.
dailyBudgetNo
descriptionNo
phoneNumberNoPhone number for Calls campaigns.
primaryTextNo
scheduleEndNoAd set end time, ISO 8601 datetime. Optional; when set, Meta stops the ad set at this time (auto-stop fail-safe). Required by Meta when a lifetime budget is used.
campaignNameYes
productSetIdNo
scheduleStartNoAd set start time, ISO 8601 datetime (e.g. 2026-09-20T09:00:00+08:00). Optional; defaults to ~1 hour from now.
conversionEventNoPixel event for conversion goals, e.g. PURCHASE, LEAD, ADD_TO_CART.
meta_account_idNoAd account to create on (defaults to your primary).
performanceGoalNo
specialAdCategoryNoHOUSING / EMPLOYMENT / CREDIT / ISSUES_ELECTIONS_POLITICS (default NONE).
conversionLocationNo
regionalRegulatedCategoriesNoRegional regulated category codes required for certain locations (e.g. ["SINGAPORE_UNIVERSAL"] for Singapore Employment ads). Passed through to the ad set.
regionalRegulationIdentitiesNoVerified beneficiary/payer identity IDs, required together with regionalRegulatedCategories (e.g. { "singapore_universal_beneficiary": "<id>", "singapore_universal_payer": "<id>" }). Passed through to the ad set.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / scheduleEnd
      Added value: +{
      +  "description": "Ad set end time, ISO 8601 datetime. Optional; when set, Meta stops the ad set at this time (auto-stop fail-safe). Required by Meta when a lifetime budget is used.",
      +  "type": "string"
      +}
    • addedInput schema / properties / scheduleStart
      Added value: +{
      +  "description": "Ad set start time, ISO 8601 datetime (e.g. 2026-09-20T09:00:00+08:00). Optional; defaults to ~1 hour from now.",
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / regionalRegulatedCategories
      Added value: +{
      +  "description": "Regional regulated category codes required for certain locations (e.g. [\"SINGAPORE_UNIVERSAL\"] for Singapore Employment ads). Passed through to the ad set.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / regionalRegulationIdentities
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Verified beneficiary/payer identity IDs, required together with regionalRegulatedCategories (e.g. { \"singapore_universal_beneficiary\": \"<id>\", \"singapore_universal_payer\": \"<id>\" }). Passed through to the ad set.",
      +  "type": "object"
      +}
  3. Changed10 schema fields changed
    • addedInput schema / properties / appId
      Added value: +{
      +  "description": "App ID for App Promotion campaigns.",
      +  "type": "string"
      +}
    • addedInput schema / properties / appStoreUrl
      Added value: +{
      +  "description": "App store URL for App Promotion campaigns.",
      +  "type": "string"
      +}
    • addedInput schema / properties / bidStrategy
      Added value: +{
      +  "description": "LOWEST_COST_WITHOUT_CAP / COST_CAP / LOWEST_COST_WITH_BID_CAP / LOWEST_COST_WITH_MIN_ROAS.",
      +  "type": "string"
      +}
    • addedInput schema / properties / catalogId
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / conversionEvent
      Added value: +{
      +  "description": "Pixel event for conversion goals, e.g. PURCHASE, LEAD, ADD_TO_CART.",
      +  "type": "string"
      +}
    • addedInput schema / properties / countries
      Added value: +{
      +  "description": "ISO country codes; defaults to IN.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / leadFormId
      Added value: +{
      +  "description": "Instant-form ID for lead campaigns (instant_forms / website_and_instant_forms).",
      +  "type": "string"
      +}
    • addedInput schema / properties / phoneNumber
      Added value: +{
      +  "description": "Phone number for Calls campaigns.",
      +  "type": "string"
      +}
    • addedInput schema / properties / productSetId
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / specialAdCategory
      Added value: +{
      +  "description": "HOUSING / EMPLOYMENT / CREDIT / ISSUES_ELECTIONS_POLITICS (default NONE).",
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / imageUrl / description
      Added value: +"Image for the ad. Paste a PUBLIC https image URL, OR a single Google Drive / Dropbox file share link (shared so 'Anyone with the link can view') — these are auto-converted. For a single campaign, ask the user for ONE image's share link. (Listing a whole Drive folder to spin up one campaign per image is a Pro feature.)"
  5. Added

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes beyond the bare readOnlyHint=false annotation by disclosing that the campaign is created PAUSED for review, that it counts toward a monthly campaign limit, and that the tool WRITES live. Missing niceties such as permission/auth requirements and failure behavior keep it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with scope and state, then routing, then the image requirement and write warning; every clause carries information. The stacked parentheticals make it denser than it needs to be, but there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 29-parameter, no-output-schema mutation tool, the description covers routing and the paused/quota behavior well but leaves most of the parameter surface (budget, objective, audience, scheduling) unexplained. Adequate but with clear gaps given the complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 48% across 29 parameters, so the description must compensate; it does add real meaning for imageUrl (public URL or Drive/Dropbox share link, one image per campaign) but says nothing about budgets, objective selection, CBO, scheduling defaults, or the regulated-category fields the schema only lightly documents. Partial compensation only.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('Create') plus resource and scope ('ONE Meta campaign'), with the sibling it is not ('use bulk_create_campaigns') named explicitly. An agent can distinguish this from bulk_create_campaigns, bulk_create_multi_account, and add_ad_to_adset without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear when-to-use-this (single campaign, free-plan) and when-to-use-the-alternative ('To launch many at once or from a Drive folder, use bulk_create_campaigns (Pro)'), plus the plan/quota context that governs the choice. Nothing about routing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources