LinkDigest — Xiaohongshu, Douyin, TikTok, YouTube to text
Overview
Description from the maker (original English)
Douyin, Xiaohongshu, TikTok, YouTube, X links to text: transcript, screen text, viral breakdown
PopNx MCP’s three pillars
These three are never merged into one score: opinions, measurements and popularity are different things.
- User voiceiNo reviews yetReviews open together with accounts in a later step
- Our basic checksi3 of 3 passedChecked from public information; code not scanned yet
- UsageiVery new↓ 20/wk · ★ –
What you can do with it
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
- Connection: Computer or cloud
- Transport: stdio, Streamable HTTP
- Category: Marketing & social media
- You need to fill in: Authorization
Install
Pick the AI app you use, then copy the settings.
Before you install
- Basic checks: 3 of 3 passed
- Runs on the maker’s server: what you ask it goes through their server.
- Can do 5 things (tools) digest_url, compare_links, check_balance, list_batches …
- You fill in yourself:
Authorization
Values marked secret are keys to your account. Never share them or paste them into a chat.
You need
- Runs in the cloudNothing to install; it connects over the internet
- PyPIPython’s uv installed (for the uvx command)
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Or run it on your computer
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"linkdigest": {
"command": "uvx",
"args": [
"linkdigest-mcp"
]
}
}
}Run this in your terminal
claude mcp add --transport http linkdigest https://linkdigest.dev/mcp --header 'Authorization: your-value'Or run it on your computer
claude mcp add linkdigest -- uvx linkdigest-mcpFill in the empty values before running it.
Or copy the settings yourself
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"linkdigest": {
"url": "https://linkdigest.dev/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Or run it on your computer
Or copy the settings yourself
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"linkdigest": {
"command": "uvx",
"args": [
"linkdigest-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Or copy the settings yourself
Paste into .vscode/mcp.json in your project
{
"servers": {
"linkdigest": {
"type": "http",
"url": "https://linkdigest.dev/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Or run it on your computer
Or copy the settings yourself
Paste into .vscode/mcp.json in your project
{
"servers": {
"linkdigest": {
"type": "stdio",
"command": "uvx",
"args": [
"linkdigest-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Values you fill in
Authorizationsecret required HTTP headerBearer token — an API key issued at https://linkdigest.dev/app/keys
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
What it can do
Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.
digest_urlRead what a social media link actually says. Works on Xiaohongshu, Douyin, Weibo, TikTok, YouTube, X, Instagram, Bilibili, podcast episodes (小宇宙, Apple Podcasts) and ordinary web pages. Returns the post's transcript with times, on-screen text, the text in every image, caption and
compare_linksRead a set of Xiaohongshu, Douyin, Weibo, TikTok, YouTube or X links as one batch and write one comparison over them (批量综合): the themes, hooks, formats and claims they share, the objections readers raise and the gaps none of them cover, every example naming which link it came fro
check_balanceHow many credits this API key has left, what each kind of read costs, and where to buy more (links need no sign-in; the credit pack takes Alipay). Without a key it returns the prices and how to get a key. Call it before a batch of reads, or when digest_url says credits ran out.
list_batchesThe last batches on this API key, newest first — including the ones the browser extension's “Digest the notes on this page” button started from the user's own Xiaohongshu or Douyin tab. Each line: batch_id, label, created, status done/total, credits, synthesis (ready, pending, fa
search_linksFind posts on a topic on xiaohongshu, douyin, youtube, x, web (web search scoped to the platform, filtered to links digest_url can read). A search that finds posts costs 4 credits on douyin and xiaohongshu, 1 elsewhere; nothing found is free. Searching is metered by credits, not
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
- ✓ Pass
Maker matches the repo
The registry name was verified against the domain linkdigest.dev (the registry checks domain ownership)
- … Not checked yet
Still maintained
We have not read this repo from GitHub yet
- … Not checked yet
Has a licence
We have not read this repo from GitHub yet
- ✓ Pass
Endpoint responds
Responded in 260 ms (HTTP 200)
- – Not applicable
Sign-in with OAuth
No sign-in needed
- ✓ Pass
No hidden instructions in tool descriptions
Read 5 tool descriptions and found no hidden instructions to the AI
Compared with others in Marketing & social mediai
- More stars than 0% of the other 3597 servers in this category
- Published to the registry more recently than 68% of the other 3597 servers in this category
- Basic checks equal to or better than 100% of the other 3597 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is LinkDigest — Xiaohongshu, Douyin, TikTok, YouTube to text safe?
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
You need to fill in: Authorization
Does it run on my computer or in the cloud?
Either way works: install it on your computer or connect to the cloud version.
Is it still maintained?
The GitHub repo last changed –, and the latest version (1.0.9) reached the registry 16 days ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
What can I use instead?
In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
Alternatives
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Google Analytics MCP
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
BibiGPT YouTube Video Summarizer
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
LinkDigest MCP server
中文文档:[README.zh-CN.md](README.zh-CN.md) — 抖音、小红书链接转文本,MCP / Python SDK / 命令行,价格以人民币标注。
The social media reading layer for AI agents: turn a social media link into text a language model can read — transcript, on-screen text, image descriptions, caption and metadata, with quotes checked against the post.
A Chinese social media API for AI agents: Xiaohongshu (RedNote, 小红书), Douyin (抖音), Weibo (微博), WeChat Official Account articles (公众号), Bilibili and 小宇宙 / Apple Podcasts episodes — plus TikTok, YouTube, X and Instagram — read into timed transcripts, OCR of every image and frame, top comments and key points with checked quotes. No Chinese phone number, account or cookies. Not read today: Zhihu, Kuaishou. Overview: linkdigest.dev/china-social-media-api.
# A Douyin video's spoken script (文案), 1 credit per started 2 minutes
curl -X POST https://linkdigest.dev/api/v1/digest -H "Authorization: Bearer ld_live_..." \ -H "Content-Type: application/json" -d '{"url": "https://v.douyin.com/xxxxxxx/", "depth": "script"}'
Hosted, remote (streamable HTTP). Nothing to install or run. For stdio-only clients and scripts, python/ adds a zero-dependency Python SDK, a linkdigest command line and a linkdigest-mcp stdio server that forwards to the hosted endpoint.
Website: linkdigest.dev · Registry: dev.linkdigest/linkdigest
*Every digest comes with a receipt — how much was read, and a checked quote behind each key point. Works from Muse, Grok Bot, Manus Cue, Hermes, OpenClaw, Claude Code and Cursor: see linkdigest.dev/connect. No key needed for a first look.*
What this repository contains
The open parts: the Python SDK, the linkdigest command line and the linkdigest-mcp stdio server (python/, MIT), the Dify plugin source (dify/), the agent skill (skills/), examples, and the official MCP registry entry (server.json). The hosted service behind https://linkdigest.dev/mcp and the API is operated by LinkDigest; its reading engine is not open source.
The problem
Fetching a social link yourself returns nothing useful. Share URLs are tokenised (xsec_token, app_code_link), the content lives in video and images rather than HTML, and the server sends an app-download shell or a login wall instead of the post.
$ curl -sL 'https://xhslink.com/o/1WiQ1QI6Uc0' | grep -o '<title>.*</title>'
小红书 - 你的生活兴趣社区
That title belongs to a 36 KB app shell (checked 2026-10-04). No caption, no images, no text of the note.
Install
Claude Code
claude mcp add --transport http linkdigest \
https://linkdigest.dev/mcp \ --header "Authorization: Bearer ld_live_..."
Cursor, as a plugin — this repo is a Cursor plugin (.cursor-plugin/plugin.json + mcp.json + skills/). Install it from cursor.directory, then set the key once in your shell:
export LINKDIGEST_API_KEY=ld_live_...
The plugin's mcp.json reads ${LINKDIGEST_API_KEY}; no key is stored in the repo. Without it, the tool still lists and tools/call returns a 401 that says where to get one.
Cursor, by hand — ~/.cursor/mcp.json
{
"mcpServers": { "linkdigest": { "url": "https://linkdigest.dev/mcp", "headers": { "Authorization": "Bearer ld_live_..." } } } }
stdio-only clients — through mcp-remote (Node.js):
{
"mcpServers": { "linkdigest": { "command": "npx", "args": ["-y", "mcp-remote", "https://linkdigest.dev/mcp", "--header", "Authorization:${AUTH_HEADER}"], "env": { "AUTH_HEADER": "Bearer ld_live_..." } } } }
or through the Python server, published on PyPI as linkdigest-mcp (built and uploaded by this repo's release workflow, with attestations; needs uv):
{
"mcpServers": { "linkdigest": { "command": "uvx", "args": ["linkdigest-mcp"], "env": { "LINKDIGEST_API_KEY": "ld_live_..." } } } }
A key is issued at linkdigest.dev/app/keys. 10 free credits to start, once per account, no card. A post is one credit; video adds one per started minute; a viral breakdown or a translation adds one each. Then $5 once for 250 credits (Alipay accepted, settled as ¥36) or $9 a month for 500 (card).
Agent skills (OpenClaw, Hermes, Claude Code, Cursor and others)
Eleven ready-made skills live in skills/. Each is one job, a SKILL.md plus one script that uses only the Python standard library. No key needed for a first look: without LINKDIGEST_API_KEY the script gives one free summary a day; with a key (10 free credits on sign-up, no card) it returns the full transcript and per-image text.
| Skill | Job |
|---|---|
xiaohongshu-note-to-text | 小红书笔记转文字: a Xiaohongshu note, the text in every image, caption, stats |
douyin-video-to-text | 抖音视频转文字: a Douyin video's spoken words, on-screen text, chapters |
douyin-search-to-text | 抖音搜索转文字: search Douyin by topic (free), then read the videos you pick |
tiktok-transcript | A TikTok video's transcript with timestamps and captions |
long-video-transcript | 长视频转文字: lectures and podcasts up to 2 h, 1 credit per 2 minutes |
linkdigest-xhs-note-ocr | Xiaohongshu image notes, with the text inside every image |
linkdigest-video-transcript | Douyin / Xiaohongshu video to transcript and on-screen text |
linkdigest-wechat-article-reader | WeChat 公众号 articles: full text and every image's text |
linkdigest-youtube-summary | YouTube summary and timed transcript, translated to Chinese on request |
linkdigest-xiaohongshu-douyin-reader | Read Xiaohongshu / Douyin posts in English |
linkdigest-viral-breakdown | How a viral post is built, with quotes checked against the source |
linkdigest-script-rewrite | Extract a reference video's script and structure, then write your own |
# Any agent the skills CLI supports (Claude Code, Cursor, Codex, OpenClaw, Trae, Qwen Code, ...)
npx skills add jcaiagent7143-ui/linkdigest-mcp --skill xiaohongshu-note-to-text
Hermes Agent
hermes skills install jcaiagent7143-ui/linkdigest-mcp/skills/xiaohongshu-note-to-text hermes skills install clawhub/linkdigest-xhs-note-ocr # or from ClawHub
OpenClaw (ClawHub)
clawhub install jackchew7143/linkdigest-xhs-note-ocr
The tool
digest_url(url, format, job_id, translate_to, breakdown, ask, partial_ok, depth) — only url is required.
| Argument | Notes |
|---|---|
url | The post URL, including any share tokens. |
format | markdown (default, best for reading) or json (structured). |
job_id | Collect a digest already running. Pass this instead of url — re-sending the url would start the work again. |
breakdown | true adds a viral breakdown (爆款拆解): the hook in its first seconds, the structure as timed beats, the title formula, cover text, call to action, audience and a reusable template. Quotes are checked word for word against the post; engagement and hashtags come from the platform. +1 credit. |
translate_to | An ISO 639-1 code (en, ja, zh-CN): adds a translation beside the original, and writes the breakdown in that language. +1 credit. |
ask | A question to answer from the post ("what products and prices does it recommend?", "does the speaker say X?"). The answer comes with the quotes it rests on, each checked word for word against the post; found is false when the post does not say, and nothing is invented. +1 credit. |
partial_ok | true reads the opening minutes the budget affords instead of refusing a long video. |
You do not call it yourself. The tool description tells the agent to reach for it whenever it meets a social link it cannot read, so it happens mid-task without being asked.
A long video may not finish inside one call. When that happens the result names a job id; call the tool again with that job_id and no url to collect it.
What comes back
platform, author, title, posted_at, caption, transcript ({t, text}), ocr_text, on_screen ({t, text}), images ({description, ocr}), key_points, stats (likes, comments, saves, shares, plays), tags, raw_markdown, source_url, transcript_source, degraded — plus breakdown and translation when asked for.
Two are worth knowing about:
- `transcript_source` —
native_captions,asr,gemini_videoornone. Captions the platform already published are exact; speech recognition is not.gemini_videomeans a YouTube video without captions was watched by Gemini, which wrote the transcript and its times. Treating them identically eventually quotes a mis-heard number back at someone as fact. - `degraded` — what did not fully work, in plain words, plus notes on how a complete read was obtained (e.g. "read via oEmbed", "read by Gemini watching the video directly"). It exists because a digest once returned a well-formed, completely empty result during a provider outage and was cached for thirty days.
Platforms
Checked against real posts, not documentation.
| Platform | Status |
|---|---|
| Xiaohongshu 小红书 | Works — image notes and video notes, no login needed |
| Douyin 抖音 | Works — video posts and image notes (图文), through Douyin's own embed player |
| Weibo 微博 | Works (since 2026-11-01) — text, photos, video, counts, top comments, through Weibo's own visitor page; posts only followers can see are refused, not charged |
| WeChat 公众号 articles | Works — the full article, every image read |
| Bilibili | Works (since 2026-10-24) — videos and b23.tv short links, through Bilibili's own embed player |
| 小宇宙 / Apple Podcasts | Works (since 2026-10-29) — episode transcripts |
| TikTok | Works — short links resolve. Rate-limits under load |
| YouTube | Works — native captions where published, otherwise a watched transcript |
| X | Works — posts with video or images |
| Works (since 2026-10-24) — reels, and photo posts through Instagram's embed page (a carousel reads its first slide) | |
| Web pages / articles | Works — readable article text, title, author, date |
| Zhihu, Kuaishou | Not read yet |
| Not supported. Serves no post content to logged-out requests |
The rows that do not work are listed on purpose. Finding out after you have wired something in is worse than knowing now.
How long it takes
Measured, not estimated:
- Already-digested link: about 1 second — anything anyone has run before is cached, and cached links are free
- Xiaohongshu note with images: 1–2 minutes
- YouTube video with captions: about 2.5 minutes
Notes
- Speech is transcribed with Qwen3-ASR. It was kept over whisper-large-v3-turbo after a side-by-side on the same clips, where Whisper misheard Mandarin (创业 → 创意, 900人 → 酒派人).
transcriptis[{t, text}]. Platform captions are timed per line. Speech recognition currently returns one segment per ~170 s of audio (a single segment att: 0for a shorter clip);on_screencarries approximate, keyframe-level times.- Media is never stored or served. It is processed in a temporary directory deleted before the request returns; only the text digest is kept.
- A blocked or removed post returns an error, not a description of the error page.
Python SDK and command line
In python/: MIT, Python 3.10+, standard library only.
pip install linkdigest-mcp # PyPI; or from this repo: pip install "git+httOnly the beginning is shown; read the rest in the repo