douyin-mcp-server
从抖音/B站视频链接下载音频并自动提取语音文案,支持MCP集成,可配合Claude Desktop等AI应用使用。
README
短视频文案提取器
从 抖音 / B站 视频分享链接下载音频,AI 自动提取语音文案。
支持多平台视频解析、自动分段并行转录、Docker 一键部署。
✨ 功能特性
- 🎬 多平台支持 - 同时支持抖音和 B站视频解析
- 🎙️ AI 语音识别 - 使用硅基流动 SenseVoice 自动提取文案
- ⚡ 并行转录 - 3 并发分段转录,提速 2-3 倍
- 🔄 自动重试 - SSL/429 错误自动重试,无需手动干预
- 📑 大文件支持 - 超过 10 分钟自动分段处理
- 🐳 Docker 部署 - 一键部署到服务器,自带 FFmpeg
- 🌐 WebUI - 现代化浏览器界面,无需命令行
- 🔌 MCP 集成 - 支持 Claude Desktop 等 AI 应用
📦 使用方式
| 方式 | 适用场景 | 特点 |
|---|---|---|
| Docker | 服务器/云部署 | 一键启动,自带 FFmpeg |
| WebUI | 本地使用 | 浏览器操作 |
| MCP Server | Claude Desktop 用户 | AI 对话中直接调用 |
| 命令行 | 开发者 | 批量处理,脚本集成 |
🐳 Docker 部署(最简单)
自带 Python + FFmpeg + yt-dlp,无需安装任何依赖。
Ubuntu 服务器部署步骤
# 1. 安装 Docker(如果还没装)
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# 重新登录让 docker 组生效
# 2. 克隆项目
git clone https://github.com/<your-username>/douyin-mcp-server.git
cd douyin-mcp-server
# 3. 配置 API Key
echo "API_KEY=sk-xxxxxxxxxxxxxxxx" > .env
# 4. 构建并启动(后台运行)
docker compose up -d --build
# 5. 查看运行状态
docker compose logs -f
打开浏览器访问 http://服务器IP:8080
一行命令启动(已有 Docker 环境)
docker compose up -d --build
配置 API Key
方式一:.env 文件(推荐)
echo "API_KEY=sk-xxxxxxxxxxxxxxxx" > .env
方式二:直接传入环境变量
API_KEY=sk-xxxxxxxxxxxxxxxx docker compose up -d --build
自定义端口
PORT=9000 docker compose up -d --build
访问 http://服务器IP:9000
常用命令
# 查看日志
docker compose logs -f
# 停止服务
docker compose down
# 重新构建(代码更新后)
docker compose up -d --build
# 查看服务状态
docker compose ps
🌐 WebUI
本地使用,浏览器操作。
快速开始
# 1. 克隆项目
git clone https://github.com/<your-username>/douyin-mcp-server.git
cd douyin-mcp-server
# 2. 安装依赖
uv sync --extra web
# 3. 启动服务
uv run python web/app.py
打开浏览器访问 http://localhost:8080
配置 API Key
有两种方式配置 API Key:
方式一:浏览器内配置(推荐)
- 打开 WebUI 页面
- 点击顶部的「API 未配置」按钮
- 在弹窗中输入 API Key 并保存
- API Key 保存在浏览器本地,刷新页面后仍有效
方式二:环境变量
export API_KEY="sk-xxxxxxxxxxxxxxxx"
uv run python web/app.py
💡 获取免费 API Key:硅基流动(新用户有免费额度)
功能说明
| 操作 | 说明 | 需要 API |
|---|---|---|
| 获取信息 | 解析视频标题、ID,获取无水印下载链接 | ❌ |
| 提取文案 | 下载视频 → 提取音频 → AI 语音识别 | ✅ |
| 下载视频 | 点击下载链接保存无水印视频 | ❌ |
| 复制/下载文案 | 一键复制或下载 Markdown 格式文案 | - |
使用步骤
- 粘贴链接 - 将分享链接粘贴到输入框
- 点击按钮 - 选择「获取信息」或「提取文案」
- 查看结果 - 右侧显示视频信息和提取的文案
- 导出 - 复制文案或下载 Markdown 文件
🚀 MCP Server
在 Claude Desktop、Cherry Studio 等支持 MCP 的应用中使用。
配置方法
编辑 MCP 配置文件,添加:
{
"mcpServers": {
"douyin-mcp": {
"command": "uvx",
"args": ["douyin-mcp-server"],
"env": {
"API_KEY": "sk-xxxxxxxxxxxxxxxx"
}
}
}
}
💡
API_KEY填写硅基流动的密钥。也兼容旧版配置:设置DASHSCOPE_API_KEY(阿里云百炼密钥)同样可用,两者设其一即可。
可用工具
| 工具名 | 功能 | 需要 API |
|---|---|---|
parse_douyin_video_info |
解析视频信息 | ❌ |
get_douyin_download_link |
获取下载链接 | ❌ |
extract_douyin_text |
提取视频文案 | ✅ |
recognize_audio_file |
识别本地音频文件 | ✅ (百炼) |
recognize_audio_url |
识别在线音频链接 | ✅ (百炼) |
对话示例
用户:帮我提取这个视频的文案 https://v.douyin.com/xxxxx/
Claude:我来帮你提取视频文案...
[调用 extract_douyin_text 工具]
提取完成,文案内容如下:
...
🛠️ 命令行工具
适合开发者和批量处理场景。
安装
git clone https://github.com/<your-username>/douyin-mcp-server.git
cd douyin-mcp-server
uv sync
命令说明
# 查看帮助
uv run python douyin-video/scripts/douyin_downloader.py --help
# 获取视频信息(无需 API)
uv run python douyin-video/scripts/douyin_downloader.py -l "分享链接" -a info
# 下载无水印视频
uv run python douyin-video/scripts/douyin_downloader.py -l "分享链接" -a download -o ./videos
# 提取文案(需要 API_KEY)
export API_KEY="sk-xxx"
uv run python douyin-video/scripts/douyin_downloader.py -l "分享链接" -a extract -o ./output
# 提取文案并保存视频
uv run python douyin-video/scripts/douyin_downloader.py -l "分享链接" -a extract -o ./output --save-video
输出格式
output/
└── 7600361826030865707/
├── transcript.md # 文案文件
└── *.mp4 # 视频文件(可选)
transcript.md 内容:
# 视频标题
| 属性 | 值 |
|------|-----|
| 视频ID | `7600361826030865707` |
| 提取时间 | 2026-01-30 14:19:00 |
| 下载链接 | [点击下载](url) |
---
## 文案内容
这里是 AI 识别的语音文案...
📋 系统要求
| 依赖 | 说明 | 安装方式 |
|---|---|---|
| uv | Python 包管理 | curl -LsSf https://astral.sh/uv/install.sh | sh |
| Python | 3.10+ | uv python install 3.12 |
| FFmpeg | 音视频处理 | brew install ffmpeg (macOS) <br> apt install ffmpeg (Ubuntu) |
🔧 技术说明
大文件处理
当音频文件超过 API 限制时(1 小时或 50MB),自动执行:
- 检测音频时长和文件大小
- 使用 FFmpeg 分割成 9 分钟的片段
- 逐段调用 API 转录
- 合并所有文本结果
API 说明
语音识别使用 硅基流动 SenseVoice API:
- 模型:
FunAudioLLM/SenseVoiceSmall - 限制:单次最大 1 小时 / 50MB(已自动处理)
- 费用:新用户有免费额度
📝 更新日志
v1.4.1 (最新)
- 🔧 MCP Server 修复 -
API_KEY现在正确对应硅基流动密钥,与文档一致;同时兼容旧版DASHSCOPE_API_KEY配置 - ♻️ 恢复工具 - 恢复
recognize_audio_file/recognize_audio_url工具及extract_douyin_text的context参数 - 🛡️ WebUI 安全加固 - 下载接口不再代理任意 URL,默认仅监听本机
- ⚡ WebUI 性能 - 提取文案不再阻塞其他请求
- 📦 依赖精简 - WebUI 依赖改为可选安装(
pip install "douyin-mcp-server[web]")
v1.4.0
- 🌐 WebUI - 新增浏览器可视化界面
- 🔑 浏览器配置 API Key - 无需环境变量
- 📑 大文件支持 - 自动分段处理长音频
v1.3.0
- ✨ Claude Code Skill 支持
- 📄 Markdown 格式输出
v1.2.0
- 🔄 API 升级
v1.0.0
- 🎉 首次发布
⚠️ 免责声明
- 本项目仅供学习和研究使用
- 使用者需遵守相关法律法规
- 禁止用于侵犯知识产权的行为
- 作者不对使用本项目产生的损失承担责任
📄 许可证
Apache License 2.0
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。