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
campaignNameYes
productSetIdNo
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

TDQS

A4.6/5.0
Behavior5/5

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

Although annotations include readOnlyHint: false (signaling a write operation), the description adds crucial behavioral context beyond that: the campaign is created PAUSED for review, it counts toward a monthly limit, and it requires a public image URL for image ads. It even declares 'WRITES live,' reinforcing the mutating nature. This goes well beyond the structured data.

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 compact: three sentences. It front-loads the core action and pause status, then provides the alternative and a key prerequisite. Every sentence earns its place; there is zero waste.

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 the high complexity (25 parameters) and no output schema, the description covers the critical context: the purpose, the paused-by-default behavior, the alternative for bulk, and the image requirement. It doesn't mention return value or error handling, but that's not expected without an output schema. The main gap is that many parameters are still opaque, but the schema has some descriptions, and the core behavior is well covered.

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 description coverage is only 40%, so the description should compensate, but it only adds meaningful context for imageUrl (explaining public URLs and Drive/Dropbox share links). Most other parameters (appId, useCBO, bidStrategy, etc.) are left without additional guidance; the agent must rely on terse schema comments. For 25 params, a 3 is fair but not higher.

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 states a specific verb ('Create'), a specific resource ('ONE Meta campaign'), and a key behavioral nuance ('created PAUSED for review'). It also distinguishes itself from its sibling 'bulk_create_campaigns' by explicitly naming that tool, making the scope immediately clear.

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 explicitly tells the agent when NOT to use this tool ('To launch many at once or from a Drive folder, use bulk_create_campaigns (Pro)') and when it IS appropriate ('free-plan friendly', 'counts toward monthly campaign limit'). It also provides a concrete prerequisite (public imageUrl or share link) for image ads, which helps the agent decide if this is the right call.

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.

TDQS

A3.6/5.0
Disambiguation4/5

Most tools have distinct purposes, but creation tools (create_campaign, bulk_create_campaigns, create_structured, add_ad_to_adset) overlap in scope, potentially causing misselection. However, descriptions clarify differences.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, such as 'bulk_create_campaigns', 'get_insights', 'pause_campaigns'. No mixing of conventions.

Tool Count4/5

23 tools cover the Meta Ads domain well, but the count is slightly high. Most tools are justified, though some could be merged (e.g., creation variants).

Completeness3/5

Core CRUD is covered for campaigns and ads, but there is no tool to create an ad set independently (only via create_structured). Creative editing and standalone ad set creation are missing, leaving notable gaps.

Resources