Skip to main content
Glama
atmosphere-ai

AdvisorPPC X Ads MCP Server

Promote post

x_ads_create_ad

Promote an existing post as an ad under an active ad group and campaign. Use only if the creative uploaded successfully; otherwise stop.

Instructions

Promote an EXISTING post under an ad group. Ad serves only if group AND campaign are ACTIVE. For a brand-new image use x_ads_create_image_ad. If the intended creative failed to upload or process, STOP. Do not promote a still, a source image, or a pre-existing library asset.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tweet_idYes
account_idYesAds API account id from x_ads_list_accounts, e.g. 18ce55v2od2
line_item_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false, so mutation is implied. The description adds useful behavioral context: the activation condition (group AND campaign active), and constraints on what can be promoted (no stills, source images, library assets). It does not contradict annotations. The stop warning adds operational guidance.

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 three sentences, front-loaded with the primary purpose. The additional warnings are relevant and concise. No redundant or filler content. It earns a high score for efficiency while retaining necessary guidance.

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

Completeness3/5

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

The description covers the core purpose, a key alternative, and a behavioral condition. However, it does not explain the relationship between line_item_id and ad group, nor the exact meaning of tweet_id, and there is no output schema to convey return values. For a mutation tool with 3 required parameters, this is adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only account_id has a description). The description does not clarify line_item_id or tweet_id beyond the phrase 'under an ad group' and 'post', which loosely maps to tweet_id. It fails to compensate for the low coverage, leaving the agent uncertain about what these parameters represent.

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 verb 'Promote' and the resource 'an EXISTING post under an ad group'. It differentiates from the sibling x_ads_create_image_ad by explicitly excluding brand-new images. The exclusion of stills, source images, and library assets further narrows scope.

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 a clear alternative: 'For a brand-new image use x_ads_create_image_ad.' Also gives a condition ('Ad serves only if group AND campaign are ACTIVE') and a stop instruction ('If the intended creative failed to upload or process, STOP.'). Does not cover all siblings (e.g., video ads) but the main one is addressed.

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