Wanyi Watermark Remover
This MCP server extracts watermark-free videos and images from Douyin (抖音/TikTok) and Xiaohongshu (小红书/RED) share links, with AI-powered transcription capabilities.
Core Functions:
Parse Douyin links - Extracts watermark-free videos or images with automatic content type detection, returning structured data with title, caption, and download URLs
Parse Xiaohongshu links - Extracts watermark-free videos or images in dual formats (WebP for lightweight, PNG for high-quality)
Extract Douyin video text - Transcribes speech to text using Alibaba Cloud's Dashscope API with customizable speech recognition models (default: paraformer-v2)
Parse generic links - Universal fallback parser for unsupported platforms, attempting extraction using generic logic
Key Features:
No API key required for basic parsing and resource extraction (only transcription needs DASHSCOPE_API_KEY)
Automatic content type detection (video vs. image)
Automatic fallback mechanism when platform-specific parsing fails
Returns structured JSON with platform, title, caption, and direct media URLs
Legal compliance focus with extensive disclaimers about intellectual property rights and user responsibility
Extracts watermark-free videos and images from Xiaohongshu (Little Red Book) share links, with automatic content type detection and dual-format image support (WebP and PNG).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Wanyi Watermark Removerextract the video from this Douyin link without watermark"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
抖音/小红书无水印资源提取 - 百分百一键去水印 - MCP 服务器
基于 Model Context Protocol (MCP) 的视频链接解析与媒体资源提取服务器,可以从抖音和小红书分享链接中提取无水印视频和图片,并支持文本转写功能。
📋 项目声明
官方文档地址: https://github.com/Ryan7t/wanyi-watermark
请以本项目的 README.md 文件为准,了解项目的功能特性、使用方法、API 配置说明等详细信息。
重要提醒: 第三方平台如因自身 MCP Server 功能支持度限制而无法正常使用,请联系相应平台方。本项目不提供任何形式的技术支持或保证,用户需自行承担使用本项目可能产生的任何损失或损害。
法律声明:
本项目基于 Apache 2.0 协议发布
本项目仅供学习和研究使用,不得用于任何违法或违规目的
本项目的使用必须遵守相关法律法规
本项目的作者和贡献者不对项目的任何部分承担法律责任
Related MCP server: MCP Video Extraction Plus
✨ 功能特性
核心能力
🔗 智能链接解析 - 自动识别抖音/小红书分享链接,解析真实视频地址
📹 无水印视频提取 - 获取高清无水印视频直链,支持直接下载
🖼️ 图片资源提取 - 支持图文笔记解析,提供多格式图片(WebP轻量/PNG高清)
📝 视频文本转写 - 基于AI语音识别,从视频中提取文字内容(支持阿里云百炼 / 硅基流动 SenseVoice 双后端)
🧭 WebUI 可视化体验 - 支持图集预览、拖拽缩放、渐进式高清预览和媒体代理播放/下载
🌐 通用平台兜底 - 遇到未适配平台时,自动尝试通用解析机制
技术特点
✅ 链接解析无需密钥 - 视频/图片资源提取完全免费,无需任何 API 配置
✅ 智能类型识别 - 已适配平台一次抓取页面后自动判断视频/图文,无需手动指定
✅ 多格式支持 - 小红书图文提供 WebP(快速预览)和 PNG(高清编辑)双格式
✅ 解析性能日志 - WebUI 点击解析后会在浏览器控制台和后端控制台输出中文耗时日志
✅ 高精度文本转写 - 支持阿里云百炼 (paraformer-v2) 与硅基流动 (SenseVoice) 双后端,通过环境变量或参数切换
✅ 多平台兼容 - 支持抖音、小红书,并提供通用解析兜底机制
🚀 快速开始
步骤 1:获取 API 密钥
方案 A(默认):前往 阿里云百炼 API 获取 DASHSCOPE_API_KEY
方案 B(可选):前往 硅基流动 获取 SILICONFLOW_API_KEY(会下载视频并用 ffmpeg 抽音频,已内置 imageio-ffmpeg 兜底)
链接解析和资源提取无需任何 API 密钥,仅文本转写功能需要。
步骤 2:配置环境变量
在 Claude Desktop、Cherry Studio 等支持 MCP Server 的应用配置文件中添加以下配置:
{
"mcpServers": {
"wanyi-watermark": {
"command": "uvx",
"args": ["wanyi-watermark"],
"env": {
"DASHSCOPE_API_KEY": "sk-xxxx",
"SILICONFLOW_API_KEY": "sk-xxxx (可选)",
"ASR_BACKEND": "dashscope"
}
}
}
}
ASR_BACKEND可选dashscope(默认,URL 直传无需 ffmpeg)或siliconflow(需下载视频并用 ffmpeg 提取音频,系统无 ffmpeg 时使用imageio-ffmpeg内置二进制)。
步骤 3:开始使用
配置完成后,您就可以在支持的应用中正常调用 MCP 工具了。
⚙️ API 配置说明
转写后端选择(>= 1.2.0)
后端 | 环境变量 | 优势 | 要求 |
dashscope(默认) |
| URL 直传、无需本地 ffmpeg、服务端异步长音频 | 阿里云百炼 API |
siliconflow |
| 支持离线模型、大文件自动分段(>1h/50MB),系统无 ffmpeg 时使用 | 硅基流动 API + ffmpeg |
通过 ASR_BACKEND 环境变量(或 CLI --backend / WebUI 请求字段)切换。优先级:显式参数 > 环境变量 > 默认 dashscope。
注意: API 密钥仅用于视频文本转写功能,链接解析和资源提取无需密钥。
🛠️ 工具说明
主要工具
parse_douyin_link
解析抖音分享链接,自动识别视频/图文类型并返回无水印资源。
参数:
share_link(string): 抖音分享链接或包含链接的文本
返回:
视频类型:JSON 格式的无水印视频下载链接和视频信息
图文类型:JSON 格式的图片列表和笔记信息
特点:
✅ 无需 API 密钥
✅ 一次页面解析后自动识别内容类型
✅ 失败时自动尝试通用解析
parse_xhs_link
解析小红书分享链接,自动识别视频/图文类型并返回无水印资源。
参数:
share_link(string): 小红书分享链接或包含链接的文本
返回:
视频类型:JSON 格式的无水印视频下载链接和视频信息
图文类型:JSON 格式的图片列表(同时提供 WebP 和 PNG 两种格式)
特点:
✅ 无需 API 密钥
✅ 一次页面解析后自动识别内容类型
✅ 直接使用页面提供的视频主链,不再进行旧版质量码改写或阻塞式二次探测
✅ 图文笔记提供双格式图片(WebP轻量 + PNG高清)
parse_generic_link
通用平台链接解析,适用于未明确支持的平台或作为备用方案。
参数:
share_link(string): 任意平台的分享链接或包含链接的文本
返回:
包含资源链接和信息的 JSON 字符串
特殊功能
extract_douyin_text
从抖音视频中提取语音文本内容。
参数:
share_link(string): 抖音分享链接或包含链接的文本model(string, 可选): 语音识别模型,默认按后端自动选择
环境变量要求:
DASHSCOPE_API_KEY: 阿里云百炼 API 密钥(默认后端)SILICONFLOW_API_KEY: 硅基流动 API 密钥(可选后端)ASR_BACKEND: 切换后端,可选dashscope/siliconflow
📦 系统要求
运行环境
Python: 3.10 或更高版本
依赖库
mcp- Model Context Protocol 支持requests- HTTP 请求处理ffmpeg-python- 音视频处理tqdm- 进度条显示dashscope- 阿里云百炼 API 客户端
🔧 本地开发
克隆仓库
git clone https://github.com/Ryan7t/wanyi-watermark.git
cd wanyi-watermark安装依赖(开发模式)
pip install -e .运行测试
# 启动服务器
python -m wanyi_watermark
# 测试抖音链接解析
python -m wanyi_watermark.douyin_processor "<抖音分享链接>"
# 测试小红书链接解析
python -m wanyi_watermark.xiaohongshu_processor "<小红书分享链接>"
# 启动 WebUI(默认 http://localhost:8080)
python web/app.pyWebUI 调试说明
点击"获取信息"后,浏览器 Console 会输出一次解析流程的中文耗时表。
后端控制台会输出同一追踪 ID 的解析链路日志,可定位平台识别、页面请求、JSON 解析、资源提取等阶段耗时。
日志级别可通过
WANYI_WEB_LOG_LEVEL调整,默认INFO。图集预览会先使用已加载的 WebP 缩略图即时打开,后台加载 PNG/原图后自动替换为高清图;预览支持拖拽、滚轮缩放、双指缩放和复位。
Claude Desktop 本地开发配置
{
"mcpServers": {
"wanyi-watermark": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/wanyi-watermark",
"python",
"-m",
"wanyi_watermark"
],
"env": {
"DASHSCOPE_API_KEY": "your-api-key-here",
"SILICONFLOW_API_KEY": "your-key-here (可选)",
"ASR_BACKEND": "dashscope"
}
}
}
}⚠️ 免责声明
使用风险
使用者对本项目的使用完全自主决定,并自行承担所有风险
作者对使用者因使用本项目而产生的任何损失、责任或风险概不负责
法律合规
使用者必须自行研究相关法律法规,确保使用行为合法合规
任何违反法律法规导致的法律责任和风险,均由使用者自行承担
禁止使用本工具从事任何侵犯知识产权的行为
开发者不参与、不支持、不认可任何非法内容的获取或分发
责任限制
使用者不得将项目作者、贡献者或相关方与使用行为联系起来
不得要求作者对使用项目产生的任何损失或损害负责
基于本项目的二次开发、修改或编译程序与原作者无关
⚠️ 重要提醒:在使用本项目前,请认真阅读并完全理解上述免责声明。如有疑问或不同意任何条款,请勿使用本项目。继续使用即视为完全接受上述声明并自愿承担所有风险和后果。
📄 许可证
Apache License 2.0
👨💻 作者
wanyi
Email: 2368077712@qq.com
GitHub: @Ryan7t
🤝 贡献
欢迎提交 Issue 和 Pull Request!
🙏 致谢
本项目基于 douyin-mcp-server 进行二次开发,感谢原作者的贡献。
📝 更新日志
1.2.0 - 2026-06-05
⚡ 优化抖音/小红书解析链路:已适配平台改为一次抓取后判断视频/图文,减少图文场景重复请求。
⚡ 移除小红书旧版 114 质量码改写和阻塞式 HEAD 探测,直接使用页面提供的视频主链。
🧪 增加 WebUI 前后端中文耗时日志,便于定位解析卡点。
🖼️ 改进 WebUI 图集灯箱:支持拖拽/缩放/双指缩放,并采用"缩略图即时打开 + 高清图后台替换"。
v1.0.0 (2025-01-23)
🎉 首次发布
✨ 支持抖音视频/图文解析
✨ 支持小红书视频/图文解析
✨ 通用平台兜底解析机制
✨ 视频文本转写功能
🔧 品牌化为"百分百一键去水印"
Available Tools
4 toolsextract_douyin_textA
从抖音分享链接提取视频中的文本内容
参数:
- share_link: 抖音分享链接或包含链接的文本
- model: 语音识别模型(可选,默认使用paraformer-v2)
返回:
- 提取的文本内容
注意: 需要设置环境变量 DASHSCOPE_API_KEY
| Name | Required | Description | Default |
|---|---|---|---|
| share_link | Yes | ||
| model | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It reveals the tool performs extraction (likely involving video processing and speech recognition), mentions an optional model parameter with default, and discloses the API key requirement. However, it doesn't describe rate limits, error conditions, processing time, or what happens with invalid links. The behavioral information is basic but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, parameters, return, note) and appropriately sized. Each sentence adds value: the purpose statement, parameter explanations, return specification, and environment requirement. It's front-loaded with the core functionality. Minor improvement could be making the purpose statement slightly more distinctive from siblings.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters (1 required), 0% schema description coverage, no annotations, but has an output schema, the description provides good contextual coverage. It explains both parameters' semantics, mentions the return value, and discloses the API key requirement. The output schema existence means the description doesn't need to detail return structure. For a tool of this complexity, it's reasonably complete though could benefit from more behavioral context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant semantic value beyond the 0% schema description coverage. It explains that share_link accepts '抖音分享链接或包含链接的文本' (Douyin share link or text containing link), clarifying it's not just a URL but can include surrounding text. For the model parameter, it specifies '语音识别模型' (speech recognition model) with default 'paraformer-v2', explaining its purpose when the schema only shows it as optional string/null. This compensates well for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '从抖音分享链接提取视频中的文本内容' (extract text content from Douyin video share links). It specifies the verb '提取' (extract) and resource '文本内容' (text content) from Douyin videos. However, it doesn't explicitly differentiate from sibling tools like parse_douyin_link, which might parse metadata rather than extract text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through the parameter explanation and note about API key requirements, but doesn't explicitly state when to use this tool versus alternatives like parse_douyin_link or parse_generic_link. The mention of '需要设置环境变量 DASHSCOPE_API_KEY' (requires setting DASHSCOPE_API_KEY environment variable) provides some prerequisite guidance, but no explicit when/when-not instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_douyin_linkA
解析抖音分享链接,自动识别视频或图文类型并返回无水印资源
参数:
- share_link: 抖音分享链接或包含链接的文本
返回:
- 包含资源链接和信息的JSON字符串
- 自动识别类型(video/image)并返回相应格式
- 调用完成后,请将结果整理为以下纯文本格式并反馈给用户(禁止使用Markdown):
标题(如无则留空):
文案:
视频/图片链接:
- 返回时请保留完整的标题和文案,不要省略或截断任何内容
- 若专用解析失败,将自动尝试 generic 兜底逻辑;调用方需同样按上述格式反馈结果
- 抖音仅返回 caption 字段,标题需由调用方自行按需补充
| Name | Required | Description | Default |
|---|---|---|---|
| share_link | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: automatic type detection (video/image), returns JSON with resource links and info, includes fallback to generic logic on failure, and specifies output formatting requirements (plain text with specific fields). It also notes that Douyin only returns caption fields, and titles need to be supplemented by the caller. However, it doesn't cover potential rate limits, authentication needs, or error handling details beyond the fallback mention.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized but not optimally structured. It front-loads the core purpose but mixes parameter details, return format instructions, and behavioral notes in a somewhat dense paragraph. Sentences like '调用完成后,请将结果整理为以下纯文本格式并反馈给用户(禁止使用Markdown)' are verbose and could be streamlined. However, all content is relevant, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 1 parameter, no annotations, and an output schema (implied by '返回' details), the description is mostly complete. It covers purpose, parameter semantics, return format, and key behaviors like fallback logic. The output schema existence means it doesn't need to fully explain return values, but it still provides useful formatting instructions. Minor gaps include lack of error details or performance considerations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage, so the description must compensate. It adds meaningful semantics: 'share_link: 抖音分享链接或包含链接的文本' (Douyin share link or text containing a link), clarifying that the parameter can accept either a raw link or embedded text. This goes beyond the schema's basic 'string' type, though it doesn't detail format constraints like URL patterns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '解析抖音分享链接,自动识别视频或图文类型并返回无水印资源' (parse Douyin share links, automatically identify video or image/text types, and return watermark-free resources). It specifies the exact resource (Douyin share links) and distinguishes from siblings like parse_xhs_link (for Xiaohongshu) and parse_generic_link (generic fallback).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: for parsing Douyin share links to get watermark-free resources. It mentions that if dedicated parsing fails, it will try generic fallback logic, implying parse_generic_link as an alternative. However, it doesn't explicitly state when NOT to use it versus siblings like extract_douyin_text (which might handle text extraction differently).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_generic_linkA
解析任意短视频/图文链接,直接启用 generic 兜底逻辑。
参数:
- share_link: 任意平台的分享链接或包含链接的文本(抖音/小红书亦可传入)
返回:
- 包含资源链接和信息的JSON字符串
- 输出字段与其它工具一致:platform/title/caption/url
- 调用完成后,请将结果整理为以下纯文本格式并反馈给用户(禁止使用Markdown):
标题(如无则留空):
文案:
视频/图片链接:
- 请完整保留标题与文案的全部内容,不要省略或截断
- 若未能解析,将返回错误说明(可能原因:页面无直链、需要登录等)
| Name | Required | Description | Default |
|---|---|---|---|
| share_link | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well. It discloses: 1) output format requirements ('整理为以下纯文本格式并反馈给用户'), 2) content preservation rules ('完整保留标题与文案的全部内容'), 3) error conditions ('若未能解析,将返回错误说明'), and 4) formatting restrictions ('禁止使用Markdown'). It doesn't mention rate limits or authentication needs, but covers key behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, parameters, returns, formatting instructions). Every sentence adds value: the opening states purpose, parameter section explains input, return section details output format and formatting rules. It could be slightly more concise in the formatting instructions but remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 1 parameter with 0% schema coverage and no annotations, the description provides complete context. It explains what the tool does, when to use it, parameter semantics, output format, formatting requirements, content handling rules, and error conditions. The existence of an output schema means it doesn't need to detail return structure, and it appropriately focuses on usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage (schema only has title 'Share Link'), the description fully compensates. It explains the parameter accepts '任意平台的分享链接或包含链接的文本' (any platform's share link or text containing links) and specifically mentions '抖音/小红书亦可传入' (Douyin/Xiaohongshu can also be passed). This adds crucial semantic context beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '解析任意短视频/图文链接' (parse any short video/image-text link) with 'generic 兜底逻辑' (generic fallback logic). It specifically distinguishes from siblings by handling '任意平台' (any platform) including Douyin/Xiaohongshu, unlike the sibling tools which are platform-specific (extract_douyin_text, parse_douyin_link, parse_xhs_link).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: '直接启用 generic 兜底逻辑' (directly enable generic fallback logic), implying this should be used as a fallback when platform-specific tools aren't appropriate. It mentions specific platforms (抖音/小红书) that can be handled, and the sibling tool names clearly show this is the generic alternative to platform-specific parsers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_xhs_linkA
解析小红书分享链接,自动识别视频或图文类型并返回无水印资源
参数:
- share_link: 小红书分享链接或包含链接的文本
返回:
- 包含资源链接和信息的JSON字符串
- 自动识别类型(video/image)并返回相应格式
- 调用完成后,请将结果整理为以下纯文本格式并反馈给用户(禁止使用Markdown):
标题(如无则留空):
文案:
视频/图片链接:
- 返回时请保留完整的标题和文案,不要省略或截断任何内容
- 若专用解析失败,将自动尝试 generic 兜底逻辑;调用方需同样按上述格式反馈结果
- 抖音仅返回 caption 字段,标题需由调用方自行按需补充
| Name | Required | Description | Default |
|---|---|---|---|
| share_link | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It thoroughly describes key behaviors: automatic type detection (video/image), fallback to generic parsing on failure, output format requirements (pure text with specific fields), and instructions to preserve full content without truncation. This covers operational traits beyond basic functionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized but not optimally structured. It front-loads the core purpose but includes extensive formatting instructions in the middle, which could be separated. Some sentences, like the note about Douyin's caption field, are relevant but slightly disrupt flow. Overall, it's clear but could be more streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (parsing, type detection, fallback logic) and no annotations, the description provides comprehensive context. It covers purpose, usage, behavior, parameters, and output handling. With an output schema present, it appropriately focuses on operational details rather than return value specifics, making it complete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the single parameter 'share_link' as '小红书分享链接或包含链接的文本' (Xiaohongshu share link or text containing a link), adding semantic context about acceptable input formats. However, it does not detail constraints like link validation or examples, leaving some gaps in parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '解析小红书分享链接,自动识别视频或图文类型并返回无水印资源' (Parse Xiaohongshu share links, automatically identify video or graphic types and return watermark-free resources). It specifies the verb ('parse'), resource ('Xiaohongshu share links'), and distinguishes from siblings by focusing on Xiaohongshu specifically, unlike generic or Douyin-focused tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: for parsing Xiaohongshu links to extract resources. It implies alternatives by mentioning '若专用解析失败,将自动尝试 generic 兜底逻辑' (if dedicated parsing fails, it will automatically try generic fallback logic), which suggests generic_link as a fallback, but does not explicitly name when to choose this tool over siblings like parse_douyin_link or extract_douyin_text. No explicit exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v1.0.0- Added
extract_douyin_text - Changed
parse_douyin_link1 field changed- added
Input schema / titleAdded value: +"parse_douyin_linkArguments"
- Changed
parse_generic_link1 field changed- added
Input schema / titleAdded value: +"parse_generic_linkArguments"
- Added
parse_xhs_link
2 tool updates
- First observed
parse_douyin_link - First observed
parse_generic_link
TDQS
Scored across 4 tools
The tools are mostly distinct with clear platform-specific purposes: extract_douyin_text focuses on text extraction, while parse_douyin_link, parse_xhs_link, and parse_generic_link handle resource parsing for different platforms. However, parse_generic_link overlaps with the platform-specific tools as a fallback, which could cause confusion about when to use it versus the dedicated tools.
All tool names follow a consistent verb_noun pattern with snake_case, using 'extract' or 'parse' as verbs and specifying the target (e.g., douyin_text, douyin_link, xhs_link, generic_link). This makes the naming predictable and easy to understand across the set.
With 4 tools, the count is well-scoped for the server's purpose of watermark removal and content extraction from social media links. Each tool serves a clear function without being excessive or insufficient for the domain.
The tool set covers key operations for parsing links and extracting text from major platforms like Douyin and Xiaohongshu, with a generic fallback. A minor gap is the lack of tools for other common platforms (e.g., TikTok, Instagram) or advanced features like batch processing, but core workflows are adequately supported.
Maintenance
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
Turn a TikTok/Instagram/YouTube link into text for your AI: metadata, transcript and image OCR.
Get transcripts from YouTube, TikTok, X, Instagram and more - even when captions are off.
Any video URL to LLM-ready transcript. ASR built in, no captions needed. TikTok, X, TED and more.
Transcribe public videos & audio (YouTube, TikTok, IG) into accurate, timestamped text via API.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables downloading watermark-free videos from Douyin (TikTok China) share links, extracting audio, and converting speech to text using AI voice recognition APIs.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables video text extraction using multiple speech recognition providers including local Whisper, JianYing/CapCut, and Bilibili Cut services. Supports video downloading, audio extraction, and automatic speech-to-text transcription with configurable providers.7MIT
- AlicenseNot gradedqualityDmaintenanceEnables parsing Douyin video information, downloading videos without watermark, and transcribing speech to text using Tencent Cloud ASR.Apache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables link type detection, video downloading, metadata extraction, and transcript generation across 16+ platforms including YouTube, Bilibili, and WeChat Channels. Supports automatic subtitle extraction and optional Whisper speech-to-text for videos without captions.2MIT