Skip to main content

MCP server for extracting content from Douyin and Xiaohongshu (videos, images, and text)

Project description

抖音和小红书内容提取 MCP 服务器

PyPI version Python version License

一个基于 Model Context Protocol (MCP) 的服务器,支持从抖音和小红书分享链接提取视频、图片和文本内容。

douyin-mcp-server MCP server

📋 项目声明

官方文档地址: https://github.com/yzfly/douyin-mcp-server

请以本项目的 README.md 文件为准,了解项目的功能特性、使用方法、API 配置说明等详细信息。

重要提醒: 第三方平台如因自身 MCP Server 功能支持度限制而无法正常使用,请联系相应平台方。本项目不提供任何形式的技术支持或保证,用户需自行承担使用本项目可能产生的任何损失或损害。

法律声明:

  1. 本项目基于 Apache 2.0 协议发布
  2. 本项目仅供学习和研究使用,不得用于任何违法或违规目的
  3. 本项目的使用必须遵守相关法律法规
  4. 本项目的作者和贡献者不对项目的任何部分承担法律责任

✨ 功能特性

抖音功能

  • 🎵 无水印视频获取 - 从抖音分享链接获取高质量无水印视频
  • 🎧 智能音频提取 - 自动从视频中提取音频内容
  • 📝 AI 文本识别 - 使用先进的语音识别技术提取文本内容

小红书功能

  • 📱 视频/图文提取 - 支持小红书视频笔记和图文笔记
  • 📝 文案提取 - 自动提取笔记的文案内容
  • 🖼️ 图片获取 - 提取笔记中的所有图片链接(自动去除水印参数)
  • 🎤 视频语音识别 - 从视频笔记中提取语音文本(需要API密钥)
  • 🎬 无水印视频 - 自动去除视频URL中的水印参数,获取高质量无水印视频
  • 🤖 AI水印移除 - 使用AI技术智能检测并移除视频中的水印(需要OpenCV)
  • 🔍 智能解析 - 支持多种链接格式,自动识别笔记类型和内容

通用功能

  • 🧹 自动清理 - 智能清理处理过程中的临时文件
  • 🔧 灵活配置 - 支持自定义 API 配置,默认使用 阿里云百炼 API

🚀 快速开始

步骤 1:获取 API 密钥

前往 阿里云百炼 API 获取您的 API 密钥:

获取阿里云百炼API

步骤 2:配置 API 密钥

创建 config.json 配置文件:

{
  "api_key": "sk-your-api-key-here",
  "model": "paraformer-v2",
  "language_hints": ["zh", "en"],
  "temp_dir": "temp"
}

步骤 3:配置 Claude Desktop

在 Claude Desktop、Cherry Studio 等支持 MCP Server 的应用配置文件中添加以下配置:

{
  "mcpServers": {
    "douyin-mcp": {
      "command": "python3.11",
      "args": ["-m", "douyin_mcp_server.server"]
    }
  }
}

步骤 3:开始使用

配置完成后,您就可以在支持的应用中正常调用 MCP 工具了。

⚙️ API 配置说明

当前版本(>= 1.2.0)

最新版本默认使用阿里云百炼 API,具有以下优势:

  • ✅ 识别效果更好
  • ✅ 处理速度更快
  • ✅ 本地资源消耗更小

配置步骤:

  1. 前往 阿里云百炼 开通 API 服务
  2. 获取 API Key 并配置到 config.json 文件中的 api_key 字段

旧版本兼容(<= 1.1.0)

如果您需要使用旧版本,请使用以下配置:

{
  "mcpServers": {
    "douyin-mcp": {
      "command": "uvx",
      "args": ["douyin-mcp-server@1.1.0"],
      "env": {
        "DOUYIN_API_KEY": "your-api-key-here"
      }
    }
  }
}

注意: 旧版本使用硅基流动 API,需要在 硅基流动 注册账号并获取 API Key。

📖 1.1.0 版本文档

🛠️ 工具说明

get_douyin_download_link

获取抖音视频的无水印下载链接。

参数:

  • share_link (string): 抖音分享链接或包含链接的文本

返回:

  • JSON 格式的下载链接和视频信息

特点: 无需 API 密钥即可使用

extract_douyin_text

完整的文本提取工具,一站式完成视频到文本的转换。

处理流程:

  1. 解析抖音分享链接
  2. 直接使用视频 URL 进行语音识别
  3. 返回提取的文本内容

参数:

  • share_link (string): 抖音分享链接或包含链接的文本
  • model (string, 可选): 语音识别模型,默认使用 paraformer-v2

配置要求:

  • config.json: 包含阿里云百炼 API 密钥的配置文件(必需)

parse_douyin_video_info

轻量级视频信息解析工具。

参数:

  • share_link (string): 抖音分享链接

特点: 仅解析视频基本信息,不下载视频文件

资源访问

  • douyin://video/{video_id}: 通过视频 ID 获取详细信息

🛠️ 小红书工具说明

get_xiaohongshu_content

获取小红书笔记的完整内容(视频/图文)。

参数:

  • share_link (string): 小红书分享链接或包含链接的文本

返回:

  • JSON 格式,包含视频链接、文案、图片、作者等信息

特点: 无需 API 密钥即可使用,支持视频和图文两种类型

extract_xiaohongshu_text

提取小红书笔记的文案内容。

参数:

  • share_link (string): 小红书分享链接或包含链接的文本

返回:

  • 笔记的文案内容(纯文本,包含标题、描述、标签)

特点: 无需 API 密钥即可使用

extract_xiaohongshu_video_text

从小红书视频笔记中提取语音文本内容。

参数:

  • share_link (string): 小红书分享链接或包含链接的文本
  • model (string, 可选): 语音识别模型,默认使用 paraformer-v2

返回:

  • 提取的文本内容(包含文案和语音内容)

配置要求:

  • config.json: 包含阿里云百炼 API 密钥的配置文件(必需)

get_xiaohongshu_images

获取小红书笔记中的所有图片链接。

参数:

  • share_link (string): 小红书分享链接或包含链接的文本

返回:

  • JSON 格式的图片链接列表

特点: 无需 API 密钥即可使用,图片链接已自动去除水印参数

remove_xiaohongshu_video_watermark

使用AI技术移除小红书视频水印。

参数:

  • share_link (string): 小红书分享链接或包含链接的文本
  • output_path (string, 可选): 输出文件路径(可选,默认保存到temp目录)

返回:

  • JSON 格式的处理结果,包含无水印视频路径、处理方法和置信度等信息

特点:

  • 需要安装 OpenCV (opencv-python) 才能使用完整AI功能
  • 如果OpenCV不可用,会使用基础处理方法
  • 支持智能检测水印位置并自动修复

资源访问

  • xiaohongshu://note/{note_id}: 通过笔记 ID 获取详细信息

📦 系统要求

运行环境

  • Python: 3.10 或更高版本

依赖库

  • requests - HTTP 请求处理
  • ffmpeg-python - 音视频处理
  • tqdm - 进度条显示
  • mcp - Model Context Protocol 支持
  • dashscope - 阿里云百炼 API 客户端
  • beautifulsoup4 - HTML 解析(用于小红书内容提取)

⚠️ 注意事项

  • 🔑 API 密钥必需:视频语音识别功能需要有效的阿里云百炼 API 密钥
  • 🆓 部分功能免费:获取下载链接、提取文案等功能无需 API 密钥
  • 📱 格式支持:支持大部分抖音视频格式和小红书内容格式
  • 🚀 性能优化:使用阿里云百炼 API 获得更快更准确的识别效果
  • 📝 小红书支持:支持视频笔记和图文笔记两种类型

📁 项目结构

项目文件已按类型归类到以下目录:

  • docs/ - 文档目录:存放所有项目文档(Markdown文件)
  • configs/ - 配置目录:存放所有配置文件(JSON文件)
  • scripts/ - 脚本目录:存放所有可执行脚本(Python和Shell脚本)
  • douyin_mcp_server/ - 源代码目录:项目的主要源代码,采用分层架构

详细说明请查看 docs/DIRECTORY_STRUCTURE.md

🔧 开发指南

本地开发环境搭建

# 克隆项目
git clone https://github.com/AshinH/dy-xhs-mcp-server.git
cd dy-xhs-mcp-server

# 安装依赖(开发模式)
pip install -e .

运行测试

# 启动服务器进行测试
python -m douyin_mcp_server.server

# 或使用启动脚本
bash scripts/start_server.sh

Claude Desktop 本地开发配置

确保项目根目录存在 config.json 配置文件,然后在 Claude Desktop 配置文件中添加:

{
  "mcpServers": {
    "douyin-mcp": {
      "command": "python3.11",
      "args": [
        "-m",
        "douyin_mcp_server.server"
      ],
      "cwd": "/path/to/your/douyin-mcp-server"
    }
  }
}

⚠️ 免责声明

使用风险

  • 使用者对本项目的使用完全自主决定,并自行承担所有风险
  • 作者对使用者因使用本项目而产生的任何损失、责任或风险概不负责

代码质量

  • 本项目基于现有知识和技术开发,作者努力确保代码的正确性和安全性
  • 但不保证代码完全没有错误或缺陷,使用者需自行评估和测试

第三方依赖

  • 本项目依赖的第三方库、插件或服务遵循各自的开源或商业许可
  • 使用者需自行查阅并遵守相应协议
  • 作者不对第三方组件的稳定性、安全性及合规性承担责任

法律合规

  • 使用者必须自行研究相关法律法规,确保使用行为合法合规
  • 任何违反法律法规导致的法律责任和风险,均由使用者自行承担
  • 禁止使用本工具从事任何侵犯知识产权的行为
  • 开发者不参与、不支持、不认可任何非法内容的获取或分发

数据处理

  • 本项目不对使用者的数据收集、存储、传输等处理活动的合规性承担责任
  • 使用者应自行遵守相关法律法规,确保数据处理行为合法正当

责任限制

  • 使用者不得将项目作者、贡献者或相关方与使用行为联系起来
  • 不得要求作者对使用项目产生的任何损失或损害负责
  • 基于本项目的二次开发、修改或编译程序与原作者无关

知识产权

  • 本项目不授予使用者任何专利许可
  • 若使用本项目导致专利纠纷或侵权,使用者自行承担全部风险和责任
  • 未经书面授权,不得用于商业宣传、推广或再授权

服务终止

  • 作者保留随时终止向违反声明的使用者提供服务的权利
  • 可能要求违规使用者销毁已获取的代码及衍生作品
  • 作者保留在不另行通知的情况下更新本声明的权利

⚠️ 重要提醒:在使用本项目前,请认真阅读并完全理解上述免责声明。如有疑问或不同意任何条款,请勿使用本项目。继续使用即视为完全接受上述声明并自愿承担所有风险和后果。

📄 许可证

Apache License 2.0

👨‍💻 作者

🤝 贡献

欢迎提交 Issue 和 Pull Request!我们期待您的参与和贡献。

📝 更新日志

v1.3.0 (最新) - 2026-01-28

  • 🏗️ 架构重构:采用分层架构设计,提升代码可维护性和可扩展性
    • 新增 config/ 层:统一配置管理
    • 新增 utils/ 层:工具函数模块化(HTTP客户端、水印处理)
    • 新增 services/ 层:业务逻辑分离(抖音服务、小红书服务)
    • 新增 tools/ 层:MCP工具函数封装
    • 新增 resources/ 层:MCP资源处理
    • 重构 server.py:主入口文件,清晰组装所有模块
  • 📚 文档完善:新增 ARCHITECTURE.md 架构说明文档
  • 🔧 代码优化:提升代码复用性和可测试性
  • 🔚 小红书功能完善
    • ✨ 新增AI水印移除功能(remove_xiaohongshu_video_watermark
    • 🎬 增强无水印视频获取能力
    • 🖼️ 优化图片水印去除算法
    • 🔍 改进内容解析准确性

v1.2.0 - 2025-XX-XX

  • 🚀 性能提升:更快、更准确的视频文案提取
  • 🔄 API 升级:切换到阿里云百炼 API,显著提升识别准确率
  • 🔧 配置更新:环境变量从 DOUYIN_API_KEY 更新为 DASHSCOPE_API_KEY

v1.1.0 - 2025-XX-XX

  • 🐛 问题修复:修复提取视频时文件名过长导致的错误

v1.0.0 - 2025-XX-XX

  • 🎉 首次发布:初始版本
  • 核心功能:支持抖音视频文本提取
  • 🔗 链接获取:支持获取无水印视频下载链接
  • 🔐 环境配置:从环境变量读取 API 密钥
  • 🧹 自动清理:自动清理临时文件
  • ⚙️ 灵活配置:支持自定义 API 配置

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dy_xhs_mcp_server-1.3.4.tar.gz (131.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dy_xhs_mcp_server-1.3.4-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

File details

Details for the file dy_xhs_mcp_server-1.3.4.tar.gz.

File metadata

  • Download URL: dy_xhs_mcp_server-1.3.4.tar.gz
  • Upload date:
  • Size: 131.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for dy_xhs_mcp_server-1.3.4.tar.gz
Algorithm Hash digest
SHA256 9c7e018d01fd60f296d124110907d41a10ed13cf4500bbdf86291583ac45a5d8
MD5 856655e579a06cb1da7dbacaf850e563
BLAKE2b-256 ff89b1d9ce15487b7c9a58a5e4c5b400f04551c9a4e9ce2a2e880c079e8e9c99

See more details on using hashes here.

File details

Details for the file dy_xhs_mcp_server-1.3.4-py3-none-any.whl.

File metadata

File hashes

Hashes for dy_xhs_mcp_server-1.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d9a2948296a9bb6e9569b051b342aa49efb4f65cb1273fc2c8196ffb97e1a1ab
MD5 3cb04053b6ddd5188030c8f6ef47d69e
BLAKE2b-256 16b9bc0b7837db7a5919ffacd134bfdcfea653dd6066f62c153b8a86bb7bc98c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page