Install
$ agentstack add mcp-pazwusimple-netizen-douyin-mcp Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Douyin MCP Server
让 AI 助手直接读取抖音内容:搜索视频、查看详情、抓评论、分析博主、下载视频、语音转文字。
✨ 相比同类项目的优势
| 特性 | 本项目 | 其他抖音 MCP | |------|--------|-------------| | 搜索防护 | 自动频率控制 + verifycheck 自动重试 + Playwright 浏览器回退 | 搜索容易被封 | | 语音转文字 | 4 种 ASR 服务商可选,支持长视频自动切片 | 大多不支持 | | 视频下载 | 无水印下载 + 图文下载 + OCR 文字识别 | 仅基础下载 | | 工具数量 | 15 个 MCP 工具覆盖搜索/详情/评论/下载/转写 | 通常 3-5 个 | | 签名方案 | 本地 V8 引擎生成 abogus,不依赖外部服务 | 依赖第三方或不签名 | | Cookie 管理 | Playwright 浏览器扫码登录,自动保存和刷新 | 手动复制粘贴 |
适合的场景
- 内容选题和行业调研
- 竞品账号分析
- 评论区观点收集
- 教程类视频知识提取
- 把抖音内容接进 Codex / Claude CLI 这类 AI 工作流
功能概览
当前提供 15 个 MCP 工具,分为 5 大类。搜索工具内置三层防护机制,大幅降低被抖音风控拦截的概率。
📊 数据获取
搜索视频 search_videos
支持丰富的筛选条件:
- 3 种排序方式:综合排序 / 按点赞最多 / 按最新发布
- 4 种时间筛选:不限 / 1天内 / 1周内 / 半年内
- 4 种搜索类型:综合 / 视频 / 用户 / 直播
- 支持分页,单次最多返回 20 条结果
- 🛡️ 内置三层搜索防护:频率控制(8-10秒间隔)→ verify_check 自动重试 → Playwright 无头浏览器回退
"搜索5条关于AI编程的视频,按点赞最多排序,只看一周内的"
获取视频详情 get_video_detail
返回一条视频的完整信息:标题、描述、点赞数、评论数、分享数、收藏数、视频时长(毫秒)、作者信息、下载链接等。
获取视频评论 get_video_comments
支持分页浏览评论列表,每次最多 20 条。返回评论内容、点赞数、回复数、发布时间、评论者信息。
获取评论回复 get_sub_comments
获取某条评论下的子评论(回复),支持分页。适合追踪热门评论下的讨论。
获取博主资料 get_user_info
返回博主的完整资料:昵称、头像、粉丝数、关注数、总获赞数、作品数、简介等。
获取博主作品列表 get_user_posts
按时间顺序列出博主发布的视频,支持分页翻阅历史作品。
获取推荐流 get_homefeed
模拟刷抖音,获取推荐视频流。支持 16 种内容分类:全部、知识、体育、汽车、动漫、游戏、影视、生活、旅行、短剧、美食、三农、音乐、动物、亲子、时尚。
"帮我看看抖音美食类的推荐视频"
检查登录状态 check_login_status / 退出登录 logout
检查当前 Cookie 是否有效;清除本地 Cookie 文件退出登录。
🔗 链接解析
解析分享链接 resolve_share_url
把抖音分享链接(https://v.douyin.com/xxx)解析成视频ID,并自动获取视频详情。适合处理朋友转发给你的"复制链接"。
📥 媒体下载
下载视频 download_video
下载抖音视频到本地,返回文件路径、文件大小、以及视频的点赞/评论/收藏等完整统计数据。
下载图文图片 download_aweme_images
下载图文作品中的全部图片到本地目录,生成 manifest 文件方便后续处理。
图文 OCR ocr_aweme_images
下载图文作品的所有图片,并自动进行文字识别(OCR),输出每张图片中的文字内容。适合处理截图类、知识卡片类的图文内容。
> 使用 OCR 需要额外安装一个依赖包: > ``bash > uv sync --extra ocr > ` > 这会自动安装 rapidocr-onnxruntime`(一个纯本地运行的 OCR 引擎),不需要配 API Key,不需要联网,安装完就能用。
🔊 语音转文字
单条转写 transcribe_video
完整流程:获取视频详情 → 下载视频 → 提取音频 → 调用 ASR 转写 → 保存为 .txt 文件。支持长视频自动切片转写。
批量转写 batch_transcribe
一次搜索 + 批量转写,适合从某个领域批量提取知识。支持 3 种排序(综合/点赞最多/最新),默认取点赞最多的前 3 条转写。
"批量转写3条关于跨境电商的抖音视频,按点赞最多排序"
🔐 登录
扫码登录 get_login_qrcode
在终端生成二维码,用手机抖音扫码即可登录。登录后 Cookie 自动保存,无需重启。
快速开始
第 1 步:安装依赖
git clone https://github.com/wuyuxiang2/douyinmcp.git
cd douyinmcp
uv sync
如果你还没安装 uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.zshrc
第 2 步:登录抖音
uv run login.py
用手机抖音扫码或账号密码登录即可。登录成功后 Cookie 自动保存到 ~/.config/douyinmcp/cookies.txt,后续不需要重复登录。
第 3 步:确认两个路径
后面配置 MCP 时需要用到这两个值,先记下来:
which uv # 查看 uv 的完整路径,比如 /Users/你的用户名/.local/bin/uv
pwd # 查看当前项目目录的完整路径,比如 /Users/你的用户名/douyinmcp
> which uv 就是问系统"uv 这个命令装在哪里",pwd 就是问"我现在在哪个文件夹"。
第 4 步:添加 MCP
根据你使用的工具,选择对应的配置方式。把示例中的路径替换成第 3 步中你记下的真实路径。
Codex CLI
codex mcp add douyin -- /你的uv路径/uv --directory /你的项目路径/douyinmcp run main.py
Claude CLI
claude mcp add douyin -- /你的uv路径/uv --directory /你的项目路径/douyinmcp run main.py
Claude Desktop(桌面应用)
用文本编辑器(推荐 VS Code 或系统自带的 TextEdit)打开配置文件:
# Mac 上的文件路径
~/Library/Application Support/Claude/claude_desktop_config.json
> 如果这个文件不存在,直接新建一个就行。
在文件中写入(或在已有的 mcpServers 里加上 douyin 这一段):
{
"mcpServers": {
"douyin": {
"command": "/你的uv路径/uv",
"args": ["--directory", "/你的项目路径/douyinmcp", "run", "main.py"]
}
}
}
保存后重启 Claude Desktop,在对话框底部会出现锤子 🔨 图标,说明 MCP 已连接。
Cursor
用文本编辑器打开配置文件:
# 项目级配置(仅当前项目生效)
你的项目路径/.cursor/mcp.json
# 或 全局配置(所有项目生效)
~/.cursor/mcp.json
> 如果文件不存在,直接新建一个就行。
JSON 格式和 Claude Desktop 一样:
{
"mcpServers": {
"douyin": {
"command": "/你的uv路径/uv",
"args": ["--directory", "/你的项目路径/douyinmcp", "run", "main.py"]
}
}
}
保存后,在 Cursor 的 Settings → MCP 中就能看到 douyin 服务已连接。
Antigravity(Google Gemini IDE)
在 Antigravity 中打开 MCP Store(左侧边栏),点击 Manage MCP Servers → View raw config,会打开配置文件:
# 文件路径
~/.gemini/antigravity/mcp_config.json
在 mcpServers 中加上 douyin:
{
"mcpServers": {
"douyin": {
"command": "/你的uv路径/uv",
"args": ["--directory", "/你的项目路径/douyinmcp", "run", "main.py"],
"timeout": 120000
}
}
}
> timeout 设大一些(120 秒),因为视频转写等操作可能需要较长时间。
保存后在 MCP Store 中刷新,看到 douyin 显示为 connected 即可。
到这里,搜索、看评论、下载视频这些功能已经能用了。
第 5 步:配置 ASR 密钥(需要你自己操作!)
> ⚠️ 重要提示:ASR 密钥包含你的私人 API Key,请你自己在系统终端里手动配置,不要让 AI 帮你操作这一步,避免密钥泄露。
如果你需要用"视频转文字"功能,需要配一个 ASR 服务商的 API Key。下面以硅基流动(免费额度最多)为例。
方式 A:写到 MCP 配置里(推荐)
适合 CLI 工具(Codex / Claude CLI):在终端重新添加 MCP 时带上密钥:
# Codex CLI
codex mcp add douyin \
--env ASR_PROVIDER=siliconflow \
--env SILICONFLOW_API_KEY='sk-你的Key' \
-- /你的uv路径/uv --directory /你的项目路径/douyinmcp run main.py
# Claude CLI
claude mcp add douyin \
-e ASR_PROVIDER=siliconflow \
-e SILICONFLOW_API_KEY=你的Key \
-- /你的uv路径/uv --directory /你的项目路径/douyinmcp run main.py
适合 GUI 工具(Claude Desktop / Cursor):在 JSON 配置中加上 env 字段:
{
"mcpServers": {
"douyin": {
"command": "/你的uv路径/uv",
"args": ["--directory", "/你的项目路径/douyinmcp", "run", "main.py"],
"env": {
"ASR_PROVIDER": "siliconflow",
"SILICONFLOW_API_KEY": "sk-你的Key"
}
}
}
}
方式 B:写到 ~/.zshrc 里(全局生效,所有工具都能用)
nano ~/.zshrc
在文件末尾加上:
export ASR_PROVIDER=siliconflow
export SILICONFLOW_API_KEY='sk-你的Key'
保存退出后执行 source ~/.zshrc 使其生效。
> 两种方式都是通过系统环境变量传入,编程 AI 无法通过读取项目文件看到你的密钥。
第 6 步:开始使用
配好以后,直接对 AI 说就行:
帮我检查抖音登录状态搜索 5 条关于 AI 编程 的抖音视频,按点赞最多排序把第一条视频的前 10 条评论读给我下载刚才那条视频到 ~/Downloads把这条视频转成文字批量转写 3 条关于 跨境电商 的抖音视频
Cookie 说明
运行 uv run login.py 登录后,Cookie 自动保存到 ~/.config/douyinmcp/cookies.txt,后续使用时程序会自动读取,你不需要手动操作任何 Cookie 相关的事情。
如果你需要自定义 Cookie 路径,可以设置环境变量 DOUYIN_COOKIE_PATH。
文件输出位置
所有产出文件默认放在 ~/Downloads/douyinmcp/ 下,统一管理,不污染项目目录:
| 内容 | 默认位置 | 修改方式 | |------|---------|---------| | Cookie | ~/.config/douyinmcp/cookies.txt | DOUYIN_COOKIE_PATH | | 下载视频/图片 | ~/Downloads/douyinmcp/ | DOUYIN_DOWNLOAD_DIR | | 转写文本 .txt | ~/Downloads/douyinmcp/transcripts/ | DOUYIN_TRANSCRIPT_DIR |
> 不需要手动创建这些文件夹,程序会在第一次使用时自动创建。
哪些配置需要你填
绝大多数配置不需要你动,代码里都有合理的默认值:
| 配置 | 是否需要填 | 说明 | |------|-----------|------| | Cookie | ✅ 需要,但 login.py 自动搞定 | 登录后自动保存 | | ASR 密钥 | ⚠️ 只有视频转文字才需要 | 搜索、下载、评论等功能不需要 | | 下载目录 | ❌ 不需要 | 默认 ~/Downloads/douyinmcp/ | | 转写目录 | ❌ 不需要 | 有默认路径 | | OCR 配置 | ❌ 不需要 | 额外装一下依赖即可 | | 音频切片参数 | ❌ 不需要 | 长视频自动处理 |
配置读取方式
所有配置只从系统环境变量读取,包括:
- MCP
--env传入的 ~/.zshrc里export的- 系统级环境变量
项目目录下不需要创建任何 .env 文件。.env.example 仅作为环境变量参考文档存在。
支持的 ASR 服务商
| 服务商 | 配置变量 | 说明 | |--------|---------|------| | siliconflow(默认) | SILICONFLOW_API_KEY | 硅基流动,使用 SenseVoice 模型 | | volcengine | VOLCENGINE_APP_ID + VOLCENGINE_ACCESS_TOKEN | 火山引擎(字节跳动) | | openai | OPENAI_API_KEY | OpenAI Whisper | | custom | ASR_API_URL + ASR_API_KEY | 任何兼容 OpenAI Whisper 接口的服务 |
项目结构
douyinmcp/
├── main.py # 入口
├── login.py # Playwright 浏览器扫码登录
├── pyproject.toml # 依赖管理
├── src/
│ ├── server.py # MCP 工具定义(15个工具)
│ ├── client.py # 抖音 API 客户端(含搜索防护)
│ ├── browser_search.py # Playwright 浏览器搜索回退
│ ├── config.py # 配置管理
│ ├── errors.py # 统一错误处理
│ ├── models.py # 数据模型
│ ├── sign.py # a_bogus 签名(本地 V8 引擎)
│ ├── cookies.py # Cookie 解析
│ ├── token_manager.py # Token / msToken 管理
│ ├── ocr.py # OCR 图文识别
│ ├── asr/ # 语音转文字(4种服务商)
│ └── video/ # 视频处理和音频提取
├── tests/ # 单元测试
└── LICENSE
搜索防护机制
抖音搜索 API 有严格的频率限制,连续搜索会触发 verify_check 验证码拦截。本项目实现了三层防护:
搜索请求 → 第1层:频率控制(8-10秒随机间隔)
→ 第2层:verify_check 自动重试(刷新 token + 8-15秒冷却)
→ 第3层:Playwright 无头浏览器回退(真实浏览器环境,不触发验证码)
| 防护层 | 原理 | 效果 | |--------|------|------| | 频率控制 | 搜索间自动等待 8-10 秒,模拟人类搜索节奏 | 预防 verifycheck | | searchid 链式传递 | 每次搜索把上一次的 logid 传给下一次 | 模拟翻页行为 | | msToken 优先级链 | Cookie真实token > 首页获取 > API生成 | 提高请求可信度 | | verify_check 重试 | 自动检测 → 刷新 token → 冷却 → 重试 | 自动恢复 | | Playwright 回退 | 启动无头 Chromium + stealth 脚本 + Cookie 注入 | 终极保险 |
> Playwright 浏览器回退需要首次运行 uv run playwright install chromium 安装浏览器。
Acknowledgements
本项目在早期开发阶段参考了 hhy5562877/douyin_mcp 的代码结构和接口设计思路,用来帮助梳理抖音网页接口结构、字段映射和 MCP 工具设计方向。感谢原作者提供的启发和思路。
免责声明
本项目仅供学习和研究使用。使用本项目获取的数据应遵守抖音平台的服务条款和相关法律法规。请勿将本项目用于任何商业用途或违法行为。
License
[MIT](LICENSE)
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: pazwusimple-netizen
- Source: pazwusimple-netizen/douyin-mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.