Skip to main content
Glama

douyin-favorites-mcp · 抖音收藏夹 MCP 服务

License: MIT

抖音收藏夹 / 抖音收藏 的 Model Context Protocol (MCP) 服务器 —— 通过登录态的浏览器会话,读取你自己账号的抖音收藏(默认收藏)、收藏夹 / 专辑(如"学习"),并导出结构化数据给 AI 助手(Claude / WorkBuddy 等)使用。

English: An MCP server that reads your personal Douyin (抖音) favorites and collection folders (收藏夹/专辑) via a logged-in browser session, for use with Claude / WorkBuddy and other MCP clients.

⚠️ 个人授权使用:本工具仅读取当前登录账号的收藏夹数据,不提供他人数据抓取、验证码绕过或签名破解功能。

功能特性

工具

说明

douyin_login_start

打开有头 Chrome 扫码登录抖音(会话保存在本地 profile)

douyin_login_status

检查当前 session 是否有效(基于 sessionid cookie)

douyin_logout

清空本地浏览器 profile

douyin_health_check

健康检查

get_self_user_info

获取当前登录账号基本信息(昵称/uid/粉丝/关注/获赞)

list_collection_videos

拉取默认"收藏"夹的视频列表

list_collects

列出所有收藏夹(专辑):id、名称、视频数量

get_collect_videos

拉取指定收藏夹(专辑)内的视频/图文

get_video_detail

获取单条视频详情与互动数据

支持内容类型:视频 + 图文(长文章),均能提取标题 / 作者 / 互动数据 / 封面 / 时长。

工作原理

抖音 Web 接口带有运行时签名保护,无法直接伪造 API 调用。本服务采用:

  1. 用 Playwright 启动真实 Chrome(持久化 profile);

  2. 扫码登录一次,session cookie 保存在本地;

  3. 驱动页面 UI(点击"收藏"标签、再点"收藏夹"子标签),拦截 XHR 响应

  4. 解析并返回结构化数据。

已验证的接口(2026-08):

  • 收藏夹列表:GET /aweme/v1/web/collects/list/

  • 收藏夹内容:GET /aweme/v1/web/collects/video/list/?collects_id=...&cursor=0&count=10

  • 全部收藏:POST /aweme/v1/web/aweme/listcollection/(cursor 在 POST body)

安装

python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate

pip install -e .
playwright install chromium

配置(WorkBuddy / Claude Desktop)

在 MCP 配置中添加(如 ~/.workbuddy/mcp.json):

{
  "mcpServers": {
    "douyin-favorites": {
      "command": "C:/absolute/path/to/douyin-favorites/.venv/Scripts/python.exe",
      "args": ["-m", "douyin_favorites.server"],
      "env": {
        "DOUYIN_DATA_DIR": "C:/Users/<you>/.douyin-favorites"
      }
    }
  }
}

DOUYIN_DATA_DIR 是浏览器 profile(登录态)的存放位置,请勿纳入版本控制。

首次使用

# 1. 登录(弹出 Chrome,扫码后自动关闭)
python scripts/verify.py

# 2. 或通过 MCP 调用:
#    douyin_login_start
#    douyin_login_status   -> {"logged_in": true}
#    list_collects         -> 列出收藏夹(id + 名称 + 数量)
#    get_collect_videos({"collects_id": "<id>"})

登录态跨会话持久化,通常数周才需重新扫码一次。

测试

pytest tests/ -v
python scripts/verify.py          # 端到端验证(需要登录态)
python scripts/verify_collects.py # 列收藏夹 + 第一个收藏夹的视频

注意事项与已知限制

  • 登录态检测基于 session cookiesessionid / sessionid_ss / sid_guard / sid_tt),不要用 DOM 元素判断(抖音首页未登录也有大量作者头像,会误判)。

  • 抖音首页永远达不到 networkidle,所有导航使用 domcontentloaded

  • 收藏页分页靠真实鼠标滚轮触发(先 mouse.move 到内容区再 wheel),window.scrollTo 无效。

  • "收藏"标签必须点击触发,?showTab=favorite URL 参数本身无效。

  • get_video_detail 可能因抖音改版详情接口而暂时不可用。

免责声明

本项目仅用于个人学习、研究和数据整理。使用本工具即表示您确认:

  • 您仅访问自己拥有完整访问权限的抖音账号数据;

  • 您不会将本工具用于批量爬取、数据贩卖、刷量或其他违法/违规行为;

  • 您理解抖音接口可能随时变化,导致工具暂时失效。

如因违反上述条款或相关法律法规造成任何后果,由使用者自行承担。

许可证

MIT

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • MCP server for Hailuo (MiniMax) AI video generation

  • MCP server for ByteDance Seedance AI video generation

  • MCP server for Kling AI video generation

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mlbb229229-create/douyin-favorites-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server