Skip to main content
Glama

AdsAgent — TikTok Ads MCP

Prepare a TikTok ad copy

copy_ad_quick_copy

Prepare a TikTok-native copy without publishing. Single source: provide advertiser_id + source_ad_id, copies 1..10, copy_mode=reuse|fresh, and optional append_mode. Fresh requires one explicit tenant-owned creative. Grouped append: provide source_ad_ids (1..20) plus append-campaign/target_campaign_id or append-adgroup/target_adgroup_id. The server reads source campaign/ad group/ad settings once, preserves Smart+ and Spark identity semantics, keeps new ads disabled, and binds one aggregate approval. Same advertiser only; never use Meta append-adset or client-side fan-out. For a new ad group, execution.start_time/end_time may explicitly replace source timestamps (ISO8601 with offset or UTC). An old bounded start requires a new start; the source end is retained unless explicitly replaced. Grouped copy supports reuse only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
copiesNo
creativeNo
copy_modeNoreuse
executionNo
append_modeNonew
source_ad_idNo
advertiser_idYes
source_ad_idsNo
target_adgroup_idNo
connection_contextNo
target_campaign_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / connection_context
      Added value: +{
      +  "pattern": "^mctx_v1_[0-9a-f]{64}$",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only declare readOnly=false, destructive=false, openWorld=false; the description adds real behavioral context beyond that: the server reads source settings once, preserves Smart+/Spark identity semantics, keeps the new ads disabled, binds a single aggregate approval, and enforces same-advertiser scope. That materially changes how an agent plans the call.

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?

It is front-loaded with the core purpose and every sentence carries substantive information, with no filler. The single dense paragraph makes the mode-specific rules harder to scan than a short structured list would, but nothing is wasted.

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 11-parameter mutation-style tool with no output schema, the description covers modes, constraints, side effects, and scheduling overrides well. It omits what the call returns (the handle feeding copy_ad_quick_copy_confirm/deny, despite referencing an "aggregate approval") and leaves connection_context undefined.

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?

With 0% schema description coverage across 11 parameters, the description carries the full burden and mostly succeeds: it constrains copies to 1..10, source_ad_ids to 1..20, names copy_mode=reuse|fresh, ties creative to fresh mode, and documents execution.start_time/end_time as ISO8601. Gaps remain: append_mode's accepted values and connection_context are never explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ("Prepare a TikTok-native copy without publishing") and enumerates the two operating modes, so the agent knows exactly what the tool produces. It does not, however, differentiate itself from the close sibling copy_ad_clone_structure, which an agent could easily confuse with this one.

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?

It gives explicit invocation conditions per mode: single-source needs advertiser_id + source_ad_id with copies 1..10, grouped append needs source_ad_ids (1..20) plus a campaign or adgroup target, and "Grouped copy supports reuse only." It also supplies negative guidance ("never use Meta append-adset or client-side fan-out"), but it never routes the agent between this tool and copy_ad_clone_structure.

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