Skip to main content
Glama

Meta ads: Create campaign

meta_create_campaign

Create a Meta campaign. 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

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
confirmNo
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. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only establish readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true; the description goes well beyond that by disclosing the default PAUSED state, the real-money spend risk of activating, the currency unit convention, and the dry-run/confirm safety pattern. For a spend-incurring mutation, these are exactly the behavioral facts an agent needs and cannot derive from structured fields.

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?

Three sentences, density front-loaded: action first, then the safety workflow, then the two risk-bearing defaults. Every clause carries operational weight and none is a restatement of the title.

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 open-world write tool with no output schema, the description covers the create/preview cycle, the spend-risk default, and the budget unit, while the schema handles enum and compliance detail for objective and special_ad_categories. Authentication prerequisites are the only notable omission, and they are not tool-specific.

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

Parameters4/5

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

Schema coverage is 63%, leaving name, ad_account_id and confirm undocumented in the schema; the description compensates for the most important of these by explaining confirm's dry-run semantics, and it restates the real-currency (not cents) convention for daily_budget_major, which is an easy unit error to make. It adds little about objective or special_ad_categories beyond what the schema enums already say.

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

Purpose4/5

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

The description opens with a specific verb+resource ("Create a Meta campaign") and immediately scopes it as a creation tool rather than the sibling mutators meta_set_campaign_status / meta_set_campaign_budget. It never explicitly names those siblings, so its distinctiveness comes from the name alone rather than from the description text.

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?

It gives an explicit two-step protocol: call without confirm to preview, show the preview to the human, then call again with confirm: true. It also states the condition for activating (only when activate is explicitly true) and notes the consequence of getting it wrong (an ACTIVE campaign spends within minutes). This is when-to-use and when-not-to-use guidance with no inference required.

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.