Skip to main content
Glama
wvuhskr

mcp-microsoft-ads

by wvuhskr

create_pmax_campaign

Create a paused Performance Max campaign with its first asset group, requiring target CPA and pre-uploaded images for Microsoft Ads management.

Instructions

Draft a Performance Max campaign + first asset group — created PAUSED. time_zone defaults to EasternTimeUSCanada (US-centric default) — override for other markets. target_cpa is required by default (require_pmax_target_cpa setting, default true) — never create PMax without a target; removing one later explodes impressions (hard rule observed on the owner's Google Ads account). Set require_pmax_target_cpa false in advertiser settings to allow a no-target MaxConversions campaign instead. Images are REQUIRED (upload via upload_image_asset first). Each image_media_ids entry must already be in the account media library with MediaType Image1x1 or Image191x100; GenericImage, Image4x1, unknown types, and absent ids raise. Aborts the asset-group add if the campaign add fails. Returns a draft; apply with confirm_and_apply.

Live-verified 2026-07-30 — with an explicit target_cpa: campaign + asset group created and read back with both images carrying the correct per-image SubType; ImageAsset.Id = media id write-proven. NOT live-verified — the require_pmax_target_cpa=false / no-target_cpa path: only exercised against fakes, never run against the live API through this tool. NOT live-verified with non-default time_zone values.

On a mid-apply failure (asset group add raises after the campaign landed) the error carries every landed ID (campaign_ids) — reconcile account state before retrying (a retry re-runs ALL steps, including re-creating the campaign).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
final_urlYes
headlinesYes
time_zoneNoEasternTimeUSCanada
target_cpaNo
daily_budgetYes
descriptionsYes
business_nameYes
long_headlinesYes
image_media_idsYes
Behavior5/5

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

With no annotations, the description fully carries the burden. It discloses that the campaign is created paused, defaults for time_zone, aborts the asset-group add if the campaign add fails, returns a draft, and details mid-apply failure behavior with landed IDs. It also includes live-verification status for different paths, adding significant behavioral context beyond any structured metadata.

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

Conciseness4/5

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

The description is long but well-structured and front-loaded with the core purpose. It progresses logically from defaults to rules, verification notes, and failure handling. Every sentence adds important context, so it is appropriately detailed rather than unnecessarily verbose.

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 10 parameters, 0% schema coverage, no annotations, and no output schema, the description is remarkably complete. It covers prerequisites (images, target CPA), defaults, failure semantics, retry guidance, and even the apply step. An agent has enough information to use the tool correctly and avoid common pitfalls.

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 must compensate. It explains time_zone default, target_cpa requirement (including the setting to allow null), and image_media_ids constraints (must exist in media library, specific MediaTypes, unknown types raise). It does not explicitly describe headlines, long_headlines, descriptions, or business_name, but these are self-explanatory. Overall, it adds meaningful meaning for the most complex parameters.

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 the tool drafts a Performance Max campaign plus its first asset group, created paused. This is a specific verb+resource that distinguishes it from siblings like draft_campaign, draft_responsive_search_ad, etc., even without naming them.

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?

Provides concrete usage context: target_cpa is required by default and how to enable a no-target path via settings; images are mandatory and must meet media library type requirements. It also explains failure handling and retry semantics. However, it does not explicitly mention alternative tools or when to use a different draft function, so a small gap remains.

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/wvuhskr/mcp-microsoft-ads'

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