Skip to main content
Glama

Meta ads: Create campaign

meta_create_campaign

Create an EMPTY Meta campaign (no ad set or ads). To build a whole campaign with its ad set and ads in one step, use meta_build_campaign instead. Call WITHOUT confirm first to preview exactly what would be created, show that to the human, then call again with confirm: true. Created PAUSED unless activate is explicitly true — an ACTIVE campaign starts spending within minutes. Budget is given in real currency (25.50 means $25.50/day), not cents.

Input Schema

NameRequiredDescriptionDefault
nameYes
confirmNoLeave false to preview: nothing changes and the preview shows exactly what would happen. Set true only after the user has agreed to this exact change.
activateNoOnly true if the user explicitly asked to start spending
objectiveYesFor contractor lead-gen this is almost always OUTCOME_LEADS
ad_account_idYes
daily_budget_majorNoDaily budget in real currency
adset_budget_sharingNoOnly applies when NO campaign-level budget is given. false (default) = each ad set has its own budget; true = ad sets pool one budget.
special_ad_categoriesNoRequired by Meta. Leave empty for ordinary ads; wrong values here are a compliance problem.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / confirm / default
      Added value: +false
    • addedInput schema / properties / confirm / description
      Added value: +"Leave false to preview: nothing changes and the preview shows exactly what would happen. Set true only after the user has agreed to this exact change."
  2. First observed

TDQS

A5/5.0
Behavior5/5

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

Annotations mark this as a non-readonly, non-idempotent open-world write, and the description goes well beyond that: it discloses the two-phase confirm preview, that ACTIVE campaigns start spending within minutes, and that wrong special_ad_categories are a compliance problem. These are consequences an agent cannot infer from the schema or hints.

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

Conciseness5/5

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

Four sentences, front-loaded with scope and the sibling alternative, then the confirmation workflow, then the safety default, then the budget unit. No filler or restatement of the tool name.

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

Completeness5/5

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

For an 8-parameter mutation tool with no output schema, the description covers the preview/confirm contract, spend risk, default campaign state, and budget units. An agent can invoke this correctly without inferring anything about irreversible effects.

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

Parameters5/5

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

Schema coverage is 75%, and the description adds real meaning on the risky parameters: budget is in major currency units ("25.50 means $25.50/day, not cents"), activate must be only for explicit spending requests, and confirm gates a preview. The currency clarification guards against an expensive order-of-magnitude error that the schema's "real currency" label alone may not prevent.

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?

States a specific verb and resource ("Create an EMPTY Meta campaign") and immediately scopes it: no ad set or ads. This cleanly separates it from meta_build_campaign and meta_create_ad_set, which sit right next to it in the sibling list.

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 explicit routing ("To build a whole campaign with its ad set and ads in one step, use meta_build_campaign instead") plus a mandatory workflow: call without confirm to preview, show the human, then call with confirm: true. It also states the default safety posture (PAUSED unless activate is true).

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.