Skip to main content
Glama

AdsAgent — TikTok Ads MCP

Save a new interest pack

interests_save_fetched_pack

Fetch one live TikTok adgroup's interest targeting and save it as a reusable interest pack. Mirrors Meta interests_save_fetched_pack (adset is the MCP wire name for what TikTok calls adgroup — either spelling is accepted). Equivalent to calling interests_fetch_from_adset with name supplied, but matches the Meta two-step flow so portable agent code stays identical.

REQUIRED: advertiser_id (str), name (str, the saved pack's label), adgroup_id OR adset_id (str — TikTok adgroup_id; both names work). EXAMPLE: interests_save_fetched_pack({"advertiser_id": "7390000000000000000", "adset_id": "1820000000000000000", "name": "VN broad interests"})

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
adset_idNo
adgroup_idNo
advertiser_idYes
connection_contextNo

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.4/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the bar is lower. The description adds useful context — that it fetches live data and persists it as a named pack — but does not say whether an existing pack of the same name is overwritten or what auth scopes are required.

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 core action is front-loaded in the first sentence, followed by routing rationale, a REQUIRED block, and an example. Slightly verbose on the Meta-parity justification, but every element is functional.

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?

No output schema exists, so the description should ideally describe what a saved pack returns (e.g., its identifier for later reuse). It covers inputs well but stops short of describing the result, leaving a gap for a mutation tool.

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 carry the burden and largely does: it documents advertiser_id, name, and the adgroup_id/adset_id alias equivalence, plus a worked example. Only connection_context is left undocumented, a small residual gap.

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?

States a specific verb+resource: fetch one live TikTok adgroup's interest targeting and save it as a reusable pack. It is clearly distinguishable from siblings like interests_fetch_from_adset, interests_archive, interests_get, and interests_list.

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?

Explicitly names the alternative (interests_fetch_from_adset) and the condition that selects this tool — matching the Meta two-step flow so portable agent code stays identical. That is a clear when/when-not routing statement.

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