tiktok-shop-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TIKTOK_SHOP_CONFIG | No | Path to the JSON file containing TikTok Shop credentials and shop configuration. | ~/.config/tiktok-mcp/shops.json |
| TIKTOK_SHOP_BESTSELLERS_SHOP | No | The seller_name (partial match allowed) of the shop to use for the bestsellers tools when seller_name is omitted. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_shops_toolB | List all configured TikTok Shop accounts with their names and token expiry dates. |
| get_shop_orders_toolB | Search TikTok Shop orders. Use seller_name to specify which shop (partial match OK, e.g. 'US' matches 'My Brand US'). Date query options (choose one):
timezone: IANA timezone for date conversion. Use the timezone your reporting day follows, e.g. 'Etc/GMT+8' (fixed UTC-8) or 'America/New_York' (default). When start_date is provided, it overrides create_time_ge/create_time_lt. start_date = beginning of that day in the given timezone. end_date = end of that day (if omitted, defaults to start_date = single day query). |
| get_order_detail_toolB | Get detailed information for specific TikTok Shop orders (max 50 IDs). Use seller_name to specify which shop. |
| get_shop_statements_toolC | Get TikTok Shop financial statements (daily settlement records). Use seller_name to specify which shop. |
| get_shop_transactions_toolA | Get transaction details for a specific order or statement. Provide exactly one of order_id or statement_id. Use seller_name to specify which shop. |
| get_shop_products_toolC | Get TikTok Shop product listings. Use seller_name to specify which shop (partial match OK). |
| get_product_detail_toolC | Get detailed product info including SKU prices. Use seller_name to specify which shop. |
| search_returns_toolB | Search return/refund orders with refund amounts. Use start_date/end_date (YYYY-MM-DD) or raw timestamps. |
| search_cancellations_toolC | Search cancelled orders with refund amounts and cancel reasons. Use start_date/end_date (YYYY-MM-DD) or raw timestamps. |
| get_shop_performance_toolB | Get shop-level sales performance (GMV, orders, customers) with VIDEO/LIVE/PRODUCT_CARD breakdown. Dates are YYYY-MM-DD. granularity: 'ALL' (aggregate) or '1D' (daily). Use seller_name to specify shop. |
| get_shop_performance_hourly_toolC | Get shop performance by hour for a specific date (YYYY-MM-DD). Use seller_name to specify shop. |
| get_customer_service_performance_toolA | Get shop customer-service performance (after-sales handling time, IM dissatisfaction rate, etc.) over a custom date window. Dates are YYYY-MM-DD. support_date_ge inclusive, support_date_lt exclusive. Wraps GET /customer_service/202407/performance — replaces SPS-backend's locked 60-day window. Use seller_name to specify shop. |
| get_shop_products_performance_toolC | Get performance ranking for all products (GMV, orders, items_sold). Sort by gmv/items_sold/orders. Use seller_name to specify shop. |
| get_product_performance_toolB | Get single product performance with VIDEO/LIVE/PRODUCT_CARD breakdown. Use seller_name to specify shop. |
| get_shop_videos_performance_toolB | Get performance ranking for all videos driving shop sales (GMV, views, click-through). account_type: ALL/SELF/AFFILIATE. Use seller_name to specify shop. |
| get_sku_performance_toolC | Get single SKU performance. Use seller_name to specify shop. |
| get_account_video_gmv_toolB | Auto-paginate all shop videos and aggregate GMV by account username. Pass usernames as comma-separated string (e.g. 'dr.elise,dr.camila') to filter specific accounts. Returns per-account totals: gmv, orders, items_sold, video count. |
| get_videos_bestselling_toolA | Platform-wide TOP 100 bestselling videos (requires Bestsellers scope). date: reference date YYYY-MM-DD. time_slot: "7D" (default) or "30D". Returns bucketed gmv_range per video — no exact GMV. Useful for trend-scouting and creator discovery. |
| get_creators_bestselling_toolA | Platform-wide TOP 100 bestselling creators (requires Bestsellers scope). date: reference date YYYY-MM-DD. time_slot: "7D" (default) or "30D". author_type: "ALL" / "AFFILIATE" / "OFFICIAL". Returns bucketed gmv_range per creator. Use for BD outreach discovery. |
| get_products_bestselling_toolA | Platform-wide TOP 100 bestselling products (requires Bestsellers scope). date: reference date YYYY-MM-DD. time_slot: "7D" (default) or "30D". category_id: optional TikTok category filter. Returns bucketed gmv_range per product — use for competitor and category-trend scouting. |
| refresh_token_toolA | Refresh the TikTok Shop access token for a specific shop. Call when you get a 401/token expired error. New tokens are auto-saved to shops.json. |
| refresh_all_tokens_toolC | Refresh access tokens for ALL configured shops. Useful for batch renewal before expiry. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 22 tools
The 22 tools mostly target distinct resources and actions, and clusters like the five performance tools (shop, hourly, product, SKU, videos) are differentiated by entity and granularity in their descriptions. Minor potential confusion exists between get_shop_videos_performance_tool and get_account_video_gmv_tool (both sound like shop-video GMV), but descriptions clarify the difference.
Every tool uses a uniform verb_noun pattern with a consistent '_tool' suffix (list_shops_tool, get_shop_orders_tool, search_returns_tool, refresh_token_tool). Verbs are consistently recognizable (get/list/search/refresh) and the naming is fully predictable.
22 tools sits at the heavy end, but the domain is broad (orders, products, finance, performance analytics, creator/video discovery, token management) and each tool appears to fill a distinct niche. It is well-scoped for a comprehensive TikTok Shop reporting surface rather than bloated.
Coverage spans orders, order detail, products, returns, cancellations, statements, transactions, multi-level performance, bestsellers, customer service, and token refresh — a thorough read/analytics surface. It is largely read-only, so write operations like order fulfillment, inventory, or product editing are absent, but these are minor gaps for the apparent analytics purpose.