Skip to main content
Glama

diagnose_tiktok_listings

Diagnose TikTok Shop listing quality and optionally apply TikTok's own recommendations. TikTok grades each listing POOR/FAIR/GOOD and a low grade suppresses reach. Returns, per listing: the current tier, the machine-readable issues behind it (code + how_to_solve + the tier that ONE fix unlocks), and TikTok's recommended search terms / titles / descriptions. READ-ONLY unless you pass apply. apply:['search_terms'] is the safe default action — search terms are hidden listing metadata. Passing 'title' or 'description' replaces merchant-visible copy with machine-generated text, so ask the user first; those land on a TikTok-ONLY override and never rewrite the shared product record (which would also change the Shopify/WooCommerce/Wix listings). Use dry_run to preview. IMPORTANT — TikTok often flags a title WITHOUT offering a replacement, so apply:["title"] returns no_recommendation. That is not a dead end: each listing also carries requirements (the computed target, e.g. 40-150 chars — TikTok's own length rules contradict each other and this is the intersection), building_blocks (the product's real garment/colors/sizes, so you write from facts rather than inventing them), and candidates.title (ready-to-use options, shortest first, each already validated against the requirements). Offer the candidates to the user, or write your own title to the requirements and set it via update_product tiktok_listing.title. Check issues[].fixable_by before acting: photography means the listing needs new imagery, not better writing — report it rather than trying to write around it. ⚠️ diagnosable means "TikTok returned a diagnosis", NOT "this listing is live". TikTok also answers for deactivated and deleted listings, so a catalog can come back entirely diagnosable:true while a third of it is no longer for sale. Read listing_health for liveness: "Removed" is gone, "Needs Attention" is present but not visible to buyers, and null means we have never checked — which is NOT the same as healthy. Do not advise a user to delist something on the strength of diagnosable alone. Tier is a US-market signal. After applying, re-run this tool LATER to see the new tier: TikTok re-grades asynchronously, so the tier does not move the instant an edit lands.

[#a912af]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
applyNoOmit for a read-only diagnosis. Provide the fields to overwrite with TikTok's recommendations.
dry_runNoWith `apply`: report what would change without writing or syncing.
workspaceNo
store_uuidYes
product_uuidsNoLimit to these products. Omit to cover every listing synced to TikTok.
integration_uuidNoOnly needed when the store has more than one connected TikTok Shop integration.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

With only openWorldHint provided, the description carries the behavioral burden and does so richly: it discloses that title/description writes land on a TikTok-ONLY override and never rewrite the shared product record, that `dry_run` prevents writes, that `diagnosable` does not mean live (citing deactivated/deleted listings), and that tier is a US-market signal. This is well beyond what the annotation covers.

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?

Long but front-loaded, leading with the purpose before the apply semantics and the diagnosable/listing_health warning. Dense prose earns most of its length, though a trailing artifact fragment and some stacking of caveats add minor noise.

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?

There is no output schema, so the description must explain returns — and it does, itemizing tier, machine-readable issues (code, how_to_solve, unlocked tier), recommendations, requirements, building_blocks, candidates, and listing_health. Nothing an agent needs to interpret results or act safely is missing.

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 coverage is 67%, and the description adds real meaning to the undocumented-in-schema semantics of `apply` (safe default, hidden metadata vs merchant-visible copy) and `dry_run`. It leaves `workspace` and `store_uuid` unexplained, so it falls just short of fully compensating for the coverage 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 and resource (diagnose TikTok Shop listing quality) plus the optional mutation (apply TikTok's recommendations), and implicitly distinguishes itself from siblings like auto_optimize_listings and update_product by describing the diagnosis-plus-graded-tier workflow. An agent can tell what this does without opening the 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?

Explicit when-to-use guidance: read-only unless `apply` is passed, `apply:['search_terms']` is the named safe default, `dry_run` previews, `issues[].fixable_by` gates action, and the tool must be re-run LATER due to async re-grading. It also routes the agent to update_product for manual title writes.

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