LinkDigest — Xiaohongshu, Douyin, TikTok, YouTube to text

Xiaohongshu, Douyin, TikTok, YouTube, X links to text: transcript, on-screen text, images described

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~445Tokens (tool definitions)
~3.8 KBTypical response size
Minimal attention impact (0.35% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "linkdigest": {
      "url": "https://linkdigest.dev/mcp"
    }
  }
}

Remote endpoints

https://linkdigest.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (1)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢digest_url(url, job_id, format, partial_ok, translate_to)

Turn a social media URL into LLM-ready context. Works on Xiaohongshu, Douyin, TikTok, YouTube, X and ordinary web pages. Returns the post's transcript, on-screen text, image descriptions, caption and metadata — the things you cannot get by fetching the URL yourself, because these posts are video or images behind tokenised share links. Use this whenever you are given a social media link. Bilibili, Instagram and Facebook are not supported. A long video may not finish in one call: if the result names a job id, call this tool again with that job_id (and no url) to collect it.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The post URL, including any share tokens."
    },
    "job_id": {
      "type": "string",
      "description": "Collect a digest already running. Pass the job id from a previous call instead of url. Use this rather than re-sending the url, which would start the work again."
    },
    "format": {
      "type": "string",
      "enum": [
        "markdown",
        "json"
      ],
      "description": "markdown (default, best for reading) or json (structured)."
    },
    "partial_ok": {
      "type": "boolean",
      "description": "Read the opening minutes the budget affords instead of refusing a video over max_credits or the plan's length cap. Default false: a long video is refused and costs nothing. When true, the digest carries `partial` (read_seconds, duration_seconds, full_credits)."
    },
    "translate_to": {
      "type": "string",
      "pattern": "^[a-z]{2}(-[A-Z]{2})?$",
      "description": "Also translate the digest into this language: an ISO 639-1 code, optionally with a region (en, ja, zh-CN). The original-language text is always returned; the translation is added alongside it under `translation` (title, caption, key points, transcript text, on-screen text, image descriptions) — visible in json format. Machine translation. Costs the digest's price plus 1 credit; a repeat of the same url and language is served from cache for free."
    }
  },
  "required": [
    "url"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded1 tools
verifiedversion not recorded1 tools