LinkDigest — Xiaohongshu, Douyin, TikTok, YouTube to text について
LinkDigestは、ソーシャルメディアやWebページのリンクをLLMが読めるテキストに変換するサービスです。投稿を調べるエージェント向けに、文字起こし、画面内テキスト、画像の説明、原文照合済みの引用を返します。
主な機能
- 01動画の文字起こしと字幕の抽出
- 02画面内テキストと画像内文字の認識
- 03タイトル、キャプション、メタデータの取得
- 04時刻付きコンテンツ要約の作成
- 05翻訳とバズ要因分析の追加
活用シーン
- 01小紅書の画像・テキスト投稿を読む
- 02DouyinやTikTokの動画を整理する
- 03YouTubeの文字起こしと要約を取得する
- 04ソーシャル投稿の引用を検証する
MCP 対応
ホスト型リモートMCPサービスがStreamable HTTP経由で`digest_url`ツールを提供します。リポジトリには、ホスト型エンドポイントへリクエストを転送するPython製stdio MCPサーバーも含まれます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://linkdigest.dev/mcpclaude mcp add --transport http dev-linkdigest-linkdigest https://linkdigest.dev/mcp{"mcpServers":{"dev-linkdigest-linkdigest":{"type":"http","url":"https://linkdigest.dev/mcp"}}}Cursor で開く{"servers":{"dev-linkdigest-linkdigest":{"type":"http","url":"https://linkdigest.dev/mcp"}}}VS Code で開く{"mcpServers":{"dev-linkdigest-linkdigest":{"type":"http","url":"https://linkdigest.dev/mcp"}}}{"mcpServers":{"dev-linkdigest-linkdigest":{"serverUrl":"https://linkdigest.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://linkdigest.dev/mcp認証が必要ツール
2| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| ask | string | いいえ | 投稿をもとに回答する質問。例:"what products and prices does it recommend?"。回答、見つかった内容、およびその根拠となる投稿と照合済みの引用を返します。投稿に記載がない場合、found は false となり、内容を捏造しません。+1 credit。 |
| url | string | いいえ | 投稿リンク、またはリンクを含む共有テキスト。job_id を指定しない場合は必須です。 |
| depth | enum | いいえ | full(デフォルト)、または長い動画には transcript:全文の文字起こしと 1 分ごとのフレーム。2 分ごとに 1 credit が課金され、長さの上限も高くなります。YouTube は常に全編を読み取ります。full | transcript |
| format | enum | いいえ | markdown(デフォルト)または json(構造化形式:`coverage`、`key_point_support`、`answer`、`links` — 投稿が示すリンクとその kind。リンクは開きません)。markdown | json |
| job_id | string | いいえ | url の代わりに、処理中のダイジェストを取得します(url を再送信すると、タスクが再び開始されます)。 |
| breakdown | boolean | いいえ | 投稿の分析(爆款拆解)も行います:フック、時間ごとの展開、タイトルの公式、行動喚起、再利用可能なテンプレート。引用は投稿と照合済みです。+1 credit。 |
| partial_ok | boolean | いいえ | 動画が長いという理由で拒否せず、予算の許す範囲で冒頭部分を読み取り、要約に `partial` を付けます。デフォルトは false です。無料では長い動画を処理しません。 |
| translate_to | string | いいえ | この言語(en、ja、zh-CN)にも翻訳します。原文は保持されます。+1 クレジット。 |
詳細
LinkDigest MCP サーバー
中国語のドキュメント:README.zh-CN.md — Douyin、Xiaohongshu のリンクをテキストに変換します。MCP/Python SDK/コマンドラインに対応し、価格は人民元で表示しています。
AI エージェント向けのソーシャルメディア閲覧レイヤーです。ソーシャルメディアのリンクを、言語モデルが読み取れるテキストに変換します。文字起こし、画面上のテキスト、画像の説明、キャプション、メタデータを提供し、引用は投稿と照合済みです。
ホスト型のリモートサーバー(ストリーミング可能な HTTP)です。インストールも実行も不要です。stdio 専用のクライアントやスクリプト向けには、python/ で依存関係ゼロの Python SDK、linkdigest コマンドライン、ホストされたエンドポイントに転送する linkdigest-mcp stdio サーバーを提供しています。
ウェブサイト: linkdigest.dev · レジストリ: dev.linkdigest/linkdigest
すべてのダイジェストには記録が付属します。読み取った量と、各要点の根拠となる照合済みの引用を確認できます。Muse、Grok Bot、Manus Cue、Hermes、OpenClaw、Claude Code、Cursor で利用できます。linkdigest.dev/connect をご覧ください。まず試す際にキーは必要ありません。
このリポジトリに含まれるもの
オープンソースとして公開されているのは、Python SDK、linkdigest コマンドライン、linkdigest-mcp stdio サーバー(python/、MIT)、Dify プラグインのソース(dify/)、エージェントスキル(skills/)、サンプル、および公式 MCP レジストリのエントリー(server.json)です。https://linkdigest.dev/mcp と API の背後で稼働するホスト型サービスは LinkDigest が運営しており、読み取りエンジンはオープンソースではありません。
問題点
ソーシャルメディアのリンクを自分で取得しても、役立つ情報は得られません。共有 URL にはトークンが付与されており(xsec_token、app_code_link)、コンテンツは HTML ではなく動画や画像に含まれています。また、サーバーは投稿ではなく、アプリのダウンロード画面やログイン画面を返します。
$ curl -sL 'https://xhslink.com/o/1WiQ1QI6Uc0' | grep -o '<title>.*</title>'
<title>小红书 - 你的生活兴趣社区</title>
そのタイトルは36 KBのアプリ用シェルに属しています(2026-10-04 に確認)。キャプションも、画像も、投稿のテキストもありません。
インストール
Claude Code
claude mcp add --transport http linkdigest \
https://linkdigest.dev/mcp \
--header "Authorization: Bearer ld_live_..."
Cursor、プラグインとして — このリポジトリは Cursor プラグインです(.cursor-plugin/plugin.json + mcp.json + skills/)。
cursor.directory からインストールし、シェルでキーを一度設定してください。
export LINKDIGEST_API_KEY=ld_live_...
プラグインの mcp.json は ${LINKDIGEST_API_KEY} を読み込みます。キーはリポジトリに保存されません。キーがなくてもツール一覧は表示されますが、tools/call は取得先を示す401を返します。
Cursor、手動で設定する場合 — ~/.cursor/mcp.json
{
"mcpServers": {
"linkdigest": {
"url": "https://linkdigest.dev/mcp",
"headers": { "Authorization": "Bearer ld_live_..." }
}
}
}
stdio 専用クライアント — 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_..." }
}
}
}
または、PyPI で linkdigest-mcp として公開されている Python サーバー経由(このリポジトリのリリースワークフローでビルドとアップロードを行い、アテステーション付き。uv が必要):
{
"mcpServers": {
"linkdigest": {
"command": "uvx",
"args": ["linkdigest-mcp"],
"env": { "LINKDIGEST_API_KEY": "ld_live_..." }
}
}
}
キーは linkdigest.dev/app/keys で発行できます。初回は無料クレジットが10付与されます(アカウントごとに1回、カード不要)。投稿は1クレジット、動画は1分ごとに1クレジットが追加されます。バイラル分析と翻訳は、それぞれ1クレジットが追加されます。その後は、250クレジットで5ドルの買い切り(Alipay 対応、決済額は36元)、または500クレジットで月額9ドル(カード決済)です。
エージェントスキル(OpenClaw、Hermes、Claude Code、Cursor など)
すぐに使える11個のスキルが skills/ にあります。それぞれ1つのタスクを担い、SKILL.md と、Python標準ライブラリのみを使用するスクリプト1つで構成されています。まず試すのにAPIキーは不要です。LINKDIGEST_API_KEY がない場合、スクリプトは1日1件の無料サマリーを提供します。APIキーがある場合(登録時に無料クレジット10件、カード不要)、完全な文字起こしと画像ごとのテキストを返します。
| スキル | タスク |
|---|---|
xiaohongshu-note-to-text | 小红书の投稿をテキスト化:小红书の投稿、すべての画像内のテキスト、キャプション、統計情報 |
douyin-video-to-text | 抖音の動画をテキスト化:Douyin動画の音声、画面上のテキスト、チャプター |
douyin-search-to-text | 抖音の検索結果をテキスト化:トピックでDouyinを検索(無料)し、選んだ動画を読み取ります |
tiktok-transcript | タイムスタンプとキャプション付きのTikTok動画の文字起こし |
long-video-transcript | 長時間動画をテキスト化:最大2時間の講義やポッドキャスト。2分ごとに1クレジット |
linkdigest-xhs-note-ocr | 小红书の画像投稿。各画像内のテキストも取得します |
linkdigest-video-transcript | Douyin/小红书の動画を文字起こしし、画面上のテキストも取得します |
linkdigest-wechat-article-reader | WeChat 公众号の記事:全文とすべての画像内のテキスト |
linkdigest-youtube-summary | YouTubeのサマリーとタイムスタンプ付きの文字起こし。リクエストに応じて中国語に翻訳します |
linkdigest-xiaohongshu-douyin-reader | 小红书/Douyinの投稿を英語で読み取ります |
linkdigest-viral-breakdown | 話題になった投稿の構成を分析し、引用をソースと照合します |
linkdigest-script-rewrite | 参考動画の台本と構成を抽出し、自分の台本を作成します |
# 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
ツール
digest_url(url, format, job_id, translate_to, breakdown, ask, partial_ok, depth) — 必須なのは url のみです。
| 引数 | 説明 |
|---|---|
url | シェアトークンを含む投稿URLです。 |
format | markdown(デフォルト。読みやすい形式)または json(構造化形式)です。 |
job_id | すでに実行中のダイジェストを取得します。url の代わりに指定してください。urlを再送すると、処理が最初から始まります。 |
breakdown | true にすると、話題になった投稿の分析(爆款拆解)が追加されます。冒頭数秒のフック、時間ごとのビートで示す構成、タイトルのパターン、カバーのテキスト、行動喚起、対象者、再利用可能なテンプレートが含まれます。引用は投稿と一言一句照合され、エンゲージメントとハッシュタグはプラットフォームから取得されます。+1クレジット。 |
translate_to | ISO 639-1コード(en、ja、zh-CN)です。原文に翻訳を併記し、分析も指定言語で作成します。+1クレジット。 |
ask | 投稿の内容について回答する質問です(「おすすめの商品と価格は?」「話者はXと言っていますか?」など)。回答には根拠となる引用が付属し、それぞれ投稿と一言一句照合されます。投稿に記載がない場合、found は false となり、情報は捏造されません。+1クレジット。 |
partial_ok | true にすると、長い動画を拒否する代わりに、利用可能な予算の範囲で冒頭部分を読み取ります。 |
自分で呼び出す必要はありません。ツールの説明では、エージェントが読み取れないソーシャルリンクに遭遇したときはいつでもこのツールを使うよう指示しているため、依頼されなくてもタスクの途中で実行されます。
長い動画は1回の呼び出しで処理が完了しない場合があります。その場合、結果にジョブIDが示されます。job_id を指定し、url は指定せずにツールを再度呼び出すと、結果を取得できます。
返される内容
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。さらに、リクエストされた場合はbreakdownとtranslationも返されます。
特に知っておく価値のあるものが2つあります。
transcript_source—native_captions、asr、gemini_video、noneのいずれかです。プラットフォームがすでに公開している字幕は正確ですが、音声認識はそうとは限りません。gemini_videoは、字幕のないYouTube動画をGeminiが視聴し、文字起こしとタイムスタンプを作成したことを意味します。これらを同じものとして扱うと、聞き間違えた数字を事実として誰かに伝えてしまうことがあります。degraded— うまくいかなかった内容を平易な言葉で示し、完全な読み取りをどのように取得したかのメモ(例:「oEmbed経由で読み取り」「Geminiが動画を直接視聴して読み取り」)も記載します。 あるプロバイダーの障害中に、形式は正しいものの内容が完全に空のダイジェストが返され、30日間キャッシュされたことがあったため、この項目が用意されています。
プラットフォーム
ドキュメントではなく、実際の投稿で確認しています。
| プラットフォーム | 状態 |
|---|---|
| Xiaohongshu 小红书 | 動作します — 画像ノートと動画ノートに対応。ログイン不要 |
| Douyin 抖音 | 動作します — 動画投稿と画像ノート(图文)に対応 |
| TikTok | 動作します — 短縮リンクを解決します。高負荷時はレート制限がかかります |
| YouTube | 動作します — 公開されている場合はネイティブ字幕、それ以外は動画を視聴して文字起こし |
| X | 動作します — 動画または画像付きの投稿に対応 |
| Webページ/記事 | 動作します — 読み取り可能な記事本文、タイトル、著者、日付に対応 |
| Bilibili | 未対応です。 当サーバーのアドレスにHTTP 412を返します。プロキシが必要です |
| 未検証です。 接続されていますが、最初から最後までの動作は確認できていません | |
| 未対応です。 ログアウト状態のリクエストには投稿内容を返しません |
動作しないサービスも、意図的に一覧に含めています。組み込んでから問題に気付くより、あらかじめ知っておく方がよいからです。
所要時間
推定ではなく、実測値です。
- すでにダイジェスト化されたリンク:約1秒 — 一度でも処理されたリンクはキャッシュされ、キャッシュ済みリンクは無料です
- 画像付きのXiaohongshuノート:1〜2分
- 字幕付きのYouTube動画:約2.5分
注意事項
- 音声の文字起こしにはQwen3-ASRを使用しています。同じクリップでWhisperと比較した結果、中国語の聞き間違い(创业 → 创意、900人 → 酒派人)があったため、whisper-large-v3-turboではなくこちらを採用しました。
transcriptは[{t, text}]です。プラットフォームの字幕には、行ごとにタイムスタンプが付いています。現在、音声認識では音声約170秒ごとに1セグメントが返されます(短いクリップではt: 0の単一セグメント)。on_screenには、おおよそのキーフレーム単位のタイムスタンプが記録されます。- メディアを保存したり配信したりすることはありません。一時ディレクトリ内で処理し、リクエストの返却前に削除します。保持されるのはテキストのダイジェストのみです。
- ブロックまたは削除された投稿の場合、エラーページの説明ではなくエラーを返します。
Python SDK とコマンドライン
python/にあります。MITライセンス、Python 3.10以降、標準ライブラリのみを使用します。
pip install linkdigest-mcp # PyPI; or from this repo: pip install "git+https://github.com/jcaiagent7143-ui/linkdigest-mcp#subdirectory=python"
export LINKDIGEST_API_KEY=ld_live_...
linkdigest "https://v.douyin.com/xxxx/" --breakdown # Markdown to stdout
linkdigest capture ./video.mp4 --url "<link>" # a video you already have: sound + frames extracted here, never uploaded
from linkdigest import LinkDigest
d = LinkDigest().digest("https://xhslink.com/o/xxxx", translate_to="en")
print(d.title, d.credits, d.cached)
print(d.markdown)
時間のかかるジョブは自動的に収集されます(GET /api/v1/digest/{jobId}?wait=20)。エラーは型付きです(PaymentRequiredErrorにはbuy_urlが含まれます)。Dify、Coze形式のプラットフォーム向けOpenAPIインポート、Feishu Bitable、CSVへのリンクの例はexamples/にあります(中国語)。
Dify
同じツールをDifyプラグインとしてdify/に用意しています。ソース、マニフェスト、プライバシーポリシーが含まれています。Dify Marketplaceからインストールし、プロバイダーの認証情報にAPIキーを貼り付けてください。
その他の提供内容
REST API(POST https://linkdigest.dev/api/v1/digest)、Webアプリ、大量処理向けのApify Storeアクターも利用できます。linkdigest.devをご覧ください。
ライセンス
MIT — LICENSEをご覧ください。変更内容はCHANGELOG.mdに記載されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
