bilitrack について
bilitrackは、Bilibiliの公開データを取得するCLIおよびMCPサーバーです。ユーザーや投稿、コメントを追跡でき、動画の字幕も任意で取得できます。
主な機能
- 01ユーザー検索とプロフィール表示
- 02動画、動態、記事の一覧取得
- 03フォロー中アカウントの確認
- 04コンテンツのコメントと返信の取得
- 05動画の字幕情報またはテキストの取得
活用シーン
- 01Bilibiliユーザーの最近の投稿を確認
- 02キーワードで投稿者の動画を検索
- 03動画や記事のコメントを読む
- 04動画の字幕を取得
MCP 対応
stdio MCPサーバーは公開Web APIを通じて、Bilibiliユーザーの検索と、ユーザー、動画、記事、動態、コメント、字幕の取得ツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
12掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 返すユーザー数の上限(デフォルトは 20)。 |
| keyword | string | はい | Bilibili ユーザーの検索に使用するキーワード。 |
詳細
bilitrack
bilitrack では、Bilibili のユーザーやコンテンツを追跡できます。ユーザーを検索し、最近投稿した動画、动态、記事を確認できます。また、フォローしているユーザーを確認したり、動画、动态、記事のコメントスレッドを読んだりできます。動画については、リクエストに応じて字幕テキストも取得できます。すべての情報は、Bilibili の公開 Web API から読み取ります。
このパッケージは、BiliStalkerMCP の 12 ツールのリストを、公開されている README の仕様に基づいて一から再構築したものです。
サービスとの通信方法
各ツールは、https://api.bilibili.com/x/... 配下の公開エンドポイントに対応しており、そのエンドポイントの data ペイロードを返します。
# Optional: a logged-in session raises limits and unlocks gated reads.
export SESSDATA="your SESSDATA cookie value"
export BILI_JCT="your bili_jct cookie value (optional)"
export BUVID3="your buvid3 cookie value (optional)"
# Optional override (default: https://api.bilibili.com)
export BILIBILI_API_URL="https://api.bilibili.com"
Cookie の設定は完全に任意です。Cookie が設定されていない場合、リクエストは Cookie なしで送信されます。Bilibili はほとんどの公開情報の読み取りでこれを受け入れるため、SESSDATA がないだけで失敗することはありません。API がゼロ以外の code を返した場合、呼び出しはそのコードとメッセージを伴って失敗します。上流で HTTP エラーが発生した場合は、ステータスと本文の抜粋を報告します。
ユーザー名の解決: ツールは user_id_or_username を受け取ります。数値の場合はユーザーの mid として直接使用します。それ以外の場合はユーザー検索で解決し、ユーザー名が完全一致した場合のみ受け付けます。近似一致の場合は推測せず、エラーになります。
字幕の簡略化: fetch_subtitles を設定すると、get_video_detail はプレーヤー API を使用して字幕トラックを一覧表示し、トラックのメタデータ(subtitle_scope: "metadata")または選択したトラックのテキストを結合したもの(subtitle_lang で指定したトラック、または最初のトラック)を返します。指定されている場合は、テキストを subtitle_max_chars の長さで切り詰めます。完全なプレーヤークライアントのように、複数パートのトラックや AI 生成トラックをつなぎ合わせることはありません。
インストール
npx @reneturcios/bilitrack search_users '{"keyword":"example"}'
または、コンテナイメージを実行します。
docker run -i ghcr.io/cloudcorprecords/bilitrack
コンテナはデフォルトで MCP サーバーとして起動します。CLI として使用するには、CLI 引数を渡してください。
CLI
CLI はツールと同じ構成で、各ツールに対応するサブコマンドがあり、引数を単一の JSON オブジェクトとして受け取ります。
bilitrack search_users '{"keyword":"example","limit":5}'
bilitrack get_user_info '{"user_id_or_username":"12345"}'
bilitrack get_user_snapshot '{"user_id_or_username":"example"}'
bilitrack get_user_videos '{"user_id_or_username":"12345","page":2}'
bilitrack get_video_detail '{"bvid":"BV1xx411c7mD","fetch_subtitles":true,"subtitle_lang":"zh-CN"}'
bilitrack get_content_comments '{"content_type":"video","content_id":"12345","sort":"hot"}'
bilitrack --version
終了コード:成功時は 0、API エラーまたは検証エラー時は 1(エラーの原因を示します)、使用方法のエラー時は 2 です。
MCP サーバー
1 つの実行ファイルで両方の用途に対応します。mcp サブコマンドを実行すると、stdio MCP サーバーが起動します。
npx -y @reneturcios/bilitrack mcp
MCP クライアントの設定:
{
"mcpServers": {
"bilitrack": {
"command": "npx",
"args": ["-y", "@reneturcios/bilitrack", "mcp"],
"env": { "SESSDATA": "your cookie value (optional)" }
}
}
}
ツール
このスキーマでは、すべての ID パラメーターは文字列です。
| ツール | 入力 | 機能 |
|---|---|---|
search_users | keyword(必須)、limit | キーワードでBilibiliユーザーを検索します。 |
get_user_snapshot | user_id_or_username(必須)、video_limit、dynamic_limit、article_limit | Bilibiliユーザーのプロフィール、動画、動的投稿、記事をまとめて取得します。 |
get_user_info | user_id_or_username(必須) | Bilibiliユーザーのプロフィール情報を取得します。 |
get_user_videos | user_id_or_username(必須)、page、limit | Bilibiliユーザーの動画一覧をページ単位で取得します。 |
search_user_videos | user_id_or_username(必須)、keyword(必須)、page、limit | キーワードでBilibiliユーザーの動画を検索します。 |
get_video_detail | bvid(必須)、fetch_subtitles、subtitle_scope、subtitle_page、subtitle_cid、subtitle_mode、subtitle_lang、subtitle_max_chars | BVIDでBilibili動画の詳細を取得します。必要に応じて字幕も取得できます。 |
get_user_dynamics | user_id_or_username(必須)、cursor、limit、dynamic_type | Bilibiliユーザーの動的投稿(フィード投稿)をカーソルでページ分割して一覧表示します。 |
get_user_articles | user_id_or_username(必須)、page、limit | Bilibiliユーザーの記事一覧をページ単位で取得します。 |
get_article_content | article_id(必須。数値またはcvで始まる値) | Bilibili記事の全文を取得します。 |
get_user_followings | user_id_or_username(必須)、page、limit | Bilibiliユーザーがフォローしているアカウントをページ単位で一覧表示します。 |
get_content_comments | content_type(必須)、content_id(必須)、cursor、limit、sort | Bilibiliの動画、動的投稿、記事へのコメントを一覧表示します。 |
get_content_comment_replies | content_type(必須)、content_id(必須)、root_rpid(必須)、page、limit | Bilibiliコンテンツのルートコメント1件に対する返信を一覧表示します。 |
content_typeには、video、article、dynamic、audio、
album、course、または文字列として指定した数値のBilibili返信タイプを指定できます。
開発
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, fake fetch only, no network
npm run dev # run the CLI from source via tsx
ライセンス
MIT — LICENSEを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。