Skip to main content
Glama

PUBLISH an Upfixe campaign draft to Microsoft Advertising (Status: PAUSED)

publish_campaign_to_microsoft_ads
DestructiveIdempotent

⚠️ One-click publication of an entire Upfixe campaign draft directly to Microsoft Advertising. Creates the campaign, ad groups, positive keywords, negative keywords, and responsive search ads in the user's Microsoft Ads account with status=PAUSED.

Requires confirm=true to publish.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmNoMust be true to actually publish to Microsoft Advertising
draftIdYesThe draftId returned by save_campaign_draft or generate_campaign_draft

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate this is non-read-only, destructive, and idempotent. The description adds valuable behavioral context by listing the created account objects, specifying the PAUSED status, and warning that confirm=true is required to actually publish. This goes beyond the annotations without contradicting them.

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, front-loaded with the main purpose, and every sentence adds useful information. The confirm requirement is stated clearly without unnecessary detail.

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?

For an action with meaningful side effects, the description covers what is created, the resulting status, and the necessary confirmation flag. It does not describe the return value or repeated-call behavior, but the idempotent annotation partially covers re-invocation concerns, and the parameter schema covers the remaining invocation details.

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?

The input schema covers both parameters fully, so the baseline is 3. The description adds meaning by explaining that confirm must be true to trigger publication and that draftId comes from save_campaign_draft or generate_campaign_draft, which helps the agent obtain and pass the correct value.

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 names the verb and resource: 'publish an entire Upfixe campaign draft directly to Microsoft Advertising.' It enumerates exactly what gets created (campaign, ad groups, positive/negative keywords, responsive search ads) and the resulting status (PAUSED), which distinguishes it from the single-resource create_bing_* siblings and from publish_campaign_to_google_ads.

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 conveys that this is an all-in-one publication tool for a full campaign draft, implying use when the entire draft should be published rather than creating individual entities through separate tools. It does not explicitly state when not to use it or name alternatives, but the 'entire draft' framing provides clear contextual guidance.

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.

Resources