TikTok Shop

io.github.Buer2333由 GitHub 帳號 Buer2333 發布v0.3.0更新於 Oct 27, 2026

Read-only TikTok Shop Partner API: orders, finance, products and analytics across shops.

發布方自己的服務:Tiktokporn

概覽

AI 產生的概覽

唯讀的 TikTok Shop Partner API 伺服器,讓助理跨多個商店查詢訂單、財務、商品與分析資料。

可以做什麼
  • 列出已設定的商店,檢視並更新其存取權杖
  • 查詢商店訂單、訂單明細、退貨與取消
  • 讀取結算對帳單與商店交易紀錄
  • 瀏覽商品目錄與商品明細
  • 取得商店、分時、商品、SKU、影片與客服績效分析
  • 讀取影片 GMV 以及影片、創作者、商品的平台熱銷榜
適用情境
適合經營 TikTok Shop 的賣家與代操團隊,希望助理直接依官方 Partner API 回答銷售、訂單、結算與創作者帶貨表現的問題,並可跨多個商店查詢,不必用瀏覽器擷取網頁。
執行需求
以本機 Python 套件執行(pip 或 uvx)。需要 shops.json 憑證檔,預設位於 ~/.config/tiktok-mcp/ 或由 TIKTOK_SHOP_CONFIG 指定的路徑,每個商店包含 app_key、app_secret、access_token、refresh_token、shop_id 與 shop_cipher,須在 TikTok Shop Partner Center 建立應用程式後授權取得。熱銷榜工具需要具備 Bestsellers 權限的商店,可用 TIKTOK_SHOP_BESTSELLERS_SHOP 指定。需要連線至 TikTok Shop API 的網路。
安裝前請注意
憑證檔含有應用程式密鑰與存取/更新權杖,應僅限本人可讀並放在儲存庫之外。更新權杖會寫入該檔案,安裝腳本還會留下備份與復原副本,用完後應刪除。伺服器對商店為唯讀,但建議將 Partner Center 應用程式只授權唯讀範圍。所有請求都經由 mcp-retry 相依套件,該套件可看到你的權杖。獨立開源專案,與 TikTok 無隸屬關係。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 TikTok Shop,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

tiktok-shop-mcp

A Model Context Protocol (MCP) server for the TikTok Shop Partner API — query orders, finance, products, analytics, and affiliate performance across multiple shops from Claude, or any other MCP client.

Built for sellers and agencies who operate TikTok Shops and want their AI assistant to answer questions like "what did the US shop sell yesterday?", "which SKUs are trending this week?", or "pull the settlement statements for June" — directly against the official API, with no browser scraping.

Features

  • Multi-shop — configure any number of shops in one JSON file; every tool takes an optional seller_name (partial match) to pick the shop
  • 22 tools covering orders, finance, product catalog, shop/video/SKU analytics, affiliate best-sellers, and returns/cancellations
  • Human-friendly dates — pass start_date=2026-07-01 + an IANA timezone instead of unix timestamps; the server handles conversion
  • Token lifecycle — inspect expiry and refresh access tokens (single shop or all shops) without leaving the conversation
  • Resilient by default — all requests go through mcp-retry (exponential backoff + jitter on 429/5xx/network errors)
  • Read-only against your shop — no tool edits listings, creates products, or uploads files. The only thing the server writes is your own shops.json, when it refreshes tokens, with owner-only (0600) permissions. For defense in depth, authorize the Partner Center app with read scopes only

Tools

GroupTools
Shops & authlist_shops · refresh_token · refresh_all_tokens
Ordersget_shop_orders · get_order_detail · search_returns · search_cancellations
Financeget_shop_statements · get_shop_transactions
Productsget_shop_products · get_product_detail
Shop analyticsget_shop_performance · get_shop_performance_hourly · get_shop_products_performance · get_product_performance · get_shop_videos_performance · get_sku_performance · get_customer_service_performance
Video & affiliateget_account_video_gmv · get_videos_bestselling · get_creators_bestselling · get_products_bestselling

Installation

bash
pip install tiktok-shop-mcp

Or from source, into a virtualenv, with the direct dependencies pinned to the versions the tests run against:

bash
git clone https://github.com/Buer2333/tiktok-shop-mcp.gitcd tiktok-shop-mcppython3 -m venv .venv.venv/bin/pip install -r requirements.txt.venv/bin/pip install --no-deps -e .

requirements.txt pins the direct runtime dependencies to exact versions, including mcp-retry, which wraps every API call and so sees your tokens. Transitive dependencies (pydantic, starlette, and so on) are not pinned; for a fully reproducible install, generate a lock file with pip-compile --generate-hashes. Bump a pin only after reading what changed in that release.

Compatibility

Works with both mcp 1.x and 2.x. mcp 2.0 renamed FastMCP to MCPServer (mcp.server.mcpserver) and turned mcp.server.fastmcp into a raising stub; server.py imports via a try-v2-except-v1 shim. Tests pass on 1.28.1 and 2.1.1; requirements.txt pins 2.1.1.

Configuration

Credentials live in a JSON file outside the repo (default ~/.config/tiktok-mcp/shops.json, override with the TIKTOK_SHOP_CONFIG env var). The server never reads a shops.json from the project folder, so a copy there can't be picked up and synced or committed by accident. Keep the file owner-only:

bash
chmod 700 ~/.config/tiktok-mcp && chmod 600 ~/.config/tiktok-mcp/shops.json

The setup scripts leave token backups (shops.json.bak.* and a recovery/ folder) next to it; delete them once your shops are working. A small shops.json.lock file also lives there; it is how the server, the cron refresher, and the setup scripts avoid writing the file at the same time, so leave it be.

json
[  {    "seller_name": "MY SHOP US",    "seller_base_region": "US",    "app_key": "...",    "app_secret": "...",    "access_token": "TTP_...",    "refresh_token": "TTP_...",    "shop_id": "...",    "shop_cipher": "..."  }]

You get app_key / app_secret by creating an app on the TikTok Shop Partner Center, then authorize your shop(s) to obtain tokens. shop_id / shop_cipher are returned by the authorized-shops endpoint; the bundled probe_authorized_shops.py script can fetch them for you.

The three *_bestselling tools need a shop whose app has the Bestsellers scope. The lists are platform-wide, so one such shop is enough: set TIKTOK_SHOP_BESTSELLERS_SHOP to its seller_name (partial match OK) and the tools use it whenever seller_name is omitted. Without it they fall back to the first shop in shops.json.

Claude Code

bash
claude mcp add tiktok-shop -- tiktok-shop-mcp

Claude Desktop / other MCP clients

json
{  "mcpServers": {    "tiktok-shop": {      "command": "tiktok-shop-mcp",      "env": { "TIKTOK_SHOP_CONFIG": "/path/to/shops.json" }    }  }}

Example prompts

  • "List my shops and when their tokens expire"
  • "Orders for MY SHOP US on 2026-07-18, Eastern time"
  • "Which creators drove the most GMV for us in the last 7 days?"
  • "Compare yesterday's hourly GMV curve with the day before"
  • "Refresh tokens for all shops"

Architecture

tiktok_shop_mcp/├── server.py     # FastMCP app — tool definitions, date handling, error envelope├── client.py     # Signed HTTP client (HMAC-SHA256 request signing, via mcp-retry)├── config.py     # Multi-shop credential loading & resolution└── tools/        # One module per API domain (orders, finance, products, analytics…)

All tools return structured JSON. Errors come back as {"error": true, "message": …, "suggestion": …} so the model can self-correct (e.g. refresh an expired token and retry).

Disclaimer

This is an independent open-source project, not affiliated with or endorsed by TikTok. Use of the TikTok Shop API is subject to TikTok's own terms.

License

MIT

來源:README.md,提交 8f2abb9

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.3.0最新Oct 19, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Tik-Tok 整合