Skip to main content
Glama
Matthew-Lee-Nello

Meta Ads Engine

create_adset

Create an ABO ad set by specifying daily budget, optimization goal, billing event, and targeting parameters. Ideal for video views (THRUPLAY) or lead generation campaigns.

Instructions

Create an ABO ad set. daily_budget_cents is in cents ($50/day = 5000).

advantage_audience is forced OFF (0) inside the targeting spec so the audience is the one you defined. For video views use optimization_goal THRUPLAY + billing_event IMPRESSIONS. For lead gen use LEAD_GENERATION.

targeting is the Meta targeting spec dict, e.g.: {"geo_locations": {"countries": ["AU"]}, "age_min": 28, "age_max": 55, "flexible_spec": [{"interests": [{"id": "...", "name": "..."}]}]} Pass an empty flexible_spec / omit interests for a broad ad set.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
statusNoPAUSED
targetingYes
account_idNo
campaign_idYes
bid_strategyNoLOWEST_COST_WITHOUT_CAP
billing_eventYes
optimization_goalYes
daily_budget_centsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

With no annotations, the description fully carries the transparency burden. It reveals that advantage_audience is forced OFF, budget is in cents, and targeting expects a specific Meta dict structure. This goes beyond a simple 'create' statement, though it doesn't cover potential errors or rate limits.

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?

The description is efficiently written, starting with the core purpose, then budget format, then forced setting, optimization/billing, and targeting example. Every sentence adds value, and formatting with line breaks improves readability.

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

Completeness4/5

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

Given 9 parameters, no schema descriptions, and an existing output schema, the description covers the most critical aspects for creating a functional ad set (budget, targeting, goals). It omits minor details like default status or bid_strategy, and could mention that the campaign_id must belong to an ABO campaign, but overall it's sufficient.

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 0%, so the description compensates by explaining the key parameters: daily_budget_cents format, targeting spec with an example, optimization_goal and billing_event usage. However, it does not cover status, account_id, or bid_strategy, leaving some parameters undocumented.

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 'Create an ABO ad set,' using specific verbs and nouns. It distinguishes from sibling tools like 'create_ad' and 'update_adset' by focusing solely on ad set creation with ABO (Ad Set Budget Optimization), which is a distinct operation.

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

Usage Guidelines4/5

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

The description provides explicit when-to-use guidance: for ABO ad sets, with specific optimization goals (THRUPLAY for video, LEAD_GENERATION for lead gen) and forced advantage_audience off. It does not explicitly state when not to use, but the context implies alternatives exist (e.g., manual budget ad sets via update_adset).

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/Matthew-Lee-Nello/meta-ads-engine'

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