TikTok Shop — Claude Code MCP server: setup and features
This MCP server lets Claude Code read TikTok Shop Partner API data for orders, finance, products, analytics, and affiliate results across shops.
claude mcp add --env TIKTOK_SHOP_CONFIG=<TIKTOK_SHOP_CONFIG> --env TIKTOK_SHOP_BESTSELLERS_SHOP=<TIKTOK_SHOP_BESTSELLERS_SHOP> --transport stdio tiktok-shop -- uvx tiktok-shop-mcpWhat TikTok Shop does
TikTok Shop exposes read access to the TikTok Shop Partner API through MCP tools. An agent can inspect orders, returns, statements, transactions, product records, shop metrics, video results, SKU data, and creator or product bestsellers. Responses use structured JSON.
Shop credentials belong in shops.json outside the project directory, with its location controlled by TIKTOK_SHOP_CONFIG. Setup requires app_key, app_secret, access and refresh tokens, shop_id, and shop_cipher obtained through TikTok Shop Partner Center. The server does not edit listings or upload files; token renewal writes to its configuration file. Bestseller tools also require the Bestsellers scope and can use TIKTOK_SHOP_BESTSELLERS_SHOP to select the shop.
The server supports mcp 1.x and 2.x. Add it to Claude Code with the uvx command, then ask the agent for shop data or token status.
What it helps with
- inspect orders for a selected shop and date
- check statements against shop transactions
- identify products or SKUs with strong metrics
- compare hourly shop performance
- refresh access tokens across shops
Example prompts for the agent
- List my shops and show when their tokens expire.
- Find orders for
MY SHOP USon2026-07-18using Eastern time. - Compare the shop’s hourly GMV for yesterday with the previous day.
How to install TikTok Shop
Platform CLI
claude mcp add --env TIKTOK_SHOP_CONFIG=<TIKTOK_SHOP_CONFIG> --env TIKTOK_SHOP_BESTSELLERS_SHOP=<TIKTOK_SHOP_BESTSELLERS_SHOP> --transport stdio tiktok-shop -- uvx tiktok-shop-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from tiktok-shop-mcp <command>
Platform CLI
codex mcp add tiktok-shop --env TIKTOK_SHOP_CONFIG=<TIKTOK_SHOP_CONFIG> --env TIKTOK_SHOP_BESTSELLERS_SHOP=<TIKTOK_SHOP_BESTSELLERS_SHOP> -- uvx tiktok-shop-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from tiktok-shop-mcp <command>
Config file
{
"mcpServers": {
"tiktok-shop": {
"command": "uvx",
"args": [
"tiktok-shop-mcp"
],
"env": {
"TIKTOK_SHOP_CONFIG": "<TIKTOK_SHOP_CONFIG>",
"TIKTOK_SHOP_BESTSELLERS_SHOP": "<TIKTOK_SHOP_BESTSELLERS_SHOP>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from tiktok-shop-mcp <command>
Config file
{
"servers": {
"tiktok-shop": {
"type": "stdio",
"command": "uvx",
"args": [
"tiktok-shop-mcp"
],
"env": {
"TIKTOK_SHOP_CONFIG": "<TIKTOK_SHOP_CONFIG>",
"TIKTOK_SHOP_BESTSELLERS_SHOP": "<TIKTOK_SHOP_BESTSELLERS_SHOP>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from tiktok-shop-mcp <command>
Platform CLI
gemini mcp add -e TIKTOK_SHOP_CONFIG=<TIKTOK_SHOP_CONFIG> -e TIKTOK_SHOP_BESTSELLERS_SHOP=<TIKTOK_SHOP_BESTSELLERS_SHOP> tiktok-shop uvx tiktok-shop-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from tiktok-shop-mcp <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about TikTok Shop
How do I install TikTok Shop in Claude Code?
Run claude mcp add tiktok-shop-mcp -- uvx tiktok-shop-mcp.
What does TikTok Shop do?
It gives an MCP client read access to TikTok Shop orders, financial records, products, analytics, returns, and affiliate-related bestseller data.
What is required for the bestseller tools?
The app must have the Bestsellers scope on at least one shop. Set TIKTOK_SHOP_BESTSELLERS_SHOP to choose it; otherwise the server uses the first shop in shops.json.