linkdigest-mcp
模型与 MCP 活跃维护

linkdigest-mcp

jcaiagent7143-ui/linkdigest-mcp

轻量级MCP服务,支持小红书、抖音、TikTok、YouTube、X平台链接解析,可提取字幕、画面文字、图片描述、文案及元数据,输出结构化文本适配大模型输入,开箱即用。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
Python
主要语言
MIT
开源协议
30 KB
仓库大小
15 天前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:jcaiagent7143-ui/linkdigest-mcp
git clone https://github.com/jcaiagent7143-ui/linkdigest-mcp.git
git clone git@github.com:jcaiagent7143-ui/linkdigest-mcp.git
README.md main

LinkDigest MCP server

Turn a social media link into text a language model can read — transcript,
on-screen text, image descriptions, caption and metadata
.

Hosted, remote (streamable HTTP). Nothing to install or run.

Website: linkdigest.dev · Registry: dev.linkdigest/linkdigest

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 -s 'https://xhslink.com/o/1WiQ1QI6Uc0' | grep -o '<title>.*</title>'
<title>小红书</title>

That is the whole page. No caption, no images, no text.

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_..." }
    }
  }
}

A key is issued at linkdigest.dev/app/keys.
Three digests are free, no card.

The tool

digest_url(url, format, job_id) — 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.

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, images ({description, ocr}), key_points, raw_markdown,
source_url, transcript_source, degraded.

Two are worth knowing about:

  • transcript_sourcenative_captions, asr, or none. Captions the
    platform already published are exact; speech recognition is not. Treating them
    identically eventually quotes a mis-heard number back at someone as fact.
  • degraded — what did not fully work, in plain words. Empty on a clean run.
    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 (图文)
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
Web pages / articles Works — readable article text, title, author, date
Bilibili Not supported. Returns HTTP 412 to our server's address. Needs a proxy
Instagram Not verified. Wired, not confirmed end to end
Facebook 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

  • Chinese speech is transcribed with SenseVoice, which is materially more
    accurate on Mandarin than Whisper-class models.
  • 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.

Dify

The same tool as a Dify plugin lives in dify/ — source, manifest and privacy policy. Install it from the Dify Marketplace and paste your API key into the provider credential.

Also available

A REST API (POST https://linkdigest.dev/api/v1/digest), a web app, and Apify
Store actors for bulk runs. See linkdigest.dev.