Skip to main content
Glama

AdsAgent — TikTok Ads MCP

assets_list_music

Search TikTok's live advertiser-available music library for Smart+ SINGLE_IMAGE or CAROUSEL_ADS creation. Results contain public metadata and exact music_id values only; temporary media URLs, signatures, tokens, and raw provider payloads are omitted. Select a row with create_eligible=true and the required image format, then pass its music_id as ad_params.music_info.music_id. The server revalidates it on the exact create route before issuing an approval, so never guess or assume cross-advertiser availability. A saved template retains an explicit track even without a source advertiser; preparation verifies that exact choice on the target and requires a new selection if unavailable. Local carousel members come from creatives_list through ordered image_creative_ids, independently of music discovery.

REQUIRED: advertiser_id from assets_list_ad_accounts and a keyword search containing 1 to 100 characters. Optional: limit (1..50) and the opaque next_cursor returned by the previous page. Keep the same advertiser_id, search, and limit while continuing; paginate serially, never fan out. EXAMPLE: assets_list_music({"advertiser_id": "1234567890", "search": "uplifting", "limit": 20})

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
searchYes
advertiser_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A5/5.0
Behavior5/5

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

With no annotations, the description carries the full disclosure burden. It explains what results contain and omit ('public metadata and exact music_id values only; temporary media URLs, signatures, tokens, and raw provider payloads are omitted'), how row eligibility works via 'create_eligible=true', and that the server revalidates on the create route. It also covers template and carousel behavior to prevent incorrect assumptions.

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 front-loaded with purpose and organized into purpose, desired row, operational warnings, required/optional arguments, and an example. Every sentence adds a distinct operational constraint or clarification, and the additional workflow notes address real failure cases rather than padding.

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

Completeness5/5

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

Given no annotations and no output schema, the description provides a complete functional contract: what results include, how to select and pass music_id, revalidation behavior, pagination rules, and integration with templates and creatives_list. An agent has enough information to call the tool correctly and chain it into the ad creation flow.

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

Parameters5/5

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

Schema coverage is 0%, so the description fully compensates. It defines the source and role of advertiser_id, constrains search to 1-100 characters, limit to 1..50, and describes the cursor as opaque and returned by the previous page. The example reinforces the JSON argument shape.

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 first sentence names the exact verb ('Search'), the resource ('TikTok's live advertiser-available music library'), and the specific creation use case ('for Smart+ SINGLE_IMAGE or CAROUSEL_ADS creation'). This clearly distinguishes it from sibling asset-list tools and leaves no doubt about what the tool does.

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?

The description states a clear invocation context, provides required and optional arguments, gives the source for advertiser_id ('from assets_list_ad_accounts'), and enforces serial pagination with 'never fan out.' It also warns against guessing cross-advertiser availability, giving the agent explicit when-to-use and when-not-to-assume 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