protogrid

Search / dev.linkdigest/linkdigest

LinkDigest — Xiaohongshu, Douyin, TikTok, YouTube to text

R1· needs a key

Douyin, Xiaohongshu, TikTok, YouTube, X links to text: transcript, screen text, viral breakdown

v1.0.7 · active · repository · website · descriptor JSON · versions

An agent can connect on its own if it already holds LINKDIGEST_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Quality75good
Trust96of 100
Uptime, 30 days100%
Latency p50281 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "linkdigest": {
      "type": "http",
      "url": "https://linkdigest.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${LINKDIGEST_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http linkdigest https://linkdigest.dev/mcp --header "Authorization: Bearer ${LINKDIGEST_TOKEN}"
[mcp_servers.linkdigest]
url = "https://linkdigest.dev/mcp"
bearer_token_env_var = "LINKDIGEST_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "linkdigest": {
      "type": "remote",
      "url": "https://linkdigest.dev/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:LINKDIGEST_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "linkdigest": {
      "type": "http",
      "url": "https://linkdigest.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${LINKDIGEST_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=linkdigest&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbGlua2RpZ2VzdC5kZXYvbWNwIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7TElOS0RJR0VTVF9UT0tFTn0ifX0%3D"
}
{
  "servers": {
    "linkdigest": {
      "type": "http",
      "url": "https://linkdigest.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${LINKDIGEST_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "linkdigest": {
      "httpUrl": "https://linkdigest.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${LINKDIGEST_TOKEN}"
      }
    }
  }
}
extensions:
  "linkdigest":
    enabled: true
    name: "linkdigest"
    type: streamable_http
    uri: "https://linkdigest.dev/mcp"
    headers:
      "Authorization": "Bearer ${LINKDIGEST_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${LINKDIGEST_TOKEN}. The registry never accepts secret values.

Quality 75 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations5 of 5 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,847 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes14 tool changes in 30 days
  • fail
    stability.rug_pull1 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvabledeps.dev does not know [email protected]

5 tools, about 1,847 tokens to load them all · tool set 4da6aa27eb6f · tools last changed 2026-10-17 · checked 2026-10-19 10:20 UTC

Tool changes

  • search_linkschangeddescription, input schema
    before

    Find posts on a topic on youtube, x, web (web search scoped to the platform, filtered to links digest_url can read). Free: no credits, 10 searches an hour per key. Returns a numbered list; pass digest: true to read them as one batch and compare them (then compare_links with the batch_id). xiaohongshu and douyin cannot be searched from a server — their search needs a logged-in session — so for those the user opens the search in their own browser and presses the extension's “Digest the notes on this page” button; then list_batches. Needs an API key. Example: query="护肤 早C晚A", platform="youtube", limit=5.

    after · 75% of words in common

    Find posts on a topic on xiaohongshu, youtube, x, web (web search scoped to the platform, filtered to links digest_url can read). Free: no credits, 10 searches an hour per key. Returns a numbered list; pass digest: true to read them as one batch and compare them (then compare_links with the batch_id). xiaohongshu returns the notes the web has indexed, read from their public pages (no login, no session); for the user's own feed or a search the web has not seen, they press the extension's “Digest the notes on this page” button on the page they see, then list_batches. douyin cannot be searched from a server and its links refuse every automated read: the user plays a video in their own tab and presses “Digest this tab”. Needs an API key. Example: query="护肤 早C晚A", platform="xiaohongshu", limit=5.

  • list_batcheschangedinput schema
  • search_linksadded

    Find posts on a topic on youtube, x, web (web search scoped to the platform, filtered to links digest_url can read). Free: no credits, 10 searches an hour per key. Returns a numbered list; pass digest: true to read them as one batch and compare them (then compare_links with the batch_id). xiaohongshu and douyin cannot be searched from a server — their search needs a logged-in session — so for those the user opens the search in their own browser and presses the extension's “Digest the notes on this page” button; then list_batches. Needs an API key. Example: query="护肤 早C晚A", platform="youtube", limit=5.

  • list_batchesadded

    The 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, failed or none). Pass a batch_id to compare_links to read the comparison. Starts nothing, costs nothing. Needs an API key.

  • compare_linkschangeddescription
    before

    Read a set of Xiaohongshu, Douyin, 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 from and checked against it word for word. The first call starts the batch and returns a batch id; call again with batch_id to collect. Needs an API key. Each link is read at its usual price (cached links are free); the comparison is 1 credit per 10 links. Example: urls=["https://xhslink.com/o/a", "https://xhslink.com/o/b"].

    after · 84% of words in common

    Read a set of Xiaohongshu, Douyin, 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 from and checked against it word for word. The first call starts the batch and returns a batch id; call again with batch_id to collect. Needs an API key. Each link is read at its usual price (cached links are free); the comparison is 1 credit per 10 links. Example: urls=["https://xhslink.com/o/a", "https://xhslink.com/o/b"]. After the browser extension's “Digest the notes on this page” button, call list_batches and pass the newest batch_id here.

  • compare_linksadded

    Read a set of Xiaohongshu, Douyin, 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 from and checked against it word for word. The first call starts the batch and returns a batch id; call again with batch_id to collect. Needs an API key. Each link is read at its usual price (cached links are free); the comparison is 1 credit per 10 links. Example: urls=["https://xhslink.com/o/a", "https://xhslink.com/o/b"].

  • digest_urlchangedinput schema
  • digest_urlchangeddescription, input schemameaning changed
    before

    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. Works without an API key for a first look: a summary (title, author, key points, counts), up to two a day per address; the full transcript, per-image text and receipt need a key (free credits on sign-up — see check_balance). 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. Set breakdown to true to also get a teardown of how the post is built (hook, timed beats, reusable template) — useful when the user wants to learn from or remake a post. For a long video (a talk, a course, a podcast), set depth to transcript: the whole transcript with a frame a minute, at about half the per-minute price. A digest says how much of the post it captured and what it did not read (a Coverage section in markdown; `coverage` in json), and backs each key point with a short quote the server checked against the post (`key_point_support` in json, verified true or false).

    after · 42% of words in common

    Read what a social media link actually says. Works on Xiaohongshu, Douyin, TikTok, YouTube, X and ordinary web pages. Returns the post's transcript with times, on-screen text, the text in every image, caption and counts, key points each backed by a quote checked against the post (`key_point_support` in json), and a receipt of what was read (`coverage` in json). Bilibili, Instagram and Facebook are not supported. Works without an API key for a first look (a summary, two a day per address); the full output needs a key — see check_balance. If the result names a job id, call again with job_id only. Example: url="https://v.douyin.com/abc/", ask="推荐了什么产品、多少钱?".

  • check_balanceadded

    How 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.

  • digest_urlchangeddescription
    before

    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. Set breakdown to true to also get a teardown of how the post is built (hook, timed beats, reusable template) — useful when the user wants to learn from or remake a post. For a long video (a talk, a course, a podcast), set depth to transcript: the whole transcript with a frame a minute, at about half the per-minute price. A digest says how much of the post it captured and what it did not read (a Coverage section in markdown; `coverage` in json), and backs each key point with a short quote the server checked against the post (`key_point_support` in json, verified true or false).

    after · 85% of words in common

    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. Works without an API key for a first look: a summary (title, author, key points, counts), up to two a day per address; the full transcript, per-image text and receipt need a key (free credits on sign-up — see check_balance). 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. Set breakdown to true to also get a teardown of how the post is built (hook, timed beats, reusable template) — useful when the user wants to learn from or remake a post. For a long video (a talk, a course, a podcast), set depth to transcript: the whole transcript with a frame a minute, at about half the per-minute price. A digest says how much of the post it captured and what it did not read (a Coverage section in markdown; `coverage` in json), and backs each key point with a short quote the server checked against the post (`key_point_support` in json, verified true or false).

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance85
liveness100
freshness100
hygiene100

+repository +dns-namespace +website +reachable +uptime-100% +updated-11d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

[email protected] PyPIthis version is not known to the dependency resolver

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://linkdigest.dev/mcp streamable-httpapi_key ${LINKDIGEST_TOKEN}yes100%281 ms2025-11-252026-10-19
packageregistryversionruntimesecrets
linkdigest-mcppypi0.2.1uvx

Tools (5)

check_balanceread-onlyHow 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.
compare_linksread-onlyRead a set of Xiaohongshu, Douyin, 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 from and checked against it word for word. The first call starts the batch and returns a batch id; call again with batch_id to collect. Needs an API key. Each link is read at its usual price (cached links are free); the comparison is 1 credit per 10 links. Example: urls=["https://xhslink.com/o/a", "https://xhslink.com/o/b"]. After the browser extension's “Digest the notes on this page” button, call list_batches and pass the newest batch_id here.
digest_urlread-onlyRead what a social media link actually says. Works on Xiaohongshu, Douyin, TikTok, YouTube, X and ordinary web pages. Returns the post's transcript with times, on-screen text, the text in every image, caption and counts, key points each backed by a quote checked against the post (`key_point_support` in json), and a receipt of what was read (`coverage` in json). Bilibili, Instagram and Facebook are not supported. Works without an API key for a first look (a summary, two a day per address); the full output needs a key — see check_balance. If the result names a job id, call again with job_id only. Example: url="https://v.douyin.com/abc/", ask="推荐了什么产品、多少钱?".
list_batchesread-onlyThe 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, failed or none). Pass a batch_id to compare_links to read the comparison. Starts nothing, costs nothing. Needs an API key.
search_linksread-onlyFind posts on a topic on xiaohongshu, youtube, x, web (web search scoped to the platform, filtered to links digest_url can read). Free: no credits, 10 searches an hour per key. Returns a numbered list; pass digest: true to read them as one batch and compare them (then compare_links with the batch_id). xiaohongshu returns the notes the web has indexed, read from their public pages (no login, no session); for the user's own feed or a search the web has not seen, they press the extension's “Digest the notes on this page” button on the page they see, then list_batches. douyin cannot be searched from a server and its links refuse every automated read: the user plays a video in their own tab and presses “Digest this tab”. Needs an API key. Example: query="护肤 早C晚A", platform="xiaohongshu", limit=5.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "dev.linkdigest/linkdigest",
  "title": "LinkDigest — Xiaohongshu, Douyin, TikTok, YouTube to text",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://linkdigest.dev/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "isRequired": true,
          "description": "Bearer token — an API key issued at https://linkdigest.dev/app/keys"
        }
      ]
    }
  ],
  "version": "1.0.7",
  "packages": [
    {
      "version": "0.2.1",
      "transport": {
        "type": "stdio"
      },
      "identifier": "linkdigest-mcp",
      "runtimeHint": "uvx",
      "registryType": "pypi"
    }
  ],
  "repository": {
    "id": "1356180416",
    "url": "https://github.com/jcaiagent7143-ui/linkdigest-mcp",
    "source": "github"
  },
  "websiteUrl": "https://linkdigest.dev",
  "description": "Douyin, Xiaohongshu, TikTok, YouTube, X links to text: transcript, screen text, viral breakdown"
}