Metadata-Version: 2.4
Name: tiktok-pdp-mcp
Version: 0.1.0
Summary: TikTok Shop PDP 公开素材采集 MCP：只读采集公开商品页的主图轮播与详情模块，供竞品视觉证据归档（不登录、不绕过限制、不抓非公开内容）
Keywords: competitive-research,ecommerce,listing,mcp,pdp,tiktok-shop
Requires-Python: >=3.10
Requires-Dist: mcp<2.0.0,>=1.2.0
Description-Content-Type: text/markdown

# tiktok-pdp-mcp

TikTok Shop PDP 公开素材采集 MCP。只读采集公开 TikTok Shop 商品详情页（PDP）的主图轮播、详情模块与可见文本，用于竞品视觉证据归档。

> 定位：补足 FastMoss 的量化数据。FastMoss 负责「找爆款、看销量/价格/达人」，本 MCP 负责「把选中的竞品公开页面的主图和详情模块抓下来」，供视觉拆解建立「只学策略、不复制」的原创上架方案。

## 工具

`collect_tiktok_shop_pdp_materials` —— 只读采集公开 PDP。

输入参数：

| 参数 | 类型 | 说明 |
|------|------|------|
| market | string | 必填。v1.0 仅 `US` |
| pdp_url | string | 完整 PDP URL，与 product_id 二选一 |
| product_id | string | 产品 ID（10~30 位数字），与 pdp_url 二选一 |
| include_main_images | bool | 是否提取主图轮播，默认 true |
| include_detail_modules | bool | 是否提取详情模块，默认 true |
| download_images | bool | 是否下载图片，默认 false（仅返回 URL） |
| max_main_images | int | 主图上限，默认 12 |
| max_detail_modules | int | 详情模块上限，默认 30 |
| request_timeout_seconds | int | 请求超时，默认 20 |

返回 `status` 枚举：`success` / `partial` / `access_restricted` / `parse_failed` / `invalid_input` / `network_error`。

## 启动

```bash
uvx tiktok-pdp-mcp
```

## 环境变量（均可选，有安全默认值）

- `PDP_TIMEOUT`：请求超时（默认 20）
- `PDP_USER_AGENT`：请求 UA
- `PDP_MAX_RESPONSE_BYTES`：最大响应体（默认 8MB）
- `PDP_CACHE_DIR`：缓存目录
- `PDP_RATE_LIMIT_PER_MIN`：每分钟采集上限（默认 6）
- `PDP_COOLDOWN_SECONDS`：403/429 冷却秒数（默认 900）

## 合规边界（硬性）

- 仅采集公开、无需登录的 PDP 内容；不登录、不带 Cookie/授权头；
- 不绕过验证码、频控、地域限制；不抓非公开内容、个人数据；
- 结果只用于策略学习，禁止复制竞品图片/文案/品牌元素；
- 每条素材标记来源 URL、产品 ID、采集时间、顺序。
