Skip to main content
Glama

AdsAgent — TikTok Ads MCP

Preview or save ad group interests

interests_fetch_from_adset

Preview a reusable interest pack from one live TikTok adgroup's targeting. Calls /adgroup/get/ + /tool/interest_category/ + /tool/interest_keyword/get/ to resolve category and keyword IDs to human-readable names. Mirrors the Meta sister-product's interests_fetch_from_adset (adset is the MCP wire name for what TikTok calls adgroup — either spelling is accepted).

When name is omitted, returns an unsaved preview only; pass it through to interests_save_fetched_pack to persist. When name IS supplied, fetches and saves in one call.

REQUIRED: advertiser_id (str — TikTok advertiser_id this user owns), adgroup_id OR adset_id (str — TikTok adgroup_id; both names work). OPTIONAL: name (str — when supplied, persists immediately). EXAMPLE: interests_fetch_from_adset({"advertiser_id": "7390000000000000000", "adset_id": "1820000000000000000"})

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
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.7/5.0
Behavior5/5

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

Annotations only tell the agent this is a non-read-only, non-destructive operation; the description adds the far more important trait that the absence of `name` makes it a pure preview with no persistence, and it discloses the internal resolution chain (adgroup/get → interest_category → interest_keyword). This is meaningful behavioral context beyond the annotations.

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?

Front-loaded purpose with clearly delimited REQUIRED/OPTIONAL/EXAMPLE blocks; the internal-endpoint sentence and the 'Mirrors the Meta sister-product' aside are mildly expendable but do convey real information. Nothing is buried and the structure is easy to scan.

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 a 5-parameter tool with no output schema and 0% schema coverage, the description covers required inputs, the mutually-exclusive id naming, and the default preview semantics. The one notable gap is that it never sketches what the preview or saved pack returns, and the schema (advertiser_id alone required) conflicts with the prose claiming adgroup_id/adset_id is required.

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 carries the load: it documents advertiser_id, explains that adgroup_id and adset_id are interchangeable names for the same value, and clarifies that `name` changes behavior from preview to persist. Only connection_context is left unexplained, so the compensation is strong but not total.

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 pair (preview/save) on a specific resource (an interest pack derived from one live TikTok adgroup's targeting). The opening sentence lets an agent distinguish it from interests_get, interests_list, and interests_save_fetched_pack without opening any schema.

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 defines the two branches: omitting `name` yields an unsaved preview; supplying `name` fetches and saves in one call. It also names the follow-on tool (interests_save_fetched_pack) for persisting a preview, giving clear when/when-not routing.

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