Skip to main content
Glama

meta_ads_campaigns_create

Create a Meta Ads campaign as a container for ad sets and ads. Returns the campaign ID; default status is PAUSED to prevent unintended spend.

Instructions

Creates a new campaign in the specified Meta Ads account. Returns the new campaign id. Mutating — not automatically reversible; record before-state with mureo_state_action_log_append if you may need to roll back. Default initial status is PAUSED — explicitly pass status='ACTIVE' only if the operator has confirmed immediate spend. A campaign acts as a container; ad sets (where budgets and targeting live) and ads must be created separately via meta_ads_ad_sets_create and meta_ads_ads_create.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesCampaign name. Visible in Ads Manager; Meta allows up to 400 characters.
statusNoInitial status. Default PAUSED. Only set ACTIVE when the operator has signed off on spend.
objectiveYesCampaign objective using Meta's ODAX taxonomy. Older names (CONVERSIONS, LINK_CLICKS) are rejected by current API versions — use the OUTCOME_* forms.
account_idNoMeta Ads account ID in the format 'act_XXXXXXXXXX' (e.g. 'act_1234567890'). Optional — falls back to META_ADS_ACCOUNT_ID from the configured credentials. The leading 'act_' prefix is required.
daily_budgetNoDaily budget in account currency minor units (cents for USD, yen for JPY). Mutually exclusive with lifetime_budget. Budgets can live on the campaign (CBO) or the ad set — not both.
lifetime_budgetNoLifetime budget in account currency minor units. Requires a stop_time on at least one ad set. Mutually exclusive with daily_budget.
Behavior5/5

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

No annotations provided, so the description fully covers behavioral traits. It states 'Mutating — not automatically reversible' and advises rollback recording. It also warns that default status is PAUSED and to only set ACTIVE with operator confirmation, highlighting spend implications. Additionally, it explains that budgets can live on campaign or ad set but not both.

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?

Five sentences, each earning its place. Front-loaded with the primary action and return. No redundant information; tone is direct and informative.

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?

Given the tool's complexity (6 params, no output schema), the description covers purpose, return value, mutability, status defaults, budget placement, and dependency on other tools. It is complete enough for an AI agent to understand how to invoke the tool correctly without additional context.

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 description coverage is 100%, so baseline is 3. The description adds strategic context for parameters, such as the default status of PAUSED and the mutual exclusivity of daily_budget and lifetime_budget. It doesn't elaborate on all parameters but provides useful guidance beyond the schema.

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?

The description clearly states 'Creates a new campaign in the specified Meta Ads account. Returns the new campaign id.' It uses a specific verb (creates) and resource (campaign), and distinguishes from sibling tools like meta_ads_ad_sets_create and meta_ads_ads_create by noting that ad sets and ads are created separately.

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?

The description provides explicit guidance on when to use this tool vs alternatives: 'A campaign acts as a container; ad sets (where budgets and targeting live) and ads must be created separately.' It also advises on setting status to ACTIVE only after operator confirmation, and recommends recording before-state for potential rollback using mureo_state_action_log_append.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/logly/mureo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server